検索を現在の行に制限する方法

検索を現在の行に制限する方法

挿入モード中に「共通」挿入点を連続して移動できるマップを作成しようとしています。たとえば、delimitMateプラグインがあります。したがって、開始区切り記号を入力すると、区切り文字が自動的に閉じられ、それらの間に配置されます。内部にテキストを入力したら、通常は区切り文字の末尾に移動して挿入モードを維持したいと思います。今後は、次の機能のために

 $("#someid").live("someevent", function (param1, param2) {

私が望むのは、次の区切り文字(二重引用符、二重引用符、角括弧、および/またはEOL)の最初からジャンプしてその点を繰り返すことができる挿入モードマッピングです。

VIM検索文書を確認しました。 \%l 演算子を使用すると、特定の行番号に制限できます。 \%.l(.が現在行)を試しましたが、機能しません。どんなアイデアがありますか?

:exe  "/\\%" . line(".") . "l[{}()\"':=\\[\\],]"

動作しているようですが、カーソルを一致に移動しません。

ベストアンサー1

次のように機能します。

inoremap <C-e> <C-o>:call search("\\%" . line(".") . "l[{}():=\\[\\]\.,]","We")<cr>

これにより、カーソルは現在の行の一致に移動しますが、2つの操作が正しく実行されません。

  1. キーを押すたびに一時停止が発生します。
  2. 必要に応じて文字を一致させた後ではなく、文字を一致させる前にInsモードに切り替えます。

おすすめ記事