screen で色がやばくなったり打ち間違えて予期せぬコマンドになったりがストレスなのでvimで似たような機能ができないか試行錯誤してた。のでそのメモ書き
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')"画面分割し、右画面に移動vswincmdl
terminal ++curwin
"コマンドオプションを付与してカレントウィンドウでターミナルを開くwincmdhendif
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')vswincmdl
terminal ++curwin
wincmdh
source ~/vim/mycmd.vimendif
結果
かいてきになった!!!!!!!