如何在vim中删除N行中的第一个字符?

Posted

技术标签:

【中文标题】如何在vim中删除N行中的第一个字符?【英文标题】:How do I remove the first character in N lines in vim? 【发布时间】:2015-11-28 07:09:23 【问题描述】:

当我粘贴到 vim 时,我经常在我粘贴的每一行的开头得到一个 # 字符。

有没有一种简单的方法可以删除 N 行的第一个字符(不使用正则表达式)?

谢谢!

【问题讨论】:

粘贴到vim时使用set paste ***.com/questions/2514445/… 光标在要删除的第一个字符<ctrl>v,移动到要删除的最后一个字符x<ctrl>v 在可视模式下开始按列选择)。 【参考方案1】:

方法一:

选中这N行并按:,命令行会是这样的

:'<,'>

:'&lt;,'&gt;normal x 完成命令并按Enter

方法二:

说你粘贴的第一行和最后一行的编号分别是startNumberendNumber,使用命令行即​​可:

:startNumber,endNumber normal x

【讨论】:

【参考方案2】:

转到粘贴文本中# 的第一个匹配项。

进入分块视觉模式。

ctrl-V 

选择每行粘贴的第一个字符。

<count>j

其中计数 = N - 1

删除选中的文本。

x

顺便说一句,您应该担心在粘贴时完全避免获得#。解决方案是:set paste

【讨论】:

以上是关于如何在vim中删除N行中的第一个字符?的主要内容,如果未能解决你的问题,请参考以下文章

Vim 字符串替换命令

如何在以前读过的行中找到一些单词并在输出中删除它 - C++ 中的读/写字符串

sed:查找并替换以特定字符串开头的行中的第 n 个字符

★c语言★如何删除字符串中的第一位?★

vim中替换命令

如何在 N 行中 grep 多个字符串