vim學習筆記一

vim中執行shell命令,有以下幾種形式
1):!command
不退出vim,並執行shell命令command,將命令輸出顯示在vim的命令區域,不會改變當前編輯的文件的內容
例如
:!ls -l
特別的可以運行:!cmd來啓動一個cmd shell並執行命令,不需要退出vim

2):r !command
將shell命令command的結果插入到當前行的下一行
例如

:r !date,讀取系統時間並插入到當前行的下一行

可利用:vs|r !date實現vim內嵌shell的效果。注意其中的|號。


3):起始行號,結束行號 !command
將起始行號和結束行號指定的範圍中的內容輸入到shell命令command處理,並將處理結果替換起始行號和結束行號指定的範圍中的內容
例如

:62,72 !sort,將62行到72行的內容進行排序

:1,$ !sort,將全文內容進行排序

可以只指定起始行,例如:62 !tr [a-z] [A-Z],將62行的小寫字母轉爲大寫字母
當前光標所在行,除可以指定行號外,也可以用.表示,例如:. !tr [a-z] [A-Z],將當前行的小寫轉爲大寫

4):起始行號,結束行號 w !command
將起始行號和結束行號所指定的範圍的內容作爲命令command的輸入。不會改變當前編輯的文件的內容
例如
:62,72 w !sort,將62行到72行的內容進行排序,但排序的結果並不會直接輸出到當前編輯的文件中,而是顯示在vim敲命令的區域
特殊的可以下面這麼用
:62 w !bash,將會把第62行的內容作爲bash命令來執行並顯示結果,而且不會改變當前編輯的文件的內容同樣的:. w !bash,將當前行的內容作爲bash命令來執行
例如52行內容爲ls -l
那麼輸入:52 w !bash就跟執行!ls -l是一樣的效果,如果你用的shell是bash shell

如果輸入的是:52 !bash,那麼會把第52行的內容也就是ls -l作爲命令執行,同時命令的輸出結果會替換第52行的內容,注意其中的區別。


快速模式切換

Ctrl+O 可以暫時從insert mode切換爲normal mode,當輸入一個命令後又切換回insert mode。

Ctrl+[ 可以將insert mode切換到normal mode。

imap jj將模式切換按鍵映射到jj。


當前文件:

Ctrl+G顯示當前文件名

% 當前文件名
%:h 文件名的頭部.例如../path/test.c就會爲../path
%:t 文件名的尾部.例如../path/test.c就會爲test.c
%:r 無擴展名的文件名.例如../path/test就會成爲test
%:e 擴展名


快速文件切換:

Ctrl+O/Ctrl+I 切換到上次光標的位置,特別適合於多文件編輯時進行切換。這個功能不需要ctags。

m[數字/符號/字母] 設置標籤。

'/`[標籤名] 跳轉到標籤

發佈了24 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章