仅在特定行附加到可视块
Append to visual block only on specific lines
假设我有以下文字。
this.is.some.text
this.is.emos.text
this.is.some.text
this.is.emos.text
我想在 'Visual Block' 模式下编辑此文本,使文本看起来如下。
this.is.some.text
this.is.emos_suffix.text
this.is.some.text
this.is.emos_suffix.text
它应该像这样工作:
- Select一个视觉块
- 如果视觉块包含 emos 附加 '_suffix' 到视觉
块(就像 'A' 命令一样)
从视觉块模式或任何其他视觉模式实现该的唯一原生方法是使用替换:
:'<,'>s/emos/&_suffix<CR>
哪里……
- 你按
:
,
- Vim 为您插入范围
'<,'>
,意思是“从第一个选定行 :help '<
到最后一个选定行 :help
'>`,
s/emos/&_suffix
将给定范围的每一行中每个第一次出现的 emos
替换为其自身,:help s/\&
,然后是 _suffix
.
视觉选择通常是不必要的步骤,在这种情况下,视觉块模式完全没用,因为 A
或 I
无论如何都会对选择的每一行进行操作。
另一种方法:
/emos/e<CR>
a_suffix<Esc>
n
.
另一个:
/emos<CR>
cgn<C-r>"
_suffix<Esc>
.
另一个,假设光标在样本的第一行:
:,'}s/emos/&_suffix<CR>
等等
假设我有以下文字。
this.is.some.text
this.is.emos.text
this.is.some.text
this.is.emos.text
我想在 'Visual Block' 模式下编辑此文本,使文本看起来如下。
this.is.some.text
this.is.emos_suffix.text
this.is.some.text
this.is.emos_suffix.text
它应该像这样工作:
- Select一个视觉块
- 如果视觉块包含 emos 附加 '_suffix' 到视觉 块(就像 'A' 命令一样)
从视觉块模式或任何其他视觉模式实现该的唯一原生方法是使用替换:
:'<,'>s/emos/&_suffix<CR>
哪里……
- 你按
:
, - Vim 为您插入范围
'<,'>
,意思是“从第一个选定行:help '<
到最后一个选定行:help
'>`, s/emos/&_suffix
将给定范围的每一行中每个第一次出现的emos
替换为其自身,:help s/\&
,然后是_suffix
.
视觉选择通常是不必要的步骤,在这种情况下,视觉块模式完全没用,因为 A
或 I
无论如何都会对选择的每一行进行操作。
另一种方法:
/emos/e<CR>
a_suffix<Esc>
n
.
另一个:
/emos<CR>
cgn<C-r>"
_suffix<Esc>
.
另一个,假设光标在样本的第一行:
:,'}s/emos/&_suffix<CR>
等等