如何在vim中获得更好的列编辑模式(更具可视化和可自定义)

时间:2013-11-18 04:32:04

标签: vim

Vi专家,我有两个关于列编辑的问题!

首先,我已经知道如何进入可视模式并进行列编辑。但关键是在 shift + I 并输入之后,您只能看到第一行在 esc 之前发生变化。我的问题是,是否可以在所有行中显示编辑操作?或者对于当前的vim来说这仍然是一项不可能完成的任务吗?

我的第二个问题是,我想插入一个数字越来越多的列(0...9)或一些用户定义的增加项目,如(monday...sunday)blahblah,实现这一目标的最佳方法是什么,我可以定义一些自定义函数然后调用它们吗?

1 个答案:

答案 0 :(得分:1)

“仍然是一项不可能完成的任务”暴露了一个错误的假设:Vim从不想成为一个WYSIWYG编辑器;只更新当前行需要更少的屏幕更新(这可能比慢速连接更重要; vi的整个模态编辑部分源于这种必要性)。

“多个游标”插件有一些尝试;有了这些,你可能会实现这一目标。

第二个问题

(请注意,在一个问题中询问两个不相关的事情是不好的方式。)

是的,您几乎可以在“一些自定义函数”中执行任何操作(但您必须澄清确切的用例以获得有意义的答案)。

其中一些可以通过speeddating plugin

完成
  

{Visual}<C-A>按行数视觉选择的每一行上光标下的[count]递增。如果一条线上没有一个组件,它将被填充为[count]高于它上面的线。这可以用于创建序列。例如,在一行上放置一个“0”,然后是4个空行,在视觉上选择所有5行,然后按<C-A>得到1到5的序列。您也可以在视觉模式下使用字母:如果您想要以A开头的列表,请先输入Z。