小编mos*_*osh的帖子

从vim到外部程序的文本管道矩形区域?

我在vim中编辑一个大文本数组,我想在它的一个子列上进行计算.

编辑文件的简化示例:

name value name   saturation 
red  5     green  2
blue 7     yellow 7 
other text
Run Code Online (Sandbox Code Playgroud)

我想通过外部程序calc.pl来管道第4列,calc.pl用输入中的新数字替换数字,例如:

 name value name   saturation
 red  5     green  2.4
 blue 7     yellow 7.14
 other text
Run Code Online (Sandbox Code Playgroud)

当我在第4列中选择矩形时,使用v.motion和!perl calc.pl,整条线将通过管道输送到calc.pl,而不仅仅是矩形.

解决方法是:将矩形切割为临时文件,在临时文件上运行calc.pl,然后将输出作为矩形读取.

在vim中是否有直接的解决方案,无需切割/外壳/粘贴?

vim

7
推荐指数
1
解决办法
282
查看次数

vim 选择段落——如何重新定义段落边界?

在 vim 中,vip 选择“内部段落”:help v_ip,但它的用途有限。

vim 段落边界是硬编码的,一个段落由 2 个或更多空行分隔。:帮助段落

一些像 .IP 这样过时的 marcos 似乎也支持作为段落分隔符,但它们都是硬编码的。

我想指定我自己的段落分隔符,以便在 vim 中轻松选择文本段落。

就像使用正则表达式拆分器的段落模式下的 perl 一样。

我尝试将段落设置为由空行或大括号分隔: :set Paragraph+={ cpoptions+={ 但没有按文档工作,大括号被 'vip' 选择命令忽略。

我想要的解决方案应该适用于所有段落命令,如 vip、vap、dip、dap、{,}。

vim

6
推荐指数
1
解决办法
2917
查看次数

标签 统计

vim ×2