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 命令设置为不显示行号。

相关文章
相关标签/搜索