vim:执行shell命令而不过滤

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Bash相关文章