如何在Vim中一次更改文件中从大写到小写的所有特定单词?

时间:2012-04-17 22:08:39

标签: vim

我有一个文件,其中我用大写写了很多时间相同的单词。我想从大写到小写一次修改所有单词,除了那些跟在点后面的单词。那可能吗?我已经在这里和那里找到了一些提示,但是在所有这些提示中都需要将光标放在单词的乞讨处。

3 个答案:

答案 0 :(得分:5)

:%s/\.\@<!\<THEWORD\>/theword/g

将“THEWORD”和“theword”替换为相关实际单词的正确等效内容。

答案 1 :(得分:3)

:%s/.*/\L&/g

当然,它必须是正确的正则表达式。 这个需要全部(。*),剩下的由你决定。

详细信息:http://vim.wikia.com/wiki/Changing_case_with_regular_expressions

答案 2 :(得分:1)

:1,$s/\([^\.]\s\s*\)MYWORD/\1myword/g

这将用myword替换所有MYWORD,除非它遵循a。和一个或多个空格。这不会在行首开始改变MYWORD。对于那些,您可以再次运行以下内容:

:1,$s/^MYWORD/myword/