[TOC]
vim常用操作命令及快捷鍵,歡迎一起補充完善~
一、打開、保存、關(guān)閉文件
- :w 保存文件
- :w vpser.net 保存至vpser.net文件
- :q 退出編輯器,如果文件已修改請使用下面的命令
- :q! 退出編輯器,且不保存
- :wq 退出編輯器,且保存文件
二、保存文件
- :w 要保存文件路徑 可以保存文件到指定路徑下
三、移動
3.1、字符間跳轉(zhuǎn)
- j 下移一行
- k 上移一行
- h 左移一個字符
- l 右移一個字符
- 空格鍵 向右
- Backspace 向左
- Enter 移動到下一行首
-
-移動到上一行首 - shift + 6 跳轉(zhuǎn)到行首
- shift + 4 跳轉(zhuǎn)到行尾
3.2、單詞間跳轉(zhuǎn)
- w:跳轉(zhuǎn)至下一個單詞或后一個單詞的詞首
- e:跳轉(zhuǎn)至當(dāng)前或下一個單詞的詞尾
- b:跳轉(zhuǎn)至當(dāng)前或上一個單詞的詞首
-
#COMMAND由#指定一次跳轉(zhuǎn)的單詞數(shù)
四、跳轉(zhuǎn)
- n+ 向下跳n行
- n- 向上跳n行
- nG 跳到行號為n的行
- gg 跳轉(zhuǎn)到文件頭
- shift + g 跳轉(zhuǎn)到文件末尾
- G 跳至文件的底部
- :n 代表跳轉(zhuǎn)到第n行,如:79 就跳轉(zhuǎn)到第79行
五、設(shè)置行號
- :set nu 顯示行號
- :set nonu 取消顯示行號
六、翻屏
- ctrl + f 下翻一屏
- ctrl + b 上翻一屏
- ctrl + d 下翻半屏
- ctrl + u 上翻半屏
- ctrl + e 向下滾動一行
- ctrl + y 向上滾動一行
七、插入
- a 在當(dāng)前光標位置的右邊添加文本
- i 在當(dāng)前光標位置的左邊添加文本
- A 在當(dāng)前行的末尾位置添加文本
- I 在當(dāng)前行的開始處添加文本(非空字符的行首)
- O 在當(dāng)前行的上面新建一行 OR shift + o
- o 在當(dāng)前行的下面新建一行
- R 替換(覆蓋)當(dāng)前光標位置及后面的若干文本
- J 合并光標所在行及下一行為一行(依然在命令模式)
八、刪除、恢復(fù)
- x 刪除當(dāng)前字符
- nx 刪除從光標開始的n個字符
- dd 刪除當(dāng)行
- ndd 向下刪除當(dāng)前行在內(nèi)的n行
- dw 從光標當(dāng)前的位置開始刪除,直到刪到單詞最后
- daw deletea a word 刪除一整個單詞
- u 撤銷上一步操作
- ctrl + r 恢復(fù)上一步被撤銷的操作
- U 撤銷對當(dāng)前行的所有操作
8.1、跨行多字符刪除
- v (visual)模式,jkhl跨行選中字符
- shift + 4/6 光標到行尾/首
- d 刪除
九、查找
- 光標停留在單詞字母上,輸入 shift + * 可快速選中該單詞,通過n或者N進行上一個或下一個的匹配
- shift+4/6 行首/尾
- shift+{/} 代碼塊首/尾
十、復(fù)制/粘貼
10.1、基本復(fù)制
- yy 將當(dāng)前行復(fù)制到緩沖區(qū),也可以用'ayy'復(fù)制,a為緩沖區(qū),a也可以替換為a到z的任意字母,可以完成多個復(fù)制任務(wù)
- nyy 將當(dāng)前行向下n行復(fù)制到緩沖區(qū),也可以用 "anyy 復(fù)制,"a 為緩沖區(qū),a也可以替換為a到z的任意字母,可以完成多個復(fù)制任務(wù)
- yw 復(fù)制從光標開始到詞尾的字符
- nyw 復(fù)制從光標開始的n個單詞
- y^ 復(fù)制從光標到行首的內(nèi)容
- y$ 復(fù)制從光標到行尾的內(nèi)容
- p 粘貼剪切板里的內(nèi)容在光標后,如果使用了前面的自定義緩沖區(qū),建議使用"ap 進行粘貼
- P 粘貼剪切板里的內(nèi)容在光標前,如果使用了前面的自定義緩沖區(qū),建議使用"aP 進行粘貼
- v進入待處理,yy復(fù)制,p粘貼
- v進入待處理,shift + 4 行尾 選中行內(nèi)容進行復(fù)制;shift + 6 行首 選中行內(nèi)容進行復(fù)制
10.2、復(fù)制列
- ctrl+ v 按列選
- jk選中多列
- 大A(shift+a)向后修改;shift+I向前修改;d刪除列
- esc 退出
10.3、全選
- ggvG 全選
- shift + v 或者V 可以快速選中一行
- gv 回到之前選中的文本塊
10.4、選擇一個單詞
快速選中一個單詞,按v按e即可
十一、替換
表達式:[range]s/from/to/[flags]
- :s/old/new 用new替換行中首次出現(xiàn)的old
- :s/old/new/g 用new替換行中所有的old
- :n,m s/old/new/g 用new替換從n到m行里所有的old
- :%s/old/new/g 用new替換當(dāng)前文件里所有的old
11.1、例子
- :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之間搜索替換;
- :10s/from/to/ 表示只在第10行搜索替換;
- :%s/from/to/ 表示在所有行中搜索替換;
- 1,$s/from/to/ 同上
十二、搜索
- /vpser //向光標下搜索vpser字符串,vpser可以是正則表達式
- ?vpser //向光標上搜索vpser字符串
- n //向下搜索前一個搜素動作
- N //向上搜索前一個搜索動作
- *(#) //當(dāng)光標停留在某個單詞上時, 輸入這條命令表示查找與該單詞匹配的下(上)一個單詞. 同樣, 再輸入 n 查找下一個匹配處, 輸入 N 反方向查找.
- g*(g#) //此命令與上條命令相似, 只不過它不完全匹配光標所在處的單詞, 而是匹配包含該單詞的所有字符串.
- ^search 要查找僅出現(xiàn)在行首的search
- search$ 要查找僅出現(xiàn)在行尾的search
十三、編輯其他文件
- :e otherfilename 編輯文件名為otherfilename的文件
十四、修改文件格式
- :set fileformat=unix 將文件修改為unix格式,如win下面的文本文件在linux下會出現(xiàn)^M
十五、查找?guī)椭?/h1>
當(dāng)你不知道怎么處理時,直接輸入help可以看到幫助文檔的起點,ZZ是退出或者:q,不建議使用
查找關(guān)于某個字母的命令 :help x 查找關(guān)于x的命令。