我想搜索文件中的所有大写单词,但我不知道该怎么做(或者如果可能的话)。我在stackoverflow上找到了这个解决方案,但它不适用于vim。
问问题
12668 次
3 回答
29
在命令模式下,假设您没有ignorecase
设置选项:
/\<[A-Z]\+\>
或者
/\v<[A-Z]+>
查找长度大于 1 且被单词边界包围的任何大写字母字符串。第二种形式使用“非常神奇”。 :help magic
详情
于 2012-06-04T13:32:38.210 回答
24
最短的答案:/\<\u\+\>
于 2012-06-04T13:39:23.417 回答
1
如果您想要所有匹配的大写单词的列表(即您对从一个单词跳转到另一个单词不感兴趣),您可以使用:
echo filter(split(join(getline(1, '$'), ' '), '\v(\s|[[:punct:]])'), 'v:val =~ "\\v<\\u+>"')
和:
getline(1, '$')
返回当前缓冲区中所有行的列表join(lines, ' ')
使这个行列表变平split(all_text, separators_regex)
建立一个类似单词的元素列表- and finally
filter(words, uppercase-condition)
that selects only the uppercase words.
于 2012-06-04T13:48:31.277 回答