単語全体の検索でコロンが一致しないようにする


5

通常モードで単語の上にカーソルを置き、「*」を押すと、vimは文書内の単語を検索します。ただし、単語がコロンで終わる場合、vimはその一致にコロンを含めます。これを防ぐにはどうすればよいですか?


どのバージョンのvimを使用していますか?7.3で問題を繰り返すことはできません。
アッシュ

@Ash:アドオンの1つが変更される設定でなければなりません。設定が見つかりません!7.3のMacVimを使用しています。
ニールG

回答:


9

このような検索に含まれる文字は、「iskeyword」オプションで指定されます。デフォルト値には含まれ:ていないため:、おそらくファイルタイププラグインなどの構成ファイルによって追加されている必要があります。最後に値を設定したものを見つけるには、実行します

:verbose set iskeyword?

ファイルタイププラグインによって設定されている場合、作成者はおそらくそうすると役立つと考えました。その方法が気に入らない場合:~/.vim/after/ftplugin/<filetype>.vim、Unixまたは~\vimfiles\after\ftplugin\<filetype>.vimWindows 用のファイルを作成して削除でき<filetype>.vimます。ファイルは:verbose出力で指定され、次の行に入れます。

setlocal iskeyword-=:

こちらもご覧ください:

:help *
:help 'iskeyword'

:verbose出力で指定されたファイルは?を:verbose set iskeyword?返しますiskeyword=@,48-57,_,192-255,: :verbose何も出力しません。
user289146217

表示する値iskeywordvimデフォルトでもデフォルトでもないviため、どこかに設定されています。:verbose set iskeyword?ファイル名が表示されていない場合は、おそらく+eval機能なしでビルドされたバージョンのvimを実行しています。tinyまたはsmallバージョンを実行している場合に当てはまります。それを確認するには、:versionvim内から実行し、出力を探す+eval-eval、出力を探します。
ゲイリージョン

助けてくれてありがとう:)それは述べて+evalいます
-user2891462

うわー、それは今それを出力します!「〜/ .vimrcからの最後のセット」。私は以前に追加set iskeyword-=:したことを明確にする必要があり、.vimrcそれは問題を解決したようです。そこから削除してgVimを再起動しましたが、まだそこから最後に設定されたと主張しています。ただし、現在は動作しているようです:S
user2891462

:verbose set iskeyword?が含まれている~/.vimrc場合、またはから最後に設定されたと表示されます。プラグインが正常に実行された後、あなたので、私は設定することを驚いているあなたにはこの問題の影響を持っているでしょう。いずれにせよ、私はそれが働いてうれしいです。~/.vimrcset compatibleset nocompatible~/.vimrciskeyword~/.vimrc
ゲイリージョン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.