本篇文章介紹 vim 的一些使用技巧:html
在 vim 中,能夠使用 :r !cmd
命令執行 shell 中的 cmd 命令,並把該命令的打印結果寫入到當前光標的下一行。shell
例如,:r !date
命令執行 shell 的 date
命令,打印當前的時間,把這個打印結果寫入到當前光標的下一行。vim
也能夠在 r
命令的前面加上數字指定要寫入到哪一行以後,而不是寫入到當前光標的下一行。code
例如,:2r !date
命令是把打印結果寫入到第二行的後面,也就是寫入到第三行,原先第三行會挪到第四行,後面的內容依此類推。htm
注意:若是不加感嘆號 !
,那麼後面跟着的參數會被認爲是文件名,若是存在該文件,會讀取該文件內容,寫入到當前光標的下一行。若是該文件不存在,則報錯提示找不到文件。例如, :r date
命令是讀取名爲 date 的文件內容,寫入到當前光標的下一行。ci
這裏的 :r
是 :read
命令的縮寫。cmd
在 vim 中,用 :help :r
命令查看 :r !cmd
和 :r name
命令的幫助說明。部分關鍵說明以下:it
:r[ead] [++opt] [name]
Insert the file [name] (default: current file) below the cursor.:{range}r[ead] [++opt] [name]
Insert the file [name] (default: current file) below the specified line.配置:[range]r[ead] !{cmd}
Execute {cmd} and insert its standard output below the cursor or the specified line.date
在 vim 中,能夠使用 :TOhtml
命令來將當前文件轉換出 html 格式文件。注意這個命令的大小寫,不能寫爲 :tohtml
的形式。
:TOhtml
命令基於整個文件內容轉成一個新的 html 文件,拆分新的 vim 水平窗口顯示轉換後的 html 文件內容。若有須要,能夠自行修改文件內容作一些調整。最後,保存該 html 文件便可。
注意:這個 html 文件須要在 vim 中保存後纔會生成本地文件,:TOhtml
命令並無直接生成本地的 html 文件,也不會修改原有文件自己的內容,而是生成新的 html 文件。
若是隻是須要轉某幾行代碼(例如30行到42行),則執行 :30,42TOhtml
命令。
若是當前 vim 配置成顯示行號,所轉換出來的 html 文件中也會帶有行號。不想帶有行號的話,能夠在轉換以前,先執行 :set nonu
命令設置爲不顯示行號。