Select 并为 VIM 或 Emacs 中的每个符号插入

Select and Insert for each symbol in VIM or Emacs

我正在尝试这样做 VIM 但我也对 emacs 开放。

假设我有这样一段代码。

test.butter0.(A, b)
test.butter1.(A, b)
test.butter2.(A, b)
test.butter3.(A, b)
test.butter4.(A, b)
test.butter5.(A, b)

现在我按下 Control V 并 select 所有的“.”符号。现在我想按冒号“:”并为每个单独的“。”插入冒号。符号。

So select 然后按下一个键并将该键插入 selected 符号或字母的每个位置。如果我也可以从我的文件中复制一个符号或字符串,然后 select 所有句点或 @ sings 或所有数字或任何垂直的符号列并粘贴它但将其替换为每个符号 selected.

像这样:

test:butter0.(A, b)
test:butter1.(A, b)
test:butter2.(A, b)
test:butter3.(A, b)
test:butter4.(A, b)
test:butter5.(A, b)

test.butter@.(A, b)
test.butter@.(A, b)
test.butter@.(A, b)
test.butter@.(A, b)
test.butter@.(A, b)
test.butter@.(A, b)

这可能吗?如果是的话怎么办?如果不可能,为每个符号扩展编写一个 Select+insert 有多难?

  • Select 文本块在视觉上如您描述的那样
  • 按“:”
  • s/\./:/g

这是你想要的吗?

尝试

:1,5s/[0-5]\.(/\@:(/g


其中 1、5 => 开始、结束行号


否则 select text 然后使用

:'<,'>s/[0-5]\.(/\@:(/g

您只需按 "r:"(无引号)即可。 它将用冒号字符替换整个块。