參考:
normal-mode
用於瀏覽檔案,也包含複製,貼上,刪除等操作。這種模式下,鍵盤按鍵會當做功能鍵處理,不會真正的鍵入這些字元
漫遊x 向後剪下乙個字元,如果是行尾則向前剪下
3x 剪下三個
xp 非行尾交換兩個字元,如果是bs變成sb
刪除dd 刪除游標所在行
200dd 刪除游標所在行及以下共100行
dw 刪除乙個單詞
dnw 刪除n個單詞
df" 刪除到出現第乙個雙引號的位置
dnf" 刪除到出現第n個雙引號的位置
d$ 刪除游標到本行的結尾
d^ 刪除游標到本行的開頭
dh 刪除文字開始到游標所在行的文字
dg 刪除游標所在行到文字的結束
貼上p 貼上複製或剪下的內容
3p 將複製或剪下的內容貼上三次
p 游標前開始貼上
3p 游標前開始貼上3次
視窗命令
ctrl+w s 水平分割視窗
ctrl+w w 切換視窗
ctrl+w q 關閉當前分屏,如果是最後乙個分屏則退出vim
ctrl+w c 關閉當前分屏
ctrl+w v 垂直分割視窗
ctrl+j|k 可以用於切換上下視窗
ctrl+h|l 可以用於切換s水平視窗
ctrl+w h|l 可以用於左右移動當前分屏
ctrl+w j|k 可以上下移動當前分屏
檔案儲存
zz 大寫的字母zz,儲存當前檔案
zq 大寫的字母zq, 放棄對檔案的修改並退出
關鍵字和路徑補全
ctrl+x -> ctrl+n 透過目前正在編輯的檔案內容作為關鍵庫補全
ctrl+n 也可以快速補全,沒有提示
ctrl+x -> ctrl+f 以當前目錄內的檔案作為關鍵字補全路徑檔案
ctrl+x -> ctrl+o 以檔名作為語法補充,以wim內建的關鍵字予以補全
撤銷操作和恢復
u 撤銷剛才的操作
ctrl+r 恢復撤銷操作
刪除字元和替換
x 刪除游標當前所在的字元
r 替換掉游標當前所在的字元
r 替換掉從游標開始以後的所有字元,除非退出
大小寫轉換
:%s/$/sth/ 行尾追加sth
:%s/^m//g 替換掉dos換行符,^m使用ctrl+v+enter即可輸入
:g/^/s*$/d 刪除空行以及只有空格的行
:%s/#.*//g 刪除#之後的字元
:help set 檢視set命令的幫助資訊
:set 顯示與系統預設值不同的設定引數,就是自己修改的那些設定
:syntax on|off 開啟和關閉程式的語法高亮
:set bg=dark|light 設定不同的背景色
檔案操作
:w 將編輯的內容寫入檔案中
:w! 將檔案在唯讀狀態時強制寫入,實際寫入還得看文件許可權
:q 離開vim
:qa! 退出所有檔案,對所有檔案不做修改儲存
:x 退出檔案並儲存對檔案的修改
:e fn 開啟另外乙個檔案
:n 跳轉到下乙個檔案
:n 跳轉到上乙個檔案
:bn 跳轉到下乙個檔案
:bp 跳轉到上乙個檔案
:ls 列出開啟的所有檔案
:b2 顯示第二個檔案
tabe fn 使用vim外掛程式minibuffer新建標籤頁功能,在乙個新的標籤頁編輯檔案fn,
gt 切換到下乙個標籤頁
gt 切換到上乙個標籤頁
:tabr 切換到第乙個標籤頁
:tabl 切換到最後乙個標籤頁
:tabm [n] 把當前tab移動到第n個tab之後
:map ^m i# 設定快捷鍵ctrl+m在游標處所在行的行首插入#(#代表注釋),然後在退出編輯狀態。map是關鍵字,後面的是key和value。key對應的是^m,這個key是快捷鍵ctrl+v+m輸入的,代表快捷鍵ctrl+m。value對應的是i#, 表示依次執行這些快捷鍵。i表示切換游標至行首並進入編輯狀態,#表示輸入#,表示退出編輯狀態。
insert-mode
在正常模式按下一些按鍵(如i, a等)進入插入模式
i 從當前游標的位置進入插入模式
i 進入插入模式,並將游標至於行首
a 追加模式,置游標於當前游標之後
a 追加模式,置游標於行末
o 在當前行之下新加一行,並進入插入模式
o 在當前行之前新加一行,並進入插入模式
esc 退出插入模式
visual-mode
視覺化模式
按下v,v,+v, 可以進入視覺化模式,操作像是拿滑鼠選擇一樣,操作會很方便。
繼續按下ctrl+v會退出視覺化模式
使用方向鍵或者h,j,k,l進行漫遊,選中相應的內容,也可以使用gg和g直接到檔案首或尾
ctrl+v 塊模式,塊操作,和ue的塊操作一樣
o 跳轉游標到選中塊的另乙個端點
u 將選中塊中的內容轉化為大寫
o 跳轉游標到塊的另乙個端點
aw 選中乙個字
ab 選中{}括號中的所有內容,包含括號本身
ab 選中{}括號中的所有內容
ib 選中括號中的內容,不包含括號
ib 選中括號中的所有內容
va 當游標在"",』』,(),{},當中時候,va表示選中"「內所有的內容包含雙引號
vi 當游標在」",』』,(),{},當中時候,va表示選中""內所有的內容不包含雙引號
塊右移< 塊左移
y 複製塊
d 刪除塊
~ 切換塊中內容的大小寫
在該模式下選擇區域後直接輸入:, vim會自動補全為:』<,』> 這個是可視模式下選區的替換操作,表示操作範圍,類似與制定n1, n2
vim編輯文字
vim file 編輯乙個檔案
vim fn1 fn2 … 同時編輯多個檔案,預設只顯示第乙個檔案,也就是file1
vim -on fn1 fn2 … 上下分屏同時編輯多個檔案
vim -on fn1 fn2 … 左右分屏開啟多個檔案
vim使用指南
最近在弄linux伺服器,突然發現linux上面用vim編輯器建立檔案 編輯檔案簡直不要太方便,話說咱大mac也有吧,順帶就去學了一些基本命令,現在記錄寫來給大家分享。在vim中,一般使用h j k l來移動游標,h表示游標向左,l表示游標向右,k表示游標向上,j表示游標向下。當我們使用vim命令開...
Vim基本使用指南
一般模式 移動游標的方法 h 或 向左方向鍵 游標向左移動乙個字元 j或 向下方向鍵 游標向下移動乙個字元 k或 向上方向鍵 游標向上移動乙個字元 l或 向右方向鍵 游標向右移動乙個字元 如果想要進行多次移動的話 例如向下移動 30行,可以使用 30j 或 30 的組合按鍵 亦即加上想要進行的次數 ...
Ubuntu下VIM使用指南
網路上類似的教程都是提示先執行如 下命令 sudo vim etc apt sources.list 但我相信有想當多的人,根本不會用vim。而且,網上可以找到的,關於vi的教程,更是多為能嚇死人的上百頁說明。其實,從我個人的實踐看,完全不需要如此誇張。要完成最基本的編輯,只要熟悉幾個命令,就是把v...