在Vim中编程:您*用什么特定机制来"复制 - 粘贴"变量?

dre*_*mac 4 ide vim editor copy-paste

注意

这被标记为一个潜在的主观问题,但它不是主观的.要求学习人们使用Vim 的各种具体方法,以便来自"面向鼠标和键盘"的文本编辑器的人可以学习更多Vim编辑方式.

不是关于个人偏好的主观问题,也不是编辑或编辑风格最好的问题.

这是一个特定的问题,关于在Vim编辑器中获取结果所需的机械步骤,使用替代编辑器作为交叉引用的基线.

问题

假设您在Vim中有以下代码,并且您希望从之前之后的地方获得以下代码:

// Before //

$mynames    = Array();
$mynames['alice'] = 'alpha';
Run Code Online (Sandbox Code Playgroud)

......看起来像这样......

// After //

$mynames    = Array();
$mynames['alice'] = 'alpha';
$mynames['betty'] = 'bravo';
$mynames['cindy'] = 'charlie';
$mynames['deana'] = 'delta';
Run Code Online (Sandbox Code Playgroud)

非VIM编辑如何做到这一点

使用非vim编辑器,程序员A只需复制alice的第一行,将其多次粘贴到编辑器中,然后重新编辑值,以便用适当的值替换alicealpha,一次编辑一行.

使用非vim编辑器,程序员B将创建一个跨越四行的矩形选择,并开始键入公共文本$ mynames [''] =''; 然后返回并填写适当的值,一次编辑一行.

关于VIM怎么样?

鉴于Vim与当今"鼠标和键盘"编辑器的方法截然不同,这是对使用Vim进行编辑所采取的具体步骤的深入了解.显然,可以单独键入每一行,但是假设在Vim中有一种节省时间的方法,与程序员A和程序员B在上面做的比较.

1)vim程序员如何使用上述节省时间的方法进行此编辑操作?

2)如果有人要在互联网上搜索更多关于Vim编辑会话与"鼠标和键盘"样式编辑的特定"逐步"比较的例子,那么人们会搜索什么?

Rus*_*lex 6

我使用相同的,首先我复制一行.然后随时粘贴我需要的东西.

然后,您可以创建一个宏来编辑键.当光标在我需要工作的第一行时.(粘贴线)

    qq f[ci'<C>-<o>q  "recordes a macro to find a [block] and 
change inner quotes ' and stays in insert mode
Run Code Online (Sandbox Code Playgroud)

然后你可以随时用@q播放你的宏.(我有一张地图Q = @q,用于按Shift + q快速启动宏)与您可以用于值的方法相同:

 qq f=f'ci'<C>-<o>q
Run Code Online (Sandbox Code Playgroud)

宏用于查找值块并转到插入模式.

比较的答案我将节省时间将我的手从键盘移动到鼠标时间=编辑行数.选择要更改的块.毫无疑问,Vim的效率更高.