前端之家收集整理的这篇文章主要介绍了
vim:执行shell命令而不过滤,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想选择一个文本块(例如V%),并使用文本作为shell命令(例如wc或pbcopy)的输入 – 但我不想改变当前缓冲区 – 我只想看到命令的
输出(如果有),然后继续编辑,而不进行任何更改。
键入V%!wc转换为:’<,'>!wc并切换wc命令输出的文本块。
如何在不影响当前缓冲区的情况下将一大块文本传递给任意shell命令?
选择您的文本块,然后键入以下键:w!sh
整个事情应该看起来像:
:'<,'>w !sh
而已。只花了我8年时间去学习那个:)
注意:键入:选择文本后生成:’<,'>指示选择开始和结束的范围。
更新2016年:这只是一般使用的一般:
'<,'>w !cli_command
它基本上允许你“发送”文件的任意部分到外部命令,并在临时vi窗口中查看结果,而不会改变您的缓冲区。其他有用的例子是:
'<,'>w !wc
'<,'>w !to_file my_file
我真的发现更改当前缓冲区更有用。这种品种简单:
'<,'>!wc
'<,'>!to_file my_file