1687


Vim起動時に、ウィンドウを縦分割し、右側のウィンドウに特定のファイルを開く、といった動作を行いたいのですが、うまくいきません。  
分割まではできたのですが、.vimrc上で起動時にキー操作を実行する方法はありますでしょうか。

[code]

    if has('vim_starting')
      vsplit
    
      " <C-w>l を実行したい
    
      e ~/Documents/memo.md
    
      " <C-w>h を実行したい
    
    endif
    
[/code]


CC BY-SA 3.0
2014-12-16T06:04:45.843
1685
2014-12-16T06:40:55.313
3423
question
vim
Vim起動時にウィンドウ縦分割→右側にファイルを開く方法


起動時にメモを右側に開きたいという事であれば

[code]

    rightbelow vsplit ~/Documents/memo.md
    wincmd p
    
[/code]

で出来ます。左側であれば `leftabove` を使います。vim にキーを送る際は `normal!` コマンドを使い`<C-w>p` を vim
に送る事が出来ますが、専用のコマンドとして `wincmd` も使えます。

また vimrc にファイルを開くコマンドを書く事は、ファイルを開くという行為によって望まないイベントが発生してしまう事になります。以下の様に
autocmd を使った方が良いです。

[code]

    function! s:open_memo()
      rightbelow vsplit ~/_vimrc
      wincmd p
    endfunction
    
    augroup OpenMemo
     au!
     autocmd VimEnter * call s:open_memo()
    augroup END
    
[/code]


CC BY-SA 3.0
2014-12-16T06:08:01.177
1687
2014-12-16T06:40:55.313
2014-12-16T06:40:55.313
440
440
1685
answer


キー操作を実行する方法でありませんが、ウィンドウの操作をするコマンドがあります。 wincmd です。

[code]

    <C-w>l は :wincmd l
    <C-w>h は :wincmd h
    
[/code]

になります。


CC BY-SA 3.0
2014-12-16T06:17:52.067
1690
2014-12-16T06:17:52.067
3054
1685
answer