【发布时间】:2012-06-05 15:40:16
【问题描述】:
我正在考虑一个功能 [将其命名为行依赖],它可能对 Vim 和其他编辑器有用。
什么是行依赖?
设S 是当前缓冲区中一组完全相同的行号。一个子集S'(属于S)被标记为依赖意味着对S' 中任何一行l 的任何更改都会反映在所有S' 中。
S' 会根据缓冲区中的更改进行更新,即可以将行追溯到它们的初始点。
用例:自动复制多行更改而不记录宏。
在 Vim 中可以做到这一点吗?实施这个想法有什么固有的困难吗?这个想法有什么根本缺陷吗?
【问题讨论】:
-
主要缺陷是代码重复应该通过重构而不是编辑器宏来解决,以使代码更易于阅读。如果你一遍又一遍地写相同的行,你就会遇到设计问题。
-
如果编辑器的唯一目的是只编写代码,则为真。可能存在其他可能需要此类功能的情况。例如,考虑乳胶文件中缓冲区的两个区域[而不是限制为行]的依赖b/w。在一个区域中所做的更改会自动复制到另一个区域中。我发现此功能在编写包含大量方程式的证明时很有用。
-
嗯,是的,这听起来很合理。虽然 LaTeX 本身有一个非常强大的宏工具......
-
多游标能解决问题吗? github.com/terryma/vim-multiple-cursors
-
@Alex 我没试过,但 gif 看起来很有希望 :) 感谢分享。