VIM編輯器常用命令說明__工具類
來源:互聯網
上載者:User
no: 放置在boolean選項前表示關閉該選項,如:set number ,set nonumber 自訂vim: :edit ~/.vimrc 在命令列最後添加自己的命令,如高亮顯示搜尋結果等 移動游標 h j k l 刪除字元 x 刪除整行 dd
兩行合并為一行,也就是刪除兩行之間的分行符號: J 以word為單位的移動 w 3w 移動到行首和行尾 ^ $ 移動到指定的字元上 fx 找下一個x字元(f意為find) ,如fl 3fl
F向左方向搜尋,如 Fh 匹配(),[],{}括弧 % 移動到指定行 文本首 gg 文本尾 G 指定行 34G (G意為Go) 告訴當前位置 CTRL+G 滾來滾去 CTRL+U 使文本向下滾動半屏,也可以想象為在顯示文本的視窗向上滾動半屏 CTRL+D 將視窗向下移動半屏,相當於使文本向上滾動了半屏 簡單搜尋 /string ,如 /include,特殊字元: .*[]^%/?~$ ,搜尋字串包含這些字元需在字元前放置一個反斜線,尋找下一個按n,尋找第三次出現輸入”3n”。“。”命令與“/”命令相同,只是搜尋方向相反.
游標位於word上,按下“*”鍵,VIM將會取當前游標所在的word並將它作用目標字串進行搜尋。“#”命令是“*”命令的反向版。還可以使用命令計數,如“3*”尋找第三次出現。/ab* ,匹配ab,abb,abbb, /\(ab\)* ,匹配ab,abab,ababab;/ab\{3,5},匹配次數;/one\|two\|three,或匹配;/the\nword,匹配換行;/\<word\>,\<和\>匹配一個單詞; 忽略大小寫 :set ignorecase :set noignorecase 高亮顯示搜尋結果 :set hlseyrch :set nohlsearch 調理搜尋命令 :set incsearch 在鍵入目標字串的過程中,vim就同時開始搜尋,按斷行符號跳轉到當前匹配到的位置 在兩個位置之間跳轉命令:``,因為“`”是代表上次命令列的位置,跳轉命令還包括:/、n 。“:jumps”命令列出曾經跳轉過的位置列表,最後一個跳轉位置被特別以“>”號標記。 有名標記:ma:當前行被定義為a標記,可以定義a-z共26個標記;跳轉到a標記“`a”;“:marks”命令查看一些特殊的標記。 “d”命令後跟一個位移命令,刪除游標到終點處的內容。如:dw,d4w(刪除4個word),d$刪除游標到最後,daw 在單詞中間刪除一個單詞(delete a word) cw:刪除一個word後共置身於insert模式,行為與dw類似(c1改變一個字元,c是change的意思);dd刪除整行,cc改變整行;d$刪除游標到結尾,c$改變游標到行尾內容;3d2w刪除2個單詞,重複3次,共刪除6個單詞;r命令為替代一個字元,無需使用ESC; x 代表d1(刪除當前游標下字元) X 代表dh(刪除當前游標左邊的字元) D代表d$(刪除到行尾的內容) C代表c$(修改到行尾的內容) s代表c1(修改一個字元) S代表cc(修改一整行) “.”命令在normal模式下是重複上次操作的命令,如/four ,執行cwfive,n(尋找下個foure),輸入“.”,繼續替換four為five v 進入visual模式,可以通過方向鍵控制地區選取項目,然後使用d或者x命令刪除,使用ctrl+v複製; 複製文本使用yy+p,y是yanking,放到寄存器;p是put的意思;y$複製游標到最後; :set list 可以清楚的看到以“$”表示的分行符號和以“^I”表示的定位字元 :split,:vsplit 分隔視窗,切換視窗ctrl+w + (h/j/k/l/t/b) ,t:到頂部視窗;b:到底部視窗;ctrl+w+K:視窗向上提升一次; :qall 全部退出;:wall 全部寫入儲存; :wqall 儲存所有被修改的檔案然後退出; vimdiff a.txt b.txt 以垂直方式顯示兩個檔案的不同之處,可以比較下diff命令。 ]c:定位到下一個不同之處,[c:定位到上一個不同之處; 替換,:[range]substitute/from/to/[flags] s代替substitute ,:%s/Professor/Teacher/g 替換所有行,如替換一行 ::s/from/to/g ,替換所有行: :%s/from/to/G ,from可以Regex,如把行首的the替換為these,:s/^the/these/。如果被替換字元中有斜杠/,需要在前面增加反斜線,更優雅方法::s+one/two+one or two+ 作用於範圍::1,5s/this/that/g 。只替換54行::54s/President/Fool/ 標記的使用,使用mb 標記當前行為標記b,使用’b來把游標定位到標記 :read filename 在當前行的後面追加讀入的內容; :read !ls(讀取目前的目錄下檔案),!表示後面是一個命令; 操作子命令若要作用於以行為單位,則鍵入該操作兩次;如dd,gg,gudu(行小寫),gUgU(簡寫gUU) 比較檔案的命令,diff,vimdiff 查看曆史命令,如”:se<up>”,可以向上查看曆史命令 vim -x exam.txt 給檔案加密;或者 :X 查看當前行的資訊,包括位元組數 g ctrl-G 插入模式,ctrl-w;刪除一個單詞,ctrl-u 刪除當前行; ctrl-p(previous-match) 從前面的本文中搜尋第一個單詞並補齊;ctrl-n (next-match)向下找第一個單詞並補齊; %s/\<very\>/wuguowei/g 匹配very單詞,“\<” 和“/>”表示只有完整的單詞才會被匹配 ls | vim - “vim -” 表示vim從標準輸入的流是編輯內容;如 ps |vim - zf:建立折行,zo:開啟折行,zc:關閉折行;折行相關的命令都是以z開頭,z看起來是把一張紙摺疊起來的樣子。z字元後是一個便於記憶的命令。把一個段落摺疊zfap,開啟為zo;zf可以搭配任何位移的命令來建立折行;