3

<esc>挿入ビジュアル モード (選択モード) からビジュアル モードに切り替えるために、コマンドを vimscript に入れる方法を教えてもらえますか?

これは私のスクリプトです:

  if a:type == "'<,'>" 
    normal! "\<esc>\<esc>"
    normal gvy
    let myvariable= @+
  endif

説明:
テキストを選択しました。(現在、挿入ビジュアル モード(=選択モード)になっています)ビジュアル モード
で同じテキストを選択する必要があります。 vimscript がなければ、コマンドを2 回押し、通常モードでコマンドを押して選択を再度選択するだけで、今回はビジュアル モードになります。
<esc>gv

上記のスクリプトのようにコマンドを入れようとしました<esc>が、うまくいきません。

4

2 に答える 2

3

の呼び出しの構文が完全に間違っています:normal

normal! "\<Esc>\<Esc>"

通常モードで 14 文字を実行しますが、いずれもエスケープ文字にはなりません。通常は式を受け入れません。使用する必要があります

execute "normal! \e\e"

\<Esc>も機能しますが、\e入力する方が高速です)。ここに通常のコマンドが 2 つある理由がわかりません。

execute "normal! \e\egvy"

. しかし、このスクリプトを呼び出すにはどうすればよいのでしょうか? この情報がなければ、上記はまったく役に立たないことが証明される可能性があります。

PS: イージー モードを使用すること、さらにイージー モードでマウスを使用することは、vim の使用方法として完全に間違っているという @romainl の意見に完全に同意します。

于 2012-11-10T11:38:28.843 に答える
2

そもそもインサートビジュアルモードって何やってんの?GVim を「イージー」モードで使用し、マウスを使用していますか? もっと良い方法があります…</p>

とにかく、代わりに<Esc><Esc>使用<C-g>して選択モードからビジュアルモードに切り替えることができます。

あなたの目標についての背景がなければ、私には確信が持てませんが、あなたは不必要に複雑なことをしていると思います.

于 2012-11-10T09:33:45.557 に答える