すべての空白を無視して(そしてそれを関数にする)vimで検索する方法

Hielke Walinga

vimで文字列を検索し、文字間の空白(または特に改行)を無視するにはどうすればよいですか?

そしておそらくそれによってすべての空白を無視して検索できる関数を作成します。

正規表現の空白を無視する方法を見つけました。本当にエレガントではありません。\s*任意の文字の間に挿入するだけです。したがって、これを関数にすることが本当に必要になります。
https://stackoverflow.com/questions/4590298/how-to-ignore-whitespace-in-a-regular-expression-subject-string

また、vimで改行を検索する方法を見つけました:
vimは改行を検索します

ただし、最後のリンクは、改行がスペースがあった場合にのみ解決策を提供します。ただし、すべての空白を無視したいと思います。

したがって、ここでhelloworldを検索すると、次のようになります。

blabla blalba hell  
oworld bla bla h  
elloworl bla bla  

改行にもかかわらず、2回一致する必要があります。

基本的に、vimリンクから関数を少し変更して検索を次のように変更する必要があると思いました。

h\n?e\n?l\n?l\n?o\n? \n?w\n?o\n?r\n?l\n?d  

または:

h\s_?e\s_?l\s_?l\s_?o\s_? \s_?w\s_?o\s_?r\s_?l\s_?d

しかし、そのための機能を変更する方法がわかりません。

インゴカーカット

視覚的に選択したテキストを検索するVimのヒントWikiにトピックがマッピングを持っている現在の視覚的な選択を検索し、関係なく、量と単語の間にある空白のタイプ。組み込みの*マッピングのように使用して、現在の選択を検索(スペースを無視)することができますとても便利な!

ただし、テキスト内の任意の位置で改行(およびその他の空白?)を許可して、空白をさらに無関心にする必要があります。それも可能です。次のコマンドを使用して、現在の検索パターン(レジスタ/格納され、Vimscriptからアクセス可能@/)を調整できます

:let @/ = join(split(@/, '\zs'), '\_s*')

split()(リテラル)現在は、個々の文字の一覧に検索する最初のカット(それはのような既存の正規表現のもので正しく動作しませんので、\+または\|!)、その後、join()一緒に戻ってそれをよ\_s*(空白の任意の量に一致する)、および譲受人それ検索レジスタに戻ります。

その(:nnoremap <Leader>/ :let ...<CR>からマッピングを作成するか、これを上記のビジュアルモードマッピングに組み込むことができます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

トップ10クエリを使用して、それらに関連付けられているすべてのレコードを検索します

分類Dev

grepを使用して文字列を検索し、その間のコンテンツを無視する

分類Dev

正規表現を使用して、2つの区切り文字の間の文字列と空白をそのままにして、行内のすべてのテキストを検索して置き換えるにはどうすればよいですか?

分類Dev

空白を無視して、セルの行で一意の個別の値をすべて検索したい

分類Dev

特定のフォルダ内のすべての電子メールを無視して、Outlookを検索するにはどうすればよいですか?

分類Dev

Fusejsを使用して検索で特定の用語を無視する方法は?

分類Dev

Rails SQL:すべての特殊文字を無視してテーブルの列を検索する方法

分類Dev

catとgrepを使用して行とその番号を出力し、同時に空白行を無視する

分類Dev

Sequelizeがすべての名前を複数化/単数化するのはなぜですか?そして、それを完全に止める方法は?

分類Dev

連続して表示される場合、最初のパターンを無視してgrepで複数のパターンを検索する方法

分類Dev

文字列内の値を検索し、その値が存在する場合は、それ自体を新しい列にすべて出力します

分類Dev

LibreOffice Calcで空のセルを自動的に無視する(そして後の関数でそれらの役割を調整する)にはどうすればよいですか?

分類Dev

PrincipalContextを使用してLDAP(Active Directory)ですべてのユーザー名とその情報を検索する

分類Dev

登録されていないユーザーが「検索」を押した回数をカウントし、それをMySQLデータベースに保存して、すべてのユーザーに対してその回数を制限するにはどうすればよいですか?

分類Dev

検索と置換 ':'コロンは、すべて置換で「その関数は無効です」というエラーを表示します

分類Dev

変数の値を使用して、名前がその値である別の変数を検索するにはどうすればよいですか?

分類Dev

複数の列で一意のテキストを検索して、それらの一意の行を他のシートに入力する方法

分類Dev

リーフレットの検索ボックスが簡単に消えるのはなぜですか?そしてそれを維持する方法は?

分類Dev

gitmergeで空白を無視して検出の名前を変更する

分類Dev

複数の文字列を検索し(関数を呼び出す場合)、すべての文字列を強調表示するvim関数を作成する方法(n / Nを使用して移動するように)

分類Dev

git mergeを使用して末尾の空白を無視する方法は?

分類Dev

C#-> Roslyn-> unixの「strings」コマンドのようなすべての文字列を検索し、それらを操作できるようにする

分類Dev

関数を実装するために検索して、文字列内のほとんどの出現文字を取得し、それをカウント

分類Dev

単語間の空白を無視して他の文字を無視する方法は?

分類Dev

変数を検索し、その結果を使用してPowerShellで照合するにはどうすればよいですか?

分類Dev

変数を検索し、その結果を使用してPowerShellで照合するにはどうすればよいですか?

分類Dev

gitでリベースし、すべての競合に対して「それら」を強制する方法

分類Dev

私の機能の何が問題になっていますか?すべての一般的な文字を検索し、それらを1つの文字列に連結する関数があります

分類Dev

変数に文字列が含まれているかどうかを検出し、その文字列の後の単語をバッチで検索します

Related 関連記事

  1. 1

    トップ10クエリを使用して、それらに関連付けられているすべてのレコードを検索します

  2. 2

    grepを使用して文字列を検索し、その間のコンテンツを無視する

  3. 3

    正規表現を使用して、2つの区切り文字の間の文字列と空白をそのままにして、行内のすべてのテキストを検索して置き換えるにはどうすればよいですか?

  4. 4

    空白を無視して、セルの行で一意の個別の値をすべて検索したい

  5. 5

    特定のフォルダ内のすべての電子メールを無視して、Outlookを検索するにはどうすればよいですか?

  6. 6

    Fusejsを使用して検索で特定の用語を無視する方法は?

  7. 7

    Rails SQL:すべての特殊文字を無視してテーブルの列を検索する方法

  8. 8

    catとgrepを使用して行とその番号を出力し、同時に空白行を無視する

  9. 9

    Sequelizeがすべての名前を複数化/単数化するのはなぜですか?そして、それを完全に止める方法は?

  10. 10

    連続して表示される場合、最初のパターンを無視してgrepで複数のパターンを検索する方法

  11. 11

    文字列内の値を検索し、その値が存在する場合は、それ自体を新しい列にすべて出力します

  12. 12

    LibreOffice Calcで空のセルを自動的に無視する(そして後の関数でそれらの役割を調整する)にはどうすればよいですか?

  13. 13

    PrincipalContextを使用してLDAP(Active Directory)ですべてのユーザー名とその情報を検索する

  14. 14

    登録されていないユーザーが「検索」を押した回数をカウントし、それをMySQLデータベースに保存して、すべてのユーザーに対してその回数を制限するにはどうすればよいですか?

  15. 15

    検索と置換 ':'コロンは、すべて置換で「その関数は無効です」というエラーを表示します

  16. 16

    変数の値を使用して、名前がその値である別の変数を検索するにはどうすればよいですか?

  17. 17

    複数の列で一意のテキストを検索して、それらの一意の行を他のシートに入力する方法

  18. 18

    リーフレットの検索ボックスが簡単に消えるのはなぜですか?そしてそれを維持する方法は?

  19. 19

    gitmergeで空白を無視して検出の名前を変更する

  20. 20

    複数の文字列を検索し(関数を呼び出す場合)、すべての文字列を強調表示するvim関数を作成する方法(n / Nを使用して移動するように)

  21. 21

    git mergeを使用して末尾の空白を無視する方法は?

  22. 22

    C#-> Roslyn-> unixの「strings」コマンドのようなすべての文字列を検索し、それらを操作できるようにする

  23. 23

    関数を実装するために検索して、文字列内のほとんどの出現文字を取得し、それをカウント

  24. 24

    単語間の空白を無視して他の文字を無視する方法は?

  25. 25

    変数を検索し、その結果を使用してPowerShellで照合するにはどうすればよいですか?

  26. 26

    変数を検索し、その結果を使用してPowerShellで照合するにはどうすればよいですか?

  27. 27

    gitでリベースし、すべての競合に対して「それら」を強制する方法

  28. 28

    私の機能の何が問題になっていますか?すべての一般的な文字を検索し、それらを1つの文字列に連結する関数があります

  29. 29

    変数に文字列が含まれているかどうかを検出し、その文字列の後の単語をバッチで検索します

ホットタグ

アーカイブ