標籤
* :tabnew 開啟新標籤頁.
* :tabe 在新標籤頁開啟檔案.
* + pageup, pagedown 切換標籤頁.
* :tabnext, tabprev 切換標籤頁,putty 下只能用這個.
檔案* :e 開啟檔案.
* :enew 新檔案.
* :w 儲存.
* :wa 全部儲存.
* :w 另存為.
* :wq 儲存並退出.
* :x 儲存並退出.
* :q 退出.
* :qa 全部退出.
* :q! 強制退出.
文字* esc 切換命令模式 (距離太遙遠了,用 ctrl+c 代替吧).
* i 插入模式.
* i 在當前行開頭插入.
* r 替換模式.
* a 在游標後插入.
* a 在當前行尾部插入.
* v visual 模式按字元選擇.
* v visual 模式按行選擇.
游標* h 左移游標.
* j 下移游標.
* k 上移游標.
* l 右移游標.
fx:移動游標到當前行的下乙個x 處。很明顯,x 可以是任意乙個字母,而且你可以使用; 來重複你的上乙個f 命令。
tx:和上面的命令類似,但是是移動到x 的左邊乙個位置。
fx:和fx 類似,不過是往回找。
w:游標往前移動乙個詞。
b:游標往後移動乙個詞。
0:移動游標到當前行首。
^:移動游標到當前行的第乙個字母位置。
$:移動游標到行尾。
* gg 將游標移到檔案頭部.
* g 將游標移到檔案尾部.
* #g 移動游標到指定行#. 例如: 5g
編輯* u 撤銷.
* . 重做.
* dd 刪除當前行.
* #dd 刪除幾行. 例如: 3dd
* d^ 刪除到行首.
* d$ 刪除到行尾.
* :#,&d 刪除 # 到 & 行. 例如: 3,5d
* ctrl + w 刪除游標之前的詞
* ctrl + u 刪除當前行游標左邊的所有內容
* yy 拷貝當前行到剪貼簿.
* #yy 拷貝 # 行到剪貼簿.
* y^ 從檔案頭開始拷貝.
* y$ 拷貝到檔案尾部.
* :#,&y 拷貝 # 到 & 行. 例如: 4,5y
* p 在游標後貼上.
* p 貼上到游標前.
* >> 增大縮排.
* << 減少縮排.
* == 自動縮排.
查詢替換
* /# 查詢 #. 例如: /printf
* ?# 反向查詢 #.
* n 查詢下乙個.
* n 反向查詢下乙個.
* :s/old/new/g 當前行無提示替換.
* :%s/old/new/g 無提示替換.
* :%s/old/new/gc 確認替換.
* :#,&s/old/new/g 從 # 到 & 行無提示替換.
書籤跳轉
* :marks 檢視所有書籤, 輸入 ":" 可跳轉.
* m定義書籤, 如 ma 在當前行定義名為 a 的書籤.
* `跳轉到某書籤, "`" 為鍵盤 tab 上一行第一鍵.
* :jumps 檢視所有跳轉記錄, 輸入 ":" 可跳轉.
* + o 返回上一次跳轉處.
* + i 和 + o 反向轉處.
ctags
* :! ctags -r . 生成 ctags 檔案.
* + ] 檢視函式定義.
* + t 返回.
* shift + k 檢視函式 man 幫助資訊.
code
* gg=g 原始碼格式化
視窗操作
:split 按拆分模式開啟檔案,預設為上下拆分
:vsplit 左右拆分
ctrl-w w 切換活動視窗
ctrl-w ctrl-w 切換活動視窗
ctrl-w h/j/k/l 切換活動視窗為 左/上/下/右 邊的視窗
整篇文章大寫轉化為小寫
開啟檔案後,無須進入命令列模式。
鍵入:gggug
解釋一下:
gggug分作三段gg gu g
gg=游標到檔案第乙個字元
gu=把選定範圍全部小寫
g=到檔案結束
整篇文章小寫轉化為大寫
開啟檔案後,無須進入命令列模式。
鍵入:gggug
解釋一下:gggug分作三段gg gu g
gg=游標到檔案第乙個字元
gu=把選定範圍全部大寫
g=到檔案結束
只轉化某個單詞
guw 、gue、guw、gue
這樣,游標後面的單詞便會進行大小寫轉換
想轉換5個單詞的命令如下:
gu5w、gu5e、gu5w、gu5e
轉換幾行的大小寫
將游標定位到想轉換的行上,鍵入:1gu
從游標所在行往下一行都進行小寫到大寫的轉換
10gu,則進行11行小寫到大寫的轉換
以此類推,就出現其他的大小寫轉換命令
gu0 :從游標所在位置到行首,都變為大寫
gu$ :從游標所在位置到行尾,都變為大寫
gug :從游標所在位置到文章最後乙個字元,都變為大寫
gu1g :從游標所在位置到文章第乙個字元,都變為大寫
其他* ! 執行命令.
* :r 插入檔案內容.
* :r !插入命令輸出結果.
* :cd 修改預設工作目錄.
ctrl+z 把當前環境放入後台
bg - 列出已停止或後台的作業
fg - 將最近的作業帶到前台
fg n - 將作業n帶到前台
如果不小心按了ctrl + s,vim 好象死掉了一樣,試試下面這個吧~_~!
crtl + s 停止輸入(這兩個好象是bash的原因)
crtl + q 恢復輸入
去掉ms下檔案的^m
:%s/^m//g # 去掉所有的^m (注意:「^m」要使用「ctrl-v ctrl-m」生成)
改變視窗大小
輸入次序: ctrl-w 行數 +
ctrl-w+ 把當前視窗高度增加」行數」行(如不指定行數,預設為1)
ctrl-w- 把當前視窗高度減少」行數」行(如不指定行數,預設為1)
ctrl-w= 讓所有視窗一樣高
ctrl-w_ 把當前視窗的高度設為」行數「,如不指定則把它最大化。
從vim複製到系統剪貼簿clipboard
:!pbcopy
:[n,n] !pbcopy
:[n,n] w !pbcopy
加入.vimrc配置
vmap :!pbcopy
vmap :w !pbcopy
vim忽略語法錯誤
配置檔案中加入:
let g:syntastic_quiet_messages =
Linux Vim常用快捷鍵
linux vim常用快捷鍵 伺服器上操作,經常要用vim檢視編輯檔案內容,不懂快捷鍵導致效率很低,於是就查閱網路資料總結了一下vim常用的快捷鍵。1 刪除 x 小寫的 x 表示向後刪除乙個字元,也就是刪除游標所在的字元 nx 表示向後刪除 n 個字元 x 大寫的 x 表示向前刪除乙個字元,即游標前...
Linux VIM 常用快捷鍵2
1 在插入模式之外 基本上來說,你應該盡可能少的呆在插入模式裡面,因為在插入模式裡面 vim 就像乙個 啞巴 編輯器一樣。很多新手都會一直呆在插入模式裡面,因為這樣易於使用。但 vim 的強大之處在於他的命令列模式!你會發現,在你越來越了解 vim 之後,你就會花越來越少的時間使用插入模式了。2 使...
Linux vim退出快捷鍵
按住shift zz儲存退出 zq不儲存退出,q表示放棄 之所以按住shift,其實是切換大小寫 q 不儲存退出 q 不儲存強制退出 wq儲存退出,w表示寫入,不論是否修改,都會更改時間戳 x儲存退出,如果內容未改,不會更改時間戳 x 和 wq 的區別如下 1 wq 強制性寫入檔案並退出 存檔並退出...