簡體   English   中英

如何在vim中搜索所有大寫單詞?

[英]How to search for all uppercase words in vim?

我想在文件中搜索所有大寫單詞,但我不知道如何做(或者如果可能的話)。 我在stackoverflow上找到了這個解決方案 ,但它在vim上不起作用。

在命令模式下,假設您沒有設置ignorecase選項:

/\<[A-Z]\+\>

要么

/\v<[A-Z]+>

查找大於字長邊界的長度為1的大寫字母串。 第二種形式使用'非常神奇'。 :help magic細節

最短的答案: /\\<\\u\\+\\>

如果你想要一個所有匹配的大寫單詞的列表(即你不想從一個單詞跳到另一個單詞),你可以使用:

echo 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) ,只選擇大寫單詞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM