vim是文本編輯器。代碼補完、編譯及錯誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛使用。下面講述一些必要的基本命令,而掌握好這些命令,您就能夠很容易將vim當(dāng)作一個通用的萬能編輯器來使用了。
包含vim的基本介紹、使用模式、文件的打開關(guān)閉保存、插入文本或新建行、移動光標(biāo)、刪除、恢復(fù)字符或行、搜索等等。 vim有3個模式:插入模式、命令模式、低行模式。 插入模式:在此模式下可以輸入字符,按ESC將回到命令模式。 命令模式:可以移動光標(biāo)、刪除字符等。 低行模式:可以保存文件、退出vi、設(shè)置vi、查找等功能(低行模式也可以看作是命令模式里的)。
vi filename //打開filename文件 :w //保存文件 :w cszhi.com //保存至cszhi.com文件 :q //退出編輯器,如果文件已修改請使用下面的命令 :q!//退出編輯器,且不保存 :wq //退出編輯器,且保存文件
a //在當(dāng)前光標(biāo)位置的右邊添加文本 i //在當(dāng)前光標(biāo)位置的左邊添加文本 A //在當(dāng)前行的末尾位置添加文本 I //在當(dāng)前行的開始處添加文本(非空字符的行首) O //在當(dāng)前行的上面新建一行 o //在當(dāng)前行的下面新建一行 R //替換(覆蓋)當(dāng)前光標(biāo)位置及后面的若干文本 J //合并光標(biāo)所在行及下一行為一行(依然在命令模式)
①使用上下左右方向鍵 ②命令模式下: h 向左、j 向下、k 向上、l 向右。 空格鍵向右、Backspace向左、Enter移動到下一行首、-移動到上一行首。
x //刪除當(dāng)前字符 nx //刪除從光標(biāo)開始的n個字符 dd //刪除當(dāng)前行 ndd //向下刪除當(dāng)前行在內(nèi)的n行 u //撤銷上一步操作 U //撤銷對當(dāng)前行的所有操作
/cszhi //向光標(biāo)下搜索cszhi字符串 ?cszhi //向光標(biāo)上搜索cszhi字符串 n //向下搜索前一個搜素動作 N //向上搜索前一個搜索動作
n+//向下跳n行 n-//向上跳n行 nG //跳到行號為n的行 G //跳至文件的底部
:set nu //顯示行號 :set nonu //取消顯示行號
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ù)制從光標(biāo)開始到詞尾的字符 nyw //復(fù)制從光標(biāo)開始的n個單詞 y^ //復(fù)制從光標(biāo)到行首的內(nèi)容 y$ //復(fù)制從光標(biāo)到行尾的內(nèi)容 p //粘貼剪切板里的內(nèi)容在光標(biāo)后,如果使用了前面的自定義緩沖區(qū),建議使用”ap 進行粘貼 P //粘貼剪切板里的內(nèi)容在光標(biāo)前,如果使用了前面的自定義緩沖區(qū),建議使用”aP 進行粘貼
: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
:e otherfilename //編輯文件名為otherfilename的文件
:set fileformat=unix //將文件修改為unix格式,如win下面的文本文件在linux下會出現(xiàn)^M
ctrl+g
number + shift + g 如果沒有輸入number則跳轉(zhuǎn)到末尾。1+shit+g行首。
:set hlsearch “打開高亮搜索 :set nohlsearch “關(guān)閉高亮搜索 :nohl “只取消掉當(dāng)前的搜索高亮
ctrl+u/d 向上/下滾動半屏 ctrl+e/y 向上/下滾動一行 ctrl+b/f 向上/下滾動一屏
b、3b、w、3w:向前/后移動幾個單詞,標(biāo)點也算一個單詞。相應(yīng)的大寫狀態(tài)為不含標(biāo)點,即只把空格和換行符作為單詞間隔符。
命令小結(jié) zc 關(guān)閉當(dāng)前打開的折疊 zo 打開當(dāng)前的折疊 zm 關(guān)閉所有折疊 zM 關(guān)閉所有折疊及其嵌套的折疊 zr 打開所有折疊 zR 打開所有折疊及其嵌套的折疊 zd 刪除當(dāng)前折疊 zE 刪除所有折疊 zj 移動至下一個折疊 zk 移動至上一個折疊 zn 禁用折疊 zN 啟用折疊
zf shift+%
//格式化全文 gg=G
//自動縮進當(dāng)前行
==
//格式化當(dāng)前光標(biāo)接下來的10行 10=j
//格式化當(dāng)前光標(biāo)向上的10行 10=k
//格式化選定的行 v(向上下選擇)
=
gg #跳轉(zhuǎn)到文件首行 = #應(yīng)用縮進格式 G #直到文件結(jié)束 2.17 在函數(shù)中移動光標(biāo)(命令模式) [{ 轉(zhuǎn)到上一個位于第一列的”{” }] 轉(zhuǎn)到下一個位于第一列的”{” { 轉(zhuǎn)到上一個空行 } 轉(zhuǎn)到下一個空行 gd 轉(zhuǎn)到當(dāng)前光標(biāo)所指的局部變量的定義 * 轉(zhuǎn)到當(dāng)前光標(biāo)所指的單詞下一次出現(xiàn)的地方
轉(zhuǎn)到當(dāng)前光標(biāo)所指的單詞上一次出現(xiàn)的地方
新聞熱點
疑難解答