Vi 编辑器:删除一行的一部分

Vi 编辑器:删除一行的一部分

考虑以下 python 代码行:

columns = ["registered","casual","counts", "workingday", "month", "dteday"]

我经常需要从这样的列表中删除一个或多个字符串。做到这一点最有效的方法是什么?我通常将光标移动到第一个单词的开头,然后使用视觉模式突出显示然后删除相关字符串。这是相当低效的,因为引号使e命令的效率降低;有一个更好的方法吗?

答案1

根据编辑器的设置方式,您可以使用dwdW。如果每个逗号后面都有空格,则第二个方法始终有效。

小写字母w代表一个单词,与标点符号不同。大写字母W表示直到空格为止的字符序列。

您还可以使用诸如d/后跟逗号和回车之类的结构,这将从光标到第一个匹配点进行删除。

答案2

对于像您的示例这样的简单内容,您可以使用整个参数(包括尾随逗号)是单个参数的事实:help WORD。对于复杂的论点,这种方法很快就会崩溃,而诸如f{char}或 之类的替代方案/{pattern}也很麻烦。视觉模式是内置答案,用于迭代细化文本。如果您想要更好的东西,您需要一个可以理解参数语法的插件。我可以推荐侧身.vim作为一种强大且通用的参数,它既提供(内部/外部)参数的选择,也提供对它们重新排序的能力。

相关内容