我知道我可以使用:!视觉选择来通过外部命令管道选定的行,但是有没有办法对一行上的单个单词执行相同的操作?我需要在配置文件中对令牌进行 Base64 编码,但遇到了麻烦,整行都被发送到base64. 如果我将单词移动到自己的行,我会得到一个\n以 Base64 字符串编码的尾随字符。我知道有一个专门用于此目的的插件,但一般来说,是否可以通过外部程序对小于整行的缓冲区单元进行管道传输?
Ex命令(:!其中之一)都是基于行的,因为该模式所基于的ex 编辑器是基于行的。
如果您经常需要过滤部分行,我确实建议使用其中一个插件。@romainl 的答案概述了(繁琐的)步骤,如果你想手动执行此操作 - 插件可以大大简化:
:B !base64]Y/[Y映射来直接编码/解码 Base64(在 Vimscript 中实现)g=运算符,然后将查询要应用于它的表达式。你可以!base64在这里使用。