DEV Community

kaede
kaede

Posted on • Edited on

2 1

Vim 基礎 Part 02 -- .vimrc のみで表示、入力を最適化する

表示系

https://www.freecodecamp.org/news/vimrc-configuration-guide-customize-your-vim-editor/

freecodecamp を参考に、一行一行何をしているのか咀嚼しながら追加する。

プラグインは入れないことにする。

コメントは "


syntax on で vim で開いたファイルに色をつける🌈

syntax 記述なし

Image description

通常は vim で開いたテキストは真っ白。

syntax on

Image description

だが、この設定を入れるとコードに応じて色がつく。
かなり見やすくなる。

vim 9 では最初から入っている

Image description

shell script にも対応している


set number

デフォルトは OFF

Image description

set nonumber で通常どうり、内部のテキストだけが表示され

Image description

set number で行の左に数字が表示されるようになる

VSCode と違って、選択してコピーする際に入ってしまうのが難点。

:set nonumber を編集中に打つことでも一時的に解除できる


set cursorline

Image description

何行目を編集しているかわかりやすくなる


set incsearch

Image description

検索フォームに入力中に、エディタ内部のその文字列がハイライトされるようになる。


set hlsearch

Image description

検索した後の単語がハイライトされる

しかし検索を終えてもハイライトは消えなくて邪魔なので

:noh と打って消すことになる。

https://stackoverflow.com/q/3691247

nnoremap <ESC> :nohlsearch<CR> 
Enter fullscreen mode Exit fullscreen mode

なお、これで esc 二連打で noh を簡単に打てる。


白いステータスラインバーの左からファイルのステータスを表示する

set laststatus=2
set statusline+=\ %F\ %M\ %Y\ %R 
Enter fullscreen mode Exit fullscreen mode

ステータスラインを出すために :wq を書くところを下に固定
下部の白いステータスラインに F, M, Y, R のものを
左側から追加していく

Image description

F がファイルのフルパス
M が Modifled Flag なので、変更されて保存されてない時は + が出る。
Y がなんの拡張子で読み込まれているか
R が Read Only Flag なので、書けないファイルでは表示される。


白いステータスラインバーの右からファイルのステータスを表示する

Image description

set statusline+=%=
set statusline+=\ line:\ %l\ from_the_left:\ %c\ percent:\ %p%%
Enter fullscreen mode Exit fullscreen mode

ステータスバーを右寄せにして
L の行数、C の左からの文字数、P のあと何行残っているか
これらを表示する



入力系

jj で insert から escape する

https://medium.com/diegodev/vim-tip-remapping-jj-to-escape-8efc4ad8a6bf

imap jj <Esc>
Enter fullscreen mode Exit fullscreen mode

imap で簡単にキーマップを変えることができる。
これで作業が格段に早くなる。


set showcmd

Image description

打っている途中のコマンドが下に表示される
vimmer のイベントで これを

https://atmarkit.itmedia.co.jp/ait/articles/1902/12/news024.html

この Windows のあ/A の切り替えのときのように
画面中央に大きく表示させている人がいた

なのでいつかやってみたい。


Top comments (0)

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️