2

我正在考虑一个可能在 Vim 和其他编辑器中有用的特性 [将其命名为行依赖]。

什么是行依赖?

S当前缓冲区中的一组行号完全相同。S'标记为依赖的(of )子集S意味着对 in 中任何行的任何更改l都会S'反映在所有 中S'

S'根据缓冲区中的更改进行更新,即可以追溯到行的初始点。

用例:自动复制多行中的更改而不记录宏。

在 Vim 中可以做到这一点吗?实施这个想法有什么固有的困难吗?这个想法有什么根本缺陷吗?

4

2 回答 2

1

插件vim-multiple-cursors可以帮助同时编辑多个相同的文本部分。希望这是您正在寻找的。

在此处输入图像描述

在此处输入图像描述

于 2014-04-30T15:03:03.787 回答
0

在 Vimscript 中,您可以通过事件挂钩对“源”行的修改CursorMovedI,但通过普通模式 (p) 和 Ex 命令 (:put) 对修改做出反应更难,可能CursorHold需要延迟。

要在上面有插入/删除时跟踪行,可以使用标记,但只有 26 个。

可以通过 轻松“克隆”行更新setline()

一般来说,在 Vimscript 中执行此操作并不完美且难以实现。将此添加到核心 Vim 需要对 Vim 内部结构和源代码有深入的了解,并且不太可能被 Vim 的维护者接受。仔细想想这是否真的值得。

于 2012-06-06T08:22:41.687 回答