VIM は機能でキーボードコマンドを実行します。

VIM は機能でキーボードコマンドを実行します。

キーコマンドを実行したい関数があり、後ろに文字エラーが表示されます。

function! MyFunction()
  if condition
    <C-W><C-W>
  else
    :some_other_command
  endif
endfunction

<CW> <CW>が好きではありません

代わりに何を使用できますか?

答え1

一般的な答えは、次:normalのコマンドを使用することです。

:exe "normal \<C-W>\<C-w>"

これは、コントロールキーの組み合わせなどの特殊文字を認識するために人が読むことができる方法です:execute:normal別の方法は

:normal ^W^W

これらはそれぞれ^Wを入力して挿入された文字ですCtrl-vCtrl-w

答え2

使用フィードキー機能。 ^Wは「^」+「W」ではなく、実際に「Ctrl-V Ctrl-W」と入力することに注意してください。これは特別な役割です。

function! MyFunction()
  if condition
    call feedkeys("^W^W")  
  else
    :some_other_command
  endif
endfunction

関連情報