a) item 1
b) item 2
c) item 3
最快的方法是什么:
* item 1
* item 2
* item 3
我有一种可视模式方法(Ctr-v,jjj,但需要执行两个替换命令。irc,此替换可以用1个命令完成)
#1 楼
可视块选择:<C-v>
jjl
c*
<Esc>
:normal
::,+2norm! cE*
:,+2s/^.\{2}/*
点公式:
cE*<Esc>
j.
j.
评论
疯狂的方法:使用textobj-word-column.vim可以执行ciC *
– Peter Rincker
2015年2月20日在23:55
有趣的法线和点公式!
–poseid
15年2月21日在9:40
请注意,对于Visual-block解决方案,您只会在第一行看到键入的文本。按下
–tommcdo
18年2月27日在12:04
关于记住c将替代的方法有什么建议吗?就像ctrl + D(own)
–乔丹·麦基(Jordan Mackie)
19 Mar 28 '19在16:06
@JordanMackie c用于“更改”。
– romainl
19年3月30日在16:24
#2 楼
这是执行此操作的更有效方法:将光标置于第一项和第一个字母(0)上,进入“逐块”可视模式Ctrl + v并选择您的第一列当前的段落由}(如果您的列表以新行结束),否则请使用其他方法,例如箭头键(在所选内容中移动)或模式搜索/ c,其中
c
是最后一个元素)。移至用k和l(或使用箭头键)显示列表的最后一个符号,因此选择了要更改的两列。
通过按c并输入项目符号(
*
)来更改选定的文本,最后按按下Esc键。可以更有效地工作,尤其是在较长的列表中。
评论
像。,。+ 2s /^../*/(或等效地在视觉选择中)?为什么要使用两个替换命令? 2c将替换两个字符。有时只更改视觉选择中的第一行,然后使用重复。其他的行把事情弄糟了。
@poseid您是否习惯按Ctrl-C而不是Esc?这尤其防止了将更改应用于可视块选择的每一行。
那可能是造成混乱的主要原因!谢谢!