6
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

vimで画面分割!右半分をターミナルにする

Last updated at Posted at 2019-04-03

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を起動したらこんな感じになるはず
image.png

右画面のターミナルを閉じずに: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と打って閉じれば成功!!!

結果
かいてきになった!!!!!!!

6
11
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?