本篇文章介绍 vim 的一些使用技巧:
- 把外部shell命令的执行结果写入文件
- 使用vim将文件转出html格式
把外部shell命令的执行结果写入文件
在 vim 中,可以使用 :r !cmd
命令执行 shell 中的 cmd 命令,并把该命令的打印结果写入到当前光标的下一行。
例如,:r !date
命令执行 shell 的 date
命令,打印当前的时间,把这个打印结果写入到当前光标的下一行。
也可以在 r
命令的前面加上数字指定要写入到哪一行之后,而不是写入到当前光标的下一行。
例如,:2r !date
命令是把打印结果写入到第二行的后面,也就是写入到第三行,原先第三行会挪到第四行,后面的内容依此类推。
注意:如果不加感叹号 !
,那么后面跟着的参数会被认为是文件名,如果存在该文件,会读取该文件内容,写入到当前光标的下一行。如果该文件不存在,则报错提示找不到文件。例如, :r date
命令是读取名为 date 的文件内容,写入到当前光标的下一行。
这里的 :r
是 :read
命令的缩写。
在 vim 中,用 :help :r
命令查看 :r !cmd
和 :r name
命令的帮助说明。部分关键说明如下:
: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.
使用vim将文件转出html格式
在 vim 中,可以使用 :TOhtml
命令来将当前文件转换出 html 格式文件。注意这个命令的大小写,不能写为 :tohtml
的形式。
:TOhtml
命令基于整个文件内容转成一个新的 html 文件,拆分新的 vim 水平窗口显示转换后的 html 文件内容。如有需要,可以自行修改文件内容做一些调整。最后,保存该 html 文件即可。
注意:这个 html 文件需要在 vim 中保存后才会生成本地文件,:TOhtml
命令并没有直接生成本地的 html 文件,也不会修改原有文件本身的内容,而是生成新的 html 文件。
如果只是需要转某几行代码(例如30行到42行),则执行 :30,42TOhtml
命令。
如果当前 vim 配置成显示行号,所转换出来的 html 文件中也会带有行号。不想带有行号的话,可以在转换之前,先执行 :set nonu
命令设置为不显示行号。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。