起動時にvimキーの組み合わせを実行する

起動時にvimキーの組み合わせを実行する

私の中には.vimrc行があります。

autocmd VimEnter * NERDTree
autocmd VimEnter * TagbarOpen

これにより、2つのサイドバーとデフォルトの編集バッファ(編集中のファイルなど)を含む中央の列を持つレイアウトが作成されますが、カーソルはNERDTreeサイドバーにあるため、タブバーはデフォルトで縮小されます。私がやりたいことは、<C>l開いているNERDTreeと切り替えるTagbarの間でキー入力の組み合わせを実行することです(カーソルを1つのバッファの右側に移動するコマンドにマップしました)。しかし、これまではカーソルを移動します。これまで私は両方を試してみました。

autocmd VimEnter * <C>l
autocmd VimEnter * normal <Ctrl+l>

...上記の2行の間にありますが、どちらも機能しません。

私は何をすべきですか?

答え1

右側のウィンドウに移動するコマンドはです<C-w>l。次のコマンドで実行できます。

:execute "normal! \<C-w>l"

ただし、コマンドの場合は、これを簡単にする<C-w>特別なコマンドがあります。:wincmdしたがって、カスタムマッピングをスキップして次のことを行います。

autocmd VimEnter ...
autocmd VimEnter * wincmd l

答え2

もう少し考えた結果、この質問は実際には重複した質問ではないことを認めます。VIM は機能でキーボードコマンドを実行します。

あなたは正しい道を行っています。コマンドをautocmd VimEnter逃しました。execute

:help execute
:exe[cute] {expr1} ..   Executes the string that results from the evaluation    
                        of {expr1} as an Ex command.

上記のリンクのように、Ctrlキーの組み合わせを実行するための構文を使用して、次の2つをL組み合わせることができます.vimrc

autocmd VimEnter * execute "normal \<C-L>"

関連情報