2017-12-28 28 views
0

私はかなり新しくvimを使っています(macOS highsierraとvimはhomebrew経由でインストールされています)、そしてテキストオブジェクトをcgnコマンドシーケンスで置き換えようとしていました。これは、数回働いていたが、cgn上のすべてのオフ突然、私はこのエラーメッセージvim cgn "E35:以前の正規表現がありません"

E35得続ける:いいえ、以前の正規表現私の知る限り時にこのエラーが発生する可能性があります理解し

をユーザーは~/.viminfoに書き込む権利がありません。だから私は明示的に設定する

sudo chmod 666 .viminfo 

しかし、私はまだこのエラーメッセージが表示されます。

+2

最初に何かを検索する必要があります '/ my_search'を使用します –

+0

ありがとう、素晴らしい!この回答をお願いしますので、私はあなたのポイントを与えることができます。 – LongHike

答えて

2

:h gnをご覧ください。それは言う:前方に最後に使用された検索パターンを検索します。

最後に使用した検索パターンが必要です。 vimでの検索はスラッシュ/コマンドです。検索には正規表現が使用されるため、エラーは正規表現であり、検索語ではありません。

したがって、通常のnの動きとの違いは何ですか?よくgnは、検索された用語を選択します。コマンドを使用した場合、とgnとのハンギングは検索された用語のみを変更し、cnは検索された用語まですべてを変更します。

+0

'cgn 'は単語(例えば変数)を置き換えるのによく使われるので、カーソルの下にある単語を選択する' wildcard'コマンドに言及することは良いことです。デフォルトで '*'は次のオカレンスにジャンプしますので、これが気に入らない場合は '.vimrc'ファイルに次のものを置きます:' nnoremap *:let @/= printf( "\\ <\\C%s\\>"、expand( " ")):hlsearch 'を設定します。 – Evgeniy

+0

@ damage220私は ':s // g'の人をもっと見ていますが、これは感謝を知るのに便利です。 –

関連する問題