我想在一个文件中查找所有的大写字母单词,但是我不知道如何做到这一点(或者是否可能)。 我在stackoverflow上找到了这个解决方案,但在vim上它不起作用。
假设您没有设置选项ignorecase
,从命令模式开始:
/\<[A-Z]\+\>
或者/\v<[A-Z]+>
查找任何一个被单词边界包围且长度大于一的大写字母字符串。 第二种形式使用 'very-magic'。 有关详细信息,请参阅:help magic
。
ignorecase
设置。 - William Pursell/\<\u\+\>
。:help \u
。 - dusanecho filter(split(join(getline(1, '$'), ' '), '\v(\s|[[:punct:]])'), 'v:val =~ "\\v<\\u+>"')
使用:
getline(1, '$')
返回当前缓冲区中所有行的列表join(lines, ' ')
将这个行列表压平split(all_text, separators_regex)
构建一个类似单词的元素列表filter(words, uppercase-condition)
仅选择大写单词。