vim命令浩如煙雲,我們很難精通所有命令,在實際工作中我們常用的命令也就那麼幾十個。文字整理了工作中常用的vim命令,掌握了以下命令就基本滿足我們工作需要。
我們經常使用vim file 命令開啟乙個檔案,同時我們也可以使用vim file1 file2 file3 ...開啟多個檔案。
如果我們已經開啟了某個檔案file1,使用 :open file2 在新視窗中開啟其他檔案。這個時候我們只是看得到file2,使用 :split file1 命令可以分割當前視窗顯示file1。
:bn 切換到下乙個檔案
:bp 切換到上乙個檔案
:args 檢視當前開啟的檔案列表,正在編輯的會用方括號擴起來。
上面提到使用split用新視窗開啟檔案,但是視窗都是橫向的,使用vsplit可以縱向開啟視窗。
使用crtl+ww 移動游標到下乙個視窗
使用crtl+wj 移動游標到下方視窗
使用trl+wk 移動游標到上方視窗
使用 :close 關閉視窗,為防止誤操作,最後乙個視窗不能使用這個命令關閉。
使用 zz (注意是大寫的)儲存並關閉除當前視窗外的所有其他視窗。
在視窗中我們可以使用一些命令來輔助我們進行一些操作
命令格式: :!command
例如::!pwd 檢視當前檔案路徑
:!ls -al 檢視當前路徑下的檔案
:!php file.php 執行某個php指令碼
:suspend或ctr+z(注意是大寫的)可以掛起vim,使用fg可以返回到vim。
php**使用//注釋**,在vim中可以快速注釋某些行。
:20,40 s/^/\/\/ 注釋20到40行
:20,40 s/^\/\/ 取消20到40行的注釋
:1,$ s/^/\/\/ 注釋整個文件
:1,$ s/^\/\/ 取消整個文件的注釋
:% s/^/\/\/ 注釋整個文件
:% s/^\/\/ 取消整個文件的注釋
i 在當前位置前插入
a 在當前位置後插入
i 在當前行首插入
a 在當前行尾插入
o 在當前行的下一行插入新行
o 在當前行的上一行插入新行
關於搜尋的一些設定:
:set ignorecase 設定忽略大小寫
:set noignorecase 設定不忽略大小寫
如果某個詞太長,不便拼寫,可將游標移到這個詞上,然後按*或#可以對該詞進行搜尋,相當於/text搜尋
:set hlsearch 高亮搜尋結果,所有匹配的字元都高亮
:set nohlsearch 關閉高亮顯示
:nohlsearch 關閉當前高亮顯示,如果重新搜尋或按n或n鍵則會在此高亮
:set incsearch 逐步所搜模式,對當前輸入的字元進行搜尋,而不必等字元輸完
u 撤銷
u 撤銷對正航的的操作
ctr+r 重做。
ra 把當前游標所在字元替換成a。
:s/old/new/ 把當前所在行中第乙個匹配的old字串用new字串替換
:s/old/new/g 把當前所在行中所有匹配old的字串替換成new
:%s/old/new/ 用new替換old,替換所有行中第乙個匹配的字串
:%s/old/new/g 用new替換old,替換文字中所有滿足的字串
:10,20 s/^/ /g 在第10行到20行每行行首加四個空格。
ddp 交換游標所在行和其下緊鄰的一行。
h 向左移動乙個字元
l 向右移動乙個字元
j 向下移動一行
k 向上移動一行
個人覺得使用h、l、j、k還不如直接使用四個方向鍵更直接些。
在vim中很多命令可以結合數字使用,比如20h表示向左移動20個字元,
w 向後移動乙個單詞
b 向前移動乙個單詞
e 同w,只不過游標停留在單詞尾部
^ 移動到本行行首非空白字元上
0(數字0) 移動到本行行首第乙個字元上
$ 移動到本行行尾,3$移動到下面3行行尾
gg 移動到檔案頭部
g 移動到檔案尾部
:50 移動到第50行
ctrl+e 向下滾動一行
ctrl+y 向上滾動一行
ctrl+d 向下滾動半屏
ctrl+u 向上滾動半屏
ctrl+f 向下滾動一屏
ctrl+b 向上滾動一屏
x 刪除當前字元,等同dl,3x刪除當前位置起的三個字元
x 刪除當前字元的前乙個字元,等同dh
dd 刪除當前行
dj 刪除上一行
dk 刪除下一行
10d 刪除當前行開始的10行
d 刪除當前位置至行尾,等同d$
kdgg 刪除當前之前的所有行,不包括當前行
jdg 刪除當前行後的所有行,不包括當前行
:1,10d 刪除1~10行
:11,$ 刪除11行及以後的所有行
:1,$ 刪除文件中的所有行,等同於dg
j 刪除兩行之間的空行
yy 複製當前行
3yy 拷貝當前行開始的3行,nyy表示從當前行開始拷貝n行(包括當前行)
p 在當前游標之後貼上,如果拷貝的行就在當前行的下一行開始貼上
p 在當前行前一行貼上
:1,20 co 30 把第一行到20行插入到第30行後
:1,$ co $ 把檔案複製乙份並追加到末尾
進入檢視模式移動游標即可選中文字,按p鍵複製選中的文字
xp 交換當前字元和其後的乙個字元
進入檢視模式移動游標即可選中文字,按d鍵剪下選中的文字
3dd 從當前行開始剪下3行
:1,10d 剪下1到10行
:1,10 m 20 將1到10行移到20行後
:wq 儲存並退出
:x 儲存並退出
:q! 強制退出並放棄所有修改
:e! 放棄所有修改並重新開啟檔案
本文參考:
VIM常用命令整理
1 移動游標 上下左右 四個方向箭頭或k j h l 上下翻頁 pageup,pagedn 文首文尾 gg跳到文件起始位置,g跳到末尾位置 行首行尾 home跳到行首,end跳到行尾 到指定行 esc進入命令模式,ngg,如果沒有顯示行號,set number,取消顯示行號,set nonumber...
Vim 模式及常用命令整理
vim 命令 以 和 開頭的命令都有歷史紀錄,可以首先鍵入 或 然後按上下箭頭來選擇某個歷史命令。vim的模式 基本上可以分為3種模式,分別是命令模式 command mode 插入模式 insert mode 和底行模式 last line mode 下圖所示為vim各種模式相互轉換的關係圖。插入...
vim 命令 Vim常用命令
4.編輯 我發現膝上型電腦接外接鍵盤以後,使用觸控板和操作滑鼠都變得比較麻煩,所以想要學習一下vim,寫一篇筆記記錄常用命令。基本上vim共分為三種模式,分別是命令模式 command mode 輸入模式 insert mode 和底線命令模式 last line mode 啟動vim,便進入了命令...