版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VIM命令大全2009-07-02 10:50 A.M. 光標(biāo)控制命令命令 光標(biāo)移動(dòng)h 向左移一個(gè)字符j 向下移一行k 向上移一行l(wèi) 向右移一個(gè)字符G 移到文件的最后一行w 移到下一個(gè)字的開頭W 移到下一個(gè)字的開頭,忽略標(biāo)點(diǎn)符號b 移到前一個(gè)字的開頭B 移到前一個(gè)字的開頭,忽略標(biāo)點(diǎn)符號L 移到屏幕的最后一行M 移到屏幕的中間一行H 移到屏幕的第一行e 移到下一個(gè)字的結(jié)尾E 移到下一個(gè)字的結(jié)尾,忽略標(biāo)點(diǎn)符號( 移到句子的開頭) 移到句子的結(jié)尾 移到段落的開頭 移到下一個(gè)段落的開頭0(數(shù)字), | 移到當(dāng)前行的第一列 移到當(dāng)前行的第一個(gè)非空字符$ 移到當(dāng)前行的最后一個(gè)字符+, Enter 移到下一
2、行的第一個(gè)字符- 移到前一行的第一個(gè)非空字符在 vi 中添加文本命令 插入動(dòng)作a 在光標(biāo)后插入文本A 在當(dāng)前行插入文本i 在光標(biāo)前插入文本I 在當(dāng)前行前插入文本o 在當(dāng)前行的下邊插入新行O 在當(dāng)前行的上邊插入新行s 刪除光標(biāo)所在處字符,并進(jìn)入插入模式S 刪除光標(biāo)所在的行,并進(jìn)入插入模式:r file 讀入文件 file 內(nèi)容,并插在當(dāng)前行后:nr file 讀入文件 file 內(nèi)容,并插在第 n 行后Esc 回到命令模式v char 插入時(shí)忽略 char 的指定意義,這是為了插入特殊字符在 vi 中刪除文本命令 刪除操作x 刪除光標(biāo)處的字符dw 刪至下一個(gè)字的開頭dG 刪除行,直到文件結(jié)束dd
3、 刪除整行db 刪除光標(biāo)前面的字:n,md 從第 m 行開始往前刪除 n 行d, d$ 從光標(biāo)處刪除到行尾h, backspace 插入時(shí),刪除前面的字符w 插入時(shí),刪除前面的字修改 vi 文本每個(gè)命令前面的數(shù)字表示該命令重復(fù)的次數(shù)命令 替換操作rchar 用 char 替換當(dāng)前字符R text escape 用 text 替換當(dāng)前字符直到按下 Esc 鍵stext escape 用 text 代替當(dāng)前字符S 或 cctext escape 用 text 代替整行cwtext escape 將當(dāng)前字改為 textCtext escape 將當(dāng)前行余下的改為 textcG escape 修改至文
4、件的末尾ccursor_cmd text escape 從當(dāng)前位置處到光標(biāo)命令位置處都改為 text在 vi 中查找與替換命令 查找與替換操作/text 在文件中向前查找 text?text 在文件中向后查找 textn 在同一方向重復(fù)查找N 在相反方向重復(fù)查找ftext 在當(dāng)前行向前查找 textFtext 在當(dāng)前行向后查找 textttext 在當(dāng)前行向前查找 text,并將光標(biāo)定位在 text 的第一個(gè)字符Ttext 在當(dāng)前行向后查找 text,并將光標(biāo)定位在 text 的第一個(gè)字符:set ic 查找時(shí)忽略大小寫:set noic 查找時(shí)對大小寫敏感:ranges/pat1/pat2/
5、g 用 newtext 替換 oldtext:m,ns/oldtext/newtext 在 m 行通過 n,用 newtext 替換 oldtext& 重復(fù)最后的 :s 命令:g/text1/s/text2/text3 查找包含 text1 的行,用 text3 替換 text2:g/text/command 在所有包含 text 的行運(yùn)行 command 所表示的命令:v/text/command 在所有不包含 text 的行運(yùn)行 command 所表示的命令在 vi 中復(fù)制文本命令 復(fù)制操作yy 將當(dāng)前行的內(nèi)容放入臨時(shí)緩沖區(qū)nyy 將 n 行的內(nèi)容放入臨時(shí)緩沖區(qū)p 將臨時(shí)緩沖區(qū)中的文本放入
6、光標(biāo)后P 將臨時(shí)緩沖區(qū)中的文本放入光標(biāo)前(a-z)nyy 復(fù)制 n 行放入名字為圓括號內(nèi)的可命名緩沖區(qū),省略 n 表示當(dāng)前行(a-z)ndd 刪除 n 行放入名字為圓括號內(nèi)的可命名緩沖區(qū),省略 n 表示當(dāng)前行(a-z)p 將名字為圓括號的可命名緩沖區(qū)的內(nèi)容放入當(dāng)前行后(a-z)P 將名字為圓括號的可命名緩沖區(qū)的內(nèi)容放入當(dāng)前行前在 vi 中撤消與重復(fù)命令 撤消操作u 撤消最后一次修改U 撤消當(dāng)前行的所有修改. 重復(fù)最后一次修改, 以相反的方向重復(fù)前面的 f、F、t 或 T 查找命令; 重復(fù)前面的 f、F、t 或 T 查找命令np 取回最后第 n 次的刪除(緩沖區(qū)中存有一定次數(shù)的刪除內(nèi)容,一般為
7、9)n 重復(fù)前面的 / 或 ? 查找命令N 以相反方向重復(fù)前面的 / 或 ? 命令保存文本和退出 vi命令 保存和/或退出操作:w 保存文件但不退出 vi:w file 將修改保存在 file 中但不退出 vi:wq 或 ZZ 或 :x 保存文件并退出 vi:q! 不保存文件,退出 vi:e! 放棄所有修改,從上次保存文件開始再編輯vi 中的選項(xiàng)選項(xiàng) 作用:set all 打印所有選項(xiàng):set nooption 關(guān)閉 option 選項(xiàng):set nu 每行前打印行號:set showmode 顯示是輸入模式還是替換模式:set autoindent 繼承前一行的縮進(jìn)方式,特別適用于多行注釋:s
8、et smartindent 為C程序提供自動(dòng)縮進(jìn):set list 顯示制表符(I)和行尾符號:set ts=8 為文本輸入設(shè)置 tab stops:set window=n 設(shè)置文本窗口顯示 n 行:set number 顯示行數(shù):set nonumber 取消顯示行數(shù)vi 的狀態(tài)選項(xiàng) 作用:.= 打印當(dāng)前行的行號:= 打印文件中的行數(shù)ctrl+g 顯示文件名、當(dāng)前的行號、文件的總行數(shù)和文件位置的百分比:l 使用字母 l 來顯示許多的特殊字符,如制表符和換行符在文本中定位段落和放置標(biāo)記選項(xiàng) 作用 在第一列插入 來定義一個(gè)段落 回到段落的開頭處 向前移到下一個(gè)段落的開頭處m(a-z) 用一個(gè)
9、字母來標(biāo)記當(dāng)前位置,如用 mz 表示標(biāo)記 z(a-z) 將光標(biāo)移動(dòng)到指定的標(biāo)記,如用 z 表示移動(dòng)到 z在 vi 中連接行選項(xiàng) 作用J 將下一行連接到當(dāng)前行的末尾nJ 連接后面 n 行光標(biāo)放置與屏幕調(diào)整選項(xiàng) 作用H 將光標(biāo)移動(dòng)到屏幕的頂行nH 將光標(biāo)移動(dòng)到屏幕頂行下的第 n 行M 將光標(biāo)移動(dòng)到屏幕的中間L 將光標(biāo)移動(dòng)到屏幕的底行nL 將光標(biāo)移動(dòng)到屏幕底行上的第 n 行e(ctrl+e) 將屏幕上滾一行ctrl+y 將屏幕下滾一行ctrl+u 將屏幕上滾半頁ctrl+d 將屏幕下滾半頁ctrl+b 將屏幕上滾一頁ctrl+f 將屏幕下滾一頁ctrl+l 重繪屏幕z-return 將當(dāng)前行置為屏幕
10、的頂行nz-return 將當(dāng)前行下的第 n 行置為屏幕的頂行z. 將當(dāng)前行置為屏幕的中央nz. 將當(dāng)前行上的第 n 行置為屏幕的中央z- 將當(dāng)前行置為屏幕的底行nz- 將當(dāng)前行上的第 n 行置為屏幕的底行vi 中的 shell 轉(zhuǎn)義命令選項(xiàng) 作用:!command 執(zhí)行 shell 的 command 命令,如 :!ls:! 執(zhí)行前一個(gè) shell 命令:r!command 讀取 command 命令的輸入并插入,如 :r!ls 會先執(zhí)行 ls,然后讀入內(nèi)容:w!command 將當(dāng)前已編輯文件作為 command 命令的標(biāo)準(zhǔn)輸入并執(zhí)行 command 命令,如 :w!grep all:cd
11、 directory 將當(dāng)前工作目錄更改為 directory 所表示的目錄:sh 將啟動(dòng)一個(gè)子 shell,使用 d(ctrl+d) 返回 vi:so file 在 shell 程序 file 中讀入和執(zhí)行命令vi 中的宏與縮寫(避免使用控制鍵和符號,不要使用字符 K、V、g、q、v、*、= 和功能鍵)選項(xiàng) 作用:map key command_seq 定義一個(gè)鍵來運(yùn)行 command_seq,如 :map e ea,無論什么時(shí)候都可以 e 移到一個(gè)字的末尾來追加文本:map 在狀態(tài)行顯示所有已定義的宏:umap key 刪除該鍵的宏:ab string1 string2 定義一個(gè)縮寫,使得
12、當(dāng)插入 string1 時(shí),用 string2 替換 string1。當(dāng)要插入文本時(shí),鍵入 string1 然后按 Esc 鍵,系統(tǒng)就插入了 string2:ab 顯示所有縮寫:una string 取消 string 的縮寫在 vi 中縮進(jìn)文本選項(xiàng) 作用ctrl+i或 tab 插入文本時(shí),插入移動(dòng)的寬度,移動(dòng)寬度是事先定義好的:set ai 打開自動(dòng)縮進(jìn):set sw=n 將移動(dòng)寬度設(shè)置為 n 個(gè)字符n 使 n 行都向右移動(dòng)一個(gè)寬度,例如 3 就將接下來的三行每行都向右移動(dòng)一個(gè)移動(dòng)寬度:.,+3 s/#/g 注釋從當(dāng)前行起的后三行(不含當(dāng)前行)vi替換命令用法詳解:引用:ranges/pat
13、1/pat2/g 其中 : 這是Vi的命令執(zhí)行界面。 range 是命令執(zhí)行范圍的指定,可以使用百分號(%)表示所有行,使用點(diǎn)(.)表示當(dāng)前行,使用美元符號($)表示最后一行。你還可以使用行號,例如10,20表 示第10到20行,.,$表示當(dāng)前行到最后一行,.+2,$-5表示當(dāng)前行后兩行直到全文的倒數(shù)第五行,等等。 s 表示其后是一個(gè)替換命令。pat1 這是要查找的一個(gè)正則表達(dá)式,這篇文章中有一大堆例子。pat2 這是希望把匹配串變成的模式的正則表達(dá)式,這篇文章中有一大堆例子。 g 可選標(biāo)志,帶這個(gè)標(biāo)志表示替換將針對行中每個(gè)匹配的串進(jìn)行,否則則只替換行中第一個(gè)匹配串。vi常用操作(較全)1)文
14、件操作 vi FileName 打開文件 FileName,并將光標(biāo)置于第一行首。 vi +n FileName 打開文件 FileName,并將光標(biāo)置于第 n 行首。 vi + FileName 打開文件 FileName,并將光標(biāo)置于最后一行。 vi + /pattern File 打開文件 File,并將光標(biāo)置于其中第一個(gè)于 pattern 匹配的字符串處。 vi r FileName 在上次正用 vi 編輯 FileName 發(fā)生系統(tǒng)崩潰后,恢復(fù)FileName。 vi File1 Filen 打開多個(gè)文件,依次對之進(jìn)行編輯。 :%!xxd 按十六進(jìn)制查看當(dāng)前文件 :%!xxd -r
15、從十六進(jìn)制返回正常模式 :n1,n2 co n3 將 n1 行到 n2 行之間的內(nèi)容拷貝到第 n3 行下。 :n1,n2 m m3 將 n1 行到 n2 行之間的內(nèi)容移至第 n3 行下。 :n1,n2 d 將 n1 行到 n2 行之間的內(nèi)容刪除。 :n1,n2 w filename 將 n1 行到 n2 行之間的內(nèi)容保存到文件 filename 中 :n1,n2 w! Command 將文件中n1行到n2行的內(nèi)容作為 Command的輸入并執(zhí)行之, 若不指定 n1、n2,則將整個(gè)文件內(nèi)容作為 Command 的輸入。 :r! Command 將命令 Command 的輸出結(jié)果放到當(dāng)前行。 :n
16、r 把插入到第n行 :so 讀取,再執(zhí)行文件里面的命令(文件中的命令應(yīng)該都是一些ex命令) :l1,l2w 把第l1和第l2行之間的文本寫到中去 :w 添加到末尾. 也可以使用行號 :e! 重新編輯當(dāng)前文件,忽略所有的修改 (、)對應(yīng)顯示 % 顯示當(dāng)前(、 、 、)的對應(yīng)項(xiàng) ) 顯示對應(yīng)的( ) 顯示對應(yīng)的 顯示對應(yīng)的 (、)內(nèi)數(shù)據(jù)選擇 daB 刪除及其內(nèi)的內(nèi)容 (在非v可視模式下) diB 刪除中的內(nèi)容 ab 選擇()中的內(nèi)容 ib 選擇()中的內(nèi)容( 不含() ) aB 選擇中的內(nèi)容 iB 選擇中的內(nèi)容( 不含 ) 語法提示與自動(dòng)補(bǔ)齊 插入模式下的單詞自動(dòng)完成 行自動(dòng)完成(超級有用) 設(shè)置
17、ctags #ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src /usr/src/kernels/2.6.9-5.EL-i686 p 自動(dòng)補(bǔ)齊上下文已有相近項(xiàng) n 自動(dòng)補(bǔ)齊/.tags中的相近函數(shù) 顯示/.tags中的光標(biāo)下的函數(shù)的原型, 按t退出函數(shù) :pta 函數(shù)名 預(yù)覽窗口快速打開相應(yīng)函數(shù)所在文件,并將光標(biāo)定位在對應(yīng)函數(shù)的開頭 K 顯示光標(biāo)下的C函數(shù)的man說明手冊 變量定位 gd 轉(zhuǎn)到光標(biāo)下局部變量的定義處 Gd 轉(zhuǎn)到光標(biāo)下全局變量的定義處 編譯選項(xiàng) :cn 命令會把你帶到下一個(gè)出錯(cuò)地點(diǎn),而不考慮它在什么文件里。 :c
18、c 命令會向你顯示當(dāng)前錯(cuò)誤的編譯器輸出信息; :cl 會生成一個(gè)列有項(xiàng)目所有錯(cuò)誤的列表,以供瀏覽這些錯(cuò)誤 3光標(biāo)移動(dòng) 字符 h 光標(biāo)左移一個(gè)字符。 l 光標(biāo)右移一個(gè)字符。 字 w 或 W 光標(biāo)右移一個(gè)字至字首。 B 或 b 光標(biāo)左移一個(gè)字至字首。 E 或 e 光標(biāo)右移一個(gè)字至字尾。 句 光標(biāo)移至句尾。 ( 光標(biāo)移至句首。 段) 光標(biāo)移至段落開頭。 光標(biāo)移至段落結(jié)尾。 行k 或 Ctrl+p 光標(biāo)上移一行。 j 或 Ctrl+n 光標(biāo)下移一行。 Enter 光標(biāo)下移一行。 nG 光標(biāo)移至第 n 行首。 n+ 光標(biāo)下移 n 行。 n- 光標(biāo)上移 n 行。 n$ 光標(biāo)移至第 n 行尾。 0 光標(biāo)移至
19、當(dāng)前行首。 $ 光標(biāo)移至當(dāng)前行尾。 屏幕 H 光標(biāo)移至屏幕頂行。 M 光標(biāo)移至屏幕中間行。 L 光標(biāo)移至屏幕最后行。 Ctrl+u 向文件首翻半屏。 Ctrl+d 向文件尾翻半屏。 Ctrl+f 向文件尾翻一屏。 Ctrl+b 向文件首翻一屏。 nz 將第 n 行滾至屏幕頂部。不指定 n 時(shí)將當(dāng)前行滾至屏幕頂。 4插入 # 在文件中插入行號(不是顯示行號,是插入!) :g/exec s/.strpart(line(.). , 0, 4) 光標(biāo) i 在光標(biāo)前插入。 a 在光標(biāo)后插入。 行 I 在當(dāng)前行首插入。 A 在當(dāng)前行尾插入。 o 在當(dāng)前行之下一新行插入。 O 在當(dāng)前行之上新開一行插入。 5
20、)替換 r 替換當(dāng)前字符。 R 替換當(dāng)前字符及其后的字符,直至按 ESC 鍵。 s 從當(dāng)前光標(biāo)位置處開始,以輸入的文本代替指定數(shù)目的字符。 S 刪除指定數(shù)目的行,并以所輸入的文本代替。 6)修改 ncw 或 nCW 修改指定數(shù)目的字符。 nCC 修改指定數(shù)目的行。 :r filename 將文件 filename 插入在當(dāng)前行之下 7)查找替換 / 把狹義單詞 寫到 搜索命令 行 / 把廣義單詞 寫到 搜索命令 行 :g/str/s/str1/str2/g 第一個(gè)g表示對每一個(gè)包括s1的行都進(jìn)行替換, 第二個(gè)g表示對每一行的所有進(jìn)行替換 包括str的行所有的str1都用str2替換 :%s/f
21、 $/for$/g 將每一行尾部的“f ”(f鍵和空格鍵)替換為for :%s/mv /g 在每一行的頭部添加“mv ”(mv鍵和空格鍵) :s/fred/a/g 替換fred成register a中的內(nèi)容,呵呵 :g/input|form/p 顯示含input或form的行 # 替換一個(gè)visual區(qū)域 # 選擇一個(gè)區(qū)域,然后輸入 :s/Emacs/Vim/ 等等,vim會自動(dòng)進(jìn)入:模式 :s/Emacs/Vim/g 前面的是vim自動(dòng)添加的 # 在多個(gè)文檔中搜索 :bufdo /searchstr :argdo /searchstr 復(fù)制與剪切 xp 交換前后兩個(gè)字符的位置 ddp 上下兩
22、行的位置交換 :g/fred/t$ 拷貝行,從fred到文件末尾(EOF) 9)窗口操作 :vne filename :sp filename :S filename :new filename :w + r 交換兩個(gè)窗口的位置 w = 窗口等寬 :res -n 窗口高度減小n :res +n 窗口高度增大n :vert res -n :vert res +n 10)DOS格式文本轉(zhuǎn)成Unix格式文本 :1,$s/M/g 11)書簽 在閱讀和編寫大的程序文件時(shí),利用標(biāo)記(書簽)功能定位是十分有幫助的。 將光標(biāo)移到想做標(biāo)記的位置。假如做一個(gè)名為“debug1”的標(biāo)記,那么用戶可在命令模式下輸入做
23、標(biāo)記的命令“mdebug1”,然后敲入回車鍵,一個(gè)名為“debug1”的標(biāo)記就做好了。 接下來用戶可以隨意將光標(biāo)移到其它的位置,當(dāng)在命令模式下輸入“debug1”后,就能快速回到“debug1”的標(biāo)記所在行的行首。 12)刪除操作 :%s/r/g 刪除DOS方式的回車M :%s= *$= 刪除行尾空白 :%s/(.*)n1/1$/ 刪除重復(fù)行 :%s/.-pdf/new.pdf/ 只是刪除第一個(gè)pdf :%s/ 又是刪除多行注釋(咦?為什么要說又呢?) :g/s*$/d 刪除所有空行 :g!/dd/d 刪除不含字符串dd的行 :v/dd/d 同上 (譯釋:v = g!,就是不匹配?。?:g/s
24、tr1/,/str2/d 刪除所有第一個(gè)含str1到第一個(gè)含str2之間的行 :v/./.,/./-1join 壓縮空行 :g/$/,/./-j 壓縮空行 ndw 或 ndW 刪除光標(biāo)處開始及其后的 n-1 個(gè)字符。 d0 刪至行首。 d$ 刪至行尾。 ndd 刪除當(dāng)前行及其后 n-1 行。 x 或 X 刪除一個(gè)字符。 Ctrl+u 刪除輸入方式下所輸入的文本。 R 恢復(fù)u的操作 J 把下一行合并到當(dāng)前行尾 V 選擇一行 V 按下V后即可進(jìn)行矩形的選擇了 aw 選擇單詞 iw 內(nèi)部單詞(無空格) as 選擇句子 is 選擇句子(無空格) ap 選擇段落 ip 選擇段落(無空格) D 刪除到行尾
25、 x,y 刪除與復(fù)制包含高亮區(qū) dl 刪除當(dāng)前字符(與x命令功能相同) d0 刪除到某一行的開始位置 d 刪除到某一行的第一個(gè)字符位置(不包括空格或TAB字符) dw 刪除到某個(gè)單詞的結(jié)尾位置 d3w 刪除到第三個(gè)單詞的結(jié)尾位置 db 刪除到某個(gè)單詞的開始位置 dW 刪除到某個(gè)以空格作為分隔符的單詞的結(jié)尾位置 dB 刪除到某個(gè)以空格作為分隔符的單詞的開始位置 d7B 刪除到前面7個(gè)以空格作為分隔符的單詞的開始位置 d) 刪除到某個(gè)語句的結(jié)尾位置 d4) 刪除到第四個(gè)語句的結(jié)尾位置 d( 刪除到某個(gè)語句的開始位置 d) 刪除到某個(gè)段落的結(jié)尾位置 d 刪除到某個(gè)段落的開始位置 d7 刪除到當(dāng)前段落
26、起始位置之前的第7個(gè)段落位置 dd 刪除當(dāng)前行 d/text 刪除從文本中出現(xiàn)“text”中所指定字樣的位置, 一直向前直到下一個(gè)該字樣所出現(xiàn)的位置(但不包括該字樣)之間的內(nèi)容 dfc 刪除從文本中出現(xiàn)字符“c”的位置,一直向前直到下一個(gè)該字符所出現(xiàn)的位置(包括該字符)之間的內(nèi)容 dtc 刪除當(dāng)前行直到下一個(gè)字符“c”所出現(xiàn)位置之間的內(nèi)容 D 刪除到某一行的結(jié)尾 d$ 刪除到某一行的結(jié)尾 5dd 刪除從當(dāng)前行所開始的5行內(nèi)容 dL 刪除直到屏幕上最后一行的內(nèi)容 dH 刪除直到屏幕上第一行的內(nèi)容 dG 刪除直到工作緩存區(qū)結(jié)尾的內(nèi)容 d1G 刪除直到工作緩存區(qū)開始的內(nèi)容 修改命令操作 r 更改當(dāng)前
27、字符 cw 修改到某個(gè)單詞的結(jié)尾位置 c3w 修改到第三個(gè)單詞的結(jié)尾位置 cb 修改到某個(gè)單詞的開始位置 cW 修改到某個(gè)以空格作為分隔符的單詞的結(jié)尾位置 cB 修改到某個(gè)以空格作為分隔符的單詞的開始位置 c7B 修改到前面7個(gè)以空格作為分隔符的單詞的開始位置 c0 修改到某行的結(jié)尾位置 c 修改到某個(gè)語句的結(jié)尾位置 c4 修改到第四個(gè)語句的結(jié)尾位置 c( 修改到某個(gè)語句的開始位置 c) 修改到某個(gè)段落的結(jié)尾位置 c 修改到某個(gè)段落的開始位置 c7 修改到當(dāng)前段落起始位置之前的第7個(gè)段落位置 ctc 修改當(dāng)前行直到下一個(gè)字符c所出現(xiàn)位置之間的內(nèi)容 C 修改到某一行的結(jié)尾 cc 修改當(dāng)前行 5c
28、c 修改從當(dāng)前行所開始的5行內(nèi)容 . 重復(fù)上一次修改! 13Set 選項(xiàng)設(shè)置 set all 列出所有選項(xiàng)設(shè)置情況。 set term 設(shè)置終端類型。 set ignorecase 在搜索中忽略大小寫。 set list 顯示制表位(I)和行尾標(biāo)志($)。 set number 顯示行號。 set showmode 示用戶處在什么模式下 set report 顯示由面向行的命令修改國的行數(shù)目。 set terse 顯示簡短的警告信息。 set warn 在轉(zhuǎn)到別的文件時(shí),若沒有保存當(dāng)前文件則顯示 No write 信息。 set autowrite 在“:n”和“:!”命令之前都自動(dòng)保存文件
29、set nomagic 允許在搜索模式中,使用前面不帶的特殊字符。 set nowrapscan 禁止 vi 在搜索到達(dá)文件兩端時(shí),又從另一端開始。 set mesg 允許 vi 顯示其他用戶用 write 寫到自己終端上的信息。 autoindent (ai) noai 使新行自動(dòng)縮進(jìn),和上(下)行的位置對齊 autoprint (ap) ap 每條命令之后都顯示出修改之處 autowrite (aw) noaw 在:n,:!命令之前都自動(dòng)保存文件 beautify (bf) nobf 在輸入的時(shí)候忽略所有的控制字符(除了制表鍵(tab),換行(newline),進(jìn)紙(formfeed) d
30、irectory= (dir=) /tmp 存放緩沖區(qū)的目錄名 edcompatible noedcompatible 在替換的時(shí)候使用類ed的用法 errorbells (eb) errorbells 出錯(cuò)的時(shí)候響鈴 exrc (ex) noexrc 允許在主目錄(home)外面之外放.exrc文件 hardtabs= (ht=) 8 設(shè)置硬制表的邊界 ignore case (ic) noic 正規(guī)式里忽略大小寫 lisp nolisp 打開lisp模式 list nolist 顯示所有的制表鍵和行的結(jié)尾 magic agic 可以使用更多的正規(guī)表達(dá)式 mesg mesg 允許向終端發(fā)送消
31、息 number (nu) nonumber 顯示行號 open open 允許開放和可視化 optimize (opt) optimize 優(yōu)化吞吐量,打印時(shí)不發(fā)回車 paragraphs= (para=) IPLPPPQPPLIbp 設(shè)置 & 的分界符 prompt prompt 命令模式下的輸入給出:的提示符 readonly (ro) noro 除非用!號否則不準(zhǔn)保存文件 redraw noredraw 當(dāng)編輯的時(shí)候重繪屏幕 remap remap 允許宏指向其他的宏 report= 5 如果影響的行數(shù)這個(gè)數(shù)的話就報(bào)告 scroll 1/2 window 下卷屏幕時(shí)滾動(dòng)屏幕的數(shù)目, 同
32、樣這也是z命令輸出的行數(shù)(z 輸出2倍滾屏的大小) sections= SHNHH HU 定義節(jié)的末尾(當(dāng)使用命令 和 時(shí)) shell= (sh=) /bin/sh 缺省的SHELL,如果設(shè)置了環(huán)境變量SHELL的話,就使用變量 shiftwidth= (sw=) 8 當(dāng)使用移動(dòng)(shift)命令時(shí)移動(dòng)的字符數(shù) showmatch (sm) nosm 顯示, , (, ), , 或者 的匹配情況 showmode noshowmode 顯示你處在什么模式下面 slowopen (slow) 插入之后不要立刻更新顯示 tabstop= (ts=) 8 設(shè)置制表停止位(tabstop)的長度 t
33、aglength= (tl=) 0 重要標(biāo)記的字符個(gè)數(shù)(0表示所有的字符) tags= tag, /usr/lib/tags 定義包含標(biāo)記的文件路徑 term= 設(shè)置終端類型 terse noterse 顯示簡短的錯(cuò)誤信息 timeout (to) timeout 一秒鐘后鍵盤映射超時(shí) ttytype= 設(shè)置終端類型 warn warn 顯示No write since last change信息 window= (w=) 可視模式下窗口的行數(shù) wrapmargin= (wm=) 0 右邊距,大于0的話最右邊的單詞將折行,留出n個(gè)空白位置 wrapscan (ws) ws 查找到文件尾后再重頭
34、開始 writeany (wa) nowa 可以保存到任意一個(gè)文件去 14特殊字符 匹配字符串位于行首。 $ 匹配字符串位于行尾。 . 用在模式串中,表示任何單個(gè)字符。 在命令模式下,重復(fù)上次的命令。 * 在模式串中,表示其前字符可出現(xiàn)任意多次。 用在模式串中,表示指定方位內(nèi)字符,其中可用-表示一個(gè)字 符范圍,用表示不在某個(gè)范圍內(nèi)的字符。 ESC 從插入狀態(tài)轉(zhuǎn)換到命令狀態(tài) 功能同 ESC 15大小寫轉(zhuǎn)換 guu 行小寫 gUU 行大寫 g 行翻轉(zhuǎn)(當(dāng)然指大小寫啦) guw 字小寫(狹義字) 譯注:建議對比iw gUw 字大寫(狹義字) gw 字翻轉(zhuǎn)(狹義字) vEU 字大寫(廣義字) vE 字
35、翻轉(zhuǎn)(廣義字) ggguG 把整個(gè)文章全部小寫(ft!bt!) 16) 跳轉(zhuǎn)足跡. 跳到最后修改的那一行 (超級有用)(ft,怎么又是這個(gè)評價(jià)) . 不僅跳到最后修改的那一行,還要定位到修改點(diǎn) 依次沿著你的跳轉(zhuǎn)記錄向回跳 (從最近的一次開始) 依次沿著你的跳轉(zhuǎn)記錄向前跳 :ju(mps) 列出你跳轉(zhuǎn)的足跡 17)命令歷史 :history 列出歷史命令記錄 :his c 命令行命令歷史 :his s 搜索命令歷史 q/ 搜索命令歷史的窗口 q 命令行命令歷史的窗口 : 歷史命令記錄的窗口 18寄存器 # 列出寄存器(Registers) :reg 顯示所有當(dāng)前的registers 1p 表示引
36、用register,1表示一個(gè)名字叫做1的register,p就是粘貼(paste)命令 譯釋: 也用來定義register 先輸入 ,表示定義register 然后輸入名字,如09,az 然后執(zhí)行刪除或復(fù)制命令,如dd或y, 或者是visual模式下的d(刪除選中的部分)或y(復(fù)制選中的部分) 則被刪除或復(fù)制的部分就被存入了這個(gè)命名的register 觀察:一個(gè)特殊的register, ,里面存儲了一個(gè)匿名的刪除/復(fù)制 在你執(zhí)行dd或y的時(shí)候,被作用的部分被存到了中 19命令行 ayya 把當(dāng)前行作為一個(gè)Vim命令來執(zhí)行 譯釋:ayy 是定義當(dāng)前行到register a,然后a是執(zhí)行regi
37、ster a中存儲的指令 10yy copy 當(dāng)前行以下10行 11 排序 :%!sort -u 使用sort程序排序整個(gè)文件(用結(jié)果重寫文件) !1) sort -u 排序當(dāng)前段落 (只能在normal模式下使用!) :.,+5!sort 排序當(dāng)前行及以下5行 20) 列操作 :%s= +$=&= 復(fù)制最后一列 :%s= f+$=&= 一樣的功能 :%s= S+$=& ft,還是一樣 :s/(.*).*)/21/ 顛倒用:分割的兩個(gè)字段 :%s(w+s+)2)str1:1str2: 處理列,替換所有在第三列中的str1 :%sw+)(.*s+)(w+)$:321: 交換第一列和最后一列 (共
38、4列) .vimrc Use Vim settings, rather then Vi settings (much better!). set nocompatible c風(fēng)格的縮進(jìn) :set expandtab 不使用tab只使用空格 :set cindent shiftwidth=4 自動(dòng)縮進(jìn) :set ai 語法 :set filetype=j*a :set syntax=j*a 鍵入)、 、,顯示(、 :set showmatch 手工定義折疊 :set foldmethod=manual 標(biāo)簽文件位置 set tags=/usr/share/vim/vim63/funcs.tags
39、 在插入模式下通過按CtrlN自動(dòng)地將任何類、方法或者字段名補(bǔ)齊 set complete+=k 不要用聲音煩我! set visualbell 歷史 :set history=50 顯示行列位置 :set ruler 設(shè)置字符編碼 set fileencodings=gb2312 set encoding=euc-cn 設(shè)置ruler set ruler 顯示當(dāng)前命令 set showcmd incsearch set incsearch allow backspacing over everything in insert mode set backspace=indent,eol,sta
40、rt 自動(dòng)檢測文件類型 :filetype on 快捷鍵定義 if version = 600 查找 map / 查找函數(shù)原型 map yiw/(s)*(sub)|(function)(s)* 繼續(xù)查找 map n 使用顯示類、屬性、方法列表 map :Tlist 用compiler定義的編譯程序來編譯當(dāng)前程序 map :make % 使用來進(jìn)行php語法檢測 map :!php -l % map ;w :call FormatText() 查找當(dāng)前光標(biāo)下的字 map / endif :快捷鍵定義 格式化文件 function FormatText() :%s/t/ /g 把t換成4個(gè)空格 :
41、%s/ *$/g 去掉行尾空格 endfunction 格式化文件 顯示行尾的tab和多余空格 set listchars=tab:-,trail: set list syntax match Trail +$ highlight def link Trail Todo :顯示行尾的tab和多余空格 function LastMod() if line($) 5 let l = 5 else let l = line($) endif exe 1, . l . /CnsProgCMTime/s/CnsProgCMTime .*/CnsProgCMTime . strftime(%Y-%m-%d %H:%M:%S)./e endfunction map :call LastMod() 自動(dòng)加注釋的*星號 使用如/* . */ 的注釋時(shí),r在插入模式下回車時(shí)插入* ; o 在普通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:建構(gòu)自主知識體系視域下的檔案學(xué)術(shù)語革命研究
- 2025版委托擔(dān)保合同樣本:醫(yī)療器械注冊融資擔(dān)保協(xié)議6篇
- 2025版小學(xué)學(xué)生安全責(zé)任追究與保障協(xié)議15篇
- 二零二五版煤炭行業(yè)運(yùn)輸成本控制協(xié)議4篇
- 2025年貨運(yùn)從業(yè)資格證網(wǎng)上考核app
- 2025年度文化創(chuàng)意產(chǎn)業(yè)合作合同4篇
- 個(gè)人住宅租賃合同模板(2024年修訂版)版B版
- 2025版?zhèn)€人小產(chǎn)權(quán)房屋買賣合同范本及操作指南4篇
- 2024物業(yè)公司提供住宅小區(qū)互聯(lián)網(wǎng)接入服務(wù)合同
- 2025版學(xué)校浴池?zé)崴?yīng)系統(tǒng)優(yōu)化承包合同3篇
- 南通市2025屆高三第一次調(diào)研測試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學(xué)一模試卷
- 2025中國人民保險(xiǎn)集團(tuán)校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 重癥患者家屬溝通管理制度
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對法》及其應(yīng)用案例
- IF鋼物理冶金原理與關(guān)鍵工藝技術(shù)1
- 小學(xué)二年級數(shù)學(xué)口算練習(xí)題1000道
- 化學(xué)-福建省龍巖市2024屆高三下學(xué)期三月教學(xué)質(zhì)量檢測(一模)試題和答案
- 凸優(yōu)化在經(jīng)濟(jì)學(xué)與金融學(xué)中的應(yīng)用
- 家譜、宗譜頒譜慶典講話
- 高速公路收費(fèi)員培訓(xùn)課件
評論
0/150
提交評論