16

ファイル内のすべての大文字の単語を検索したいのですが、その方法がわかりません (または可能かどうか)。私はこの解決策をstackoverflowで見つけましたが、vimでは機能しません。

4

3 に答える 3

29

オプションが設定されていないと仮定して、コマンドモードからignorecase

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

また

/\v<[A-Z]+>

単語境界で囲まれた長さ 1 より大きい大文字の文字列を検索します。2 番目の形式は、'very-magic' を使用します。 :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)単語のような要素のリストを作成する
  • 最後にfilter(words, uppercase-condition)、大文字の単語のみを選択します。
于 2012-06-04T13:48:31.277 に答える