LoginSignup
1
3

More than 3 years have passed since last update.

Vimでカーソルが常に画面中央行になる設定

Last updated at Posted at 2019-11-01

はじめに

コメントで指摘頂いた内容です。
記事の内容は、ファイル末尾の挙動を除いて、

:set scrolloff=999

というコマンド一つで満たされるので、こちらをお使いください。
また、省略形で

:set so=999

というものもあるので、編集中に設定する場合はこちらがおすすめですよ!

記事の設定を用いるとVimを開いたまま元に戻すことができないのに対し、
:set so=0
とすると何もしない状態に戻すことができます。
また、
:set so=5
とすると、上下少なくとも5行を表示してくれるので、前後関係の把握に便利です。

こんなのがあれば便利なのではないかと考えて設定しましたが、やっぱり不便だったのでボツにしました。
しかし、必要な人もいるのではと思ったので、設定を晒します。

設定方法

~/.vimrcに以下を追記するとよい。

.vimrc(一部抜粋)
noremap h hzz
noremap j jzz
noremap k kzz
noremap l lzz
noremap gj gjzz
noremap gk gkzz
noremap + +zz
noremap - -zz
noremap e ezz
noremap b bzz
noremap w wzz
noremap ge gezz
noremap E Ezz
noremap B Bzz
noremap W Wzz
noremap gE gEzz
noremap n nzz
noremap N Nzz
noremap G Gzz
noremap g; g;zz
noremap g, g,zz
noremap <C-u> <C-u>zz
noremap <C-d> <C-d>zz
noremap u uzz
noremap <C-r> <C-r>zz
noremap % %zz
noremap d dzz
noremap o ozz
noremap O Ozz

解説

Vimでは、zzコマンドによってカーソル行が中央になるように画面を移動してくれる。
そこで、Vimで移動するコマンドを*zzとマッピングする。(今回は思いついたものだけ抜粋したため、適宜必要なコマンドをマッピングしてもらうと良い)
画面上部ではカーソル行を中央にすることはできない。

1
3
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
1
3