我想在Vim中编写命令,它可以删除第三行中的第9和第11个符号。我做了这个3s/.{9,11}//
但它没有工作。如果您的建议能够做到这一点,我们将不胜感激。 这里是一个例子。我有三条线海大海在vim中替换第n个符号的命令
下面
3米以上
3米需要一些帮助,在vim
所以我想删除第三行第9个象征符号,在单词“some”中是“e”字母,在单词“help”中是第11个字母是字母“h”。
我想在Vim中编写命令,它可以删除第三行中的第9和第11个符号。我做了这个3s/.{9,11}//
但它没有工作。如果您的建议能够做到这一点,我们将不胜感激。 这里是一个例子。我有三条线海大海在vim中替换第n个符号的命令
下面
3米以上
3米需要一些帮助,在vim
所以我想删除第三行第9个象征符号,在单词“some”中是“e”字母,在单词“help”中是第11个字母是字母“h”。
移动的注释答案
对于Vim的,许多正则表达式特价要求反斜杠。 %c是列匹配操作。因此,
:3s/\%9c.//
将在位置9处的“任何字符”替换为无。您也可以连接替换,但是每个表达式之间的内容会有所不同。在这种情况下,删除第9栏后,11(在帮助 'H')实际上是在只对第三线位置10
:3s/\%9c.//|s/\%10c.//
:
:3norm! 9|x10|x
或
:norm! 3G9|x10|x
取适量涂抹于整个缓冲区:
:%norm! 9|x10|x
我得到了答案,但谢谢你,肯特。现在,老了,参考了一个很久以前的电视节目,以及我经常使用的节目。欢呼声,规范! –
对于VIM,许多正则表达式邻perators需要反斜杠转义。而%c是匹配列op。 '3s/\%9c。''将会替换第9列中的任何字符。 –
您也可以连接替换。在这种情况下,位置11会在第一次变化后下降到10,所以':3s/\%9c .// | s/\%10c。'' –
这是一个很酷的解决方案!!我该怎么做这个命令两次?我的意思是我想用一个命令替换第9列和第11列的任何字符。 – fuser