vim技巧:把外部shell命令的執行結果寫入文件,將文件轉出html格式

本篇文章介紹 vim 的一些使用技巧:html

  • 把外部shell命令的執行結果寫入文件
  • 使用vim將文件轉出html格式

把外部shell命令的執行結果寫入文件

在 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將文件轉出html格式

在 vim 中,能夠使用 :TOhtml 命令來將當前文件轉換出 html 格式文件。注意這個命令的大小寫,不能寫爲 :tohtml 的形式。

:TOhtml 命令基於整個文件內容轉成一個新的 html 文件,拆分新的 vim 水平窗口顯示轉換後的 html 文件內容。若有須要,能夠自行修改文件內容作一些調整。最後,保存該 html 文件便可。

注意:這個 html 文件須要在 vim 中保存後纔會生成本地文件,:TOhtml 命令並無直接生成本地的 html 文件,也不會修改原有文件自己的內容,而是生成新的 html 文件。

若是隻是須要轉某幾行代碼(例如30行到42行),則執行 :30,42TOhtml 命令。

若是當前 vim 配置成顯示行號,所轉換出來的 html 文件中也會帶有行號。不想帶有行號的話,能夠在轉換以前,先執行 :set nonu 命令設置爲不顯示行號。

相關文章
相關標籤/搜索