vim - 如何在 Vim 中将文本插入多行中间?

标签 vim vi

假设我有十行,并且我想将文本添加到这些行中出现的某个单词之前?它不必位于行的开头。

来自:

sdfsd   foo sdfsd
sfsd    foo fsdf
sdfsdf  foo  sdfsdf

至:

sdfsd   bar(foo sdfsd
sfsd    bar(foo fsdf
sdfsdf  bar(foo  sdfsdf

是否也可以不仅在 bar( 前面加上 bar(),而且实际上用 bar(foo) 包围 foo

我还想要一种将 // 注释附加到多行的快速方法(C 风格注释)。

我使用 Vim/GVim 7.2。

最佳答案

转到第一个foo ,按Ctrl-v进入可视 block 模式并按下,直到所有带有foo的行已标记。然后按 Shift-i 在( block 的)开头插入。完成后按 Esc,插入的字符将添加到标记 block 左侧的每一行。

要在末尾插入,请再次按 Ctrl-v,向上/向下移动以标记所有受影响的行,然后按 End$ 将选择范围扩展到行尾。现在,您可以按 Shift-a 在所有行的末尾追加,就像之前使用 Shift-i.

视觉选择也可以通过普通的移动命令来完成。因此,要在 C 中注释整个 block ,您可以移动到左大括号并输入 Ctrl-v % Shift -i // Esc

关于vim - 如何在 Vim 中将文本插入多行中间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1174274/

相关文章:

ruby - 如何在 vim 中使用正确的 ruby ?如何在 VIM 中修改 $PATH?

linux - 在 Linux 中如何更改 R 中的默认文本编辑器?

linux - 如何使用 vi 删除光标位置的所有行

vim - 仅通过前导空格通过listchars显示 'space'字符

linux - bash 脚本/vi 中的后台进程

linux - vim:删除命令行中不匹配的行

macos - Mac OS X终端中的Vim : Move cursor word by word

delphi - 设置 Delphi XE 使用 Vim 作为默认合并查看器

regex - Vim Regex - 如何反转匹配多行的正则表达式?

linux - 尝试编辑 crontab 时光标不向右移动