vim高級學(xué)習(xí)

[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ù)制列

  1. ctrl+ v 按列選
  2. jk選中多列
  3. 大A(shift+a)向后修改;shift+I向前修改;d刪除列
  4. esc 退出

10.3、全選

  1. ggvG 全選
  2. shift + v 或者V 可以快速選中一行
  3. 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. :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之間搜索替換;
  2. :10s/from/to/ 表示只在第10行搜索替換;
  3. :%s/from/to/ 表示在所有行中搜索替換;
  4. 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的命令。

十六、參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容