vimでscreenのような画面分割がしたかった
#vim 8.1 をインストールする
:terminal コマンドが使えるのはvim 8.1からなので最新版にする。
vimのバージョン確認は
$ vim --version
バージョンが古かったらアップデート
普通に# apt install だけだと7.XXとかがインストールされる
$ sudo add-apt-repository ppa:jonathonf/vim
$ sudo apt-get update
$ sudo apt-get install vim
#ターミナルを起動時に垂直分割する
~/.vimrc
"vim 起動時に実行される
if has('vim_starting')
"画面分割し、右画面に移動
vs
wincmd l
terminal ++curwin
"コマンドオプションを付与してカレントウィンドウでターミナルを開く
wincmd h
endif
###tips
windowsのブラウザからエディタに貼り付けると改行コードが違って改行されない場合は
$ cat >> .vimrc とかでターミナルにコピペ、 Enter CTRL+D で追記するのが楽
vimを起動したらこんな感じになるはず
右画面のターミナルを閉じずに:qで終了すると右画面がバックグラウンドに行くのであとあと面倒に。
移動して $ exit で毎回終了するのも面倒なので左画面で:Kuと打ったら終了するようにスクリプトを編集する。
~/vim/mycmd.vim
"ユーザー定義のコマンドは大文字じゃないとだめ
command! -nargs=0 Ku call Cl_all(<f-args>)
function Cl_all()
"ノーマルモードでCTRL+w, wを実行する。\は特殊キーのエスケープのため
execute "normal! \<C-w>w"
call feedkeys("exit\<CR>")
endfunction
このスクリプトファイルをvim起動時に読み込ませるには source ~/vim/mycmd.vim を追加してやればOK
~/.vimrc
if has('vim_starting')
vs
wincmd l
terminal ++curwin
wincmd h
source ~/vim/mycmd.vim
endif
vimを起動してみて:Kuと打って閉じれば成功!!!
結果
かいてきになった!!!!!!!