vimをカスタマイズしてやったわ[set編]
筆者が設定しているsetコマンドを逐一説明して自分が忘れなくするための記事です
vimのsetコマンド
vimには4つのモードがあります。
- ノーマルモード
- インサートモード
- コマンドモード
- ヴィジュアルモード
これらのうちのコマンドモードにおいて
:set ~~~
となるコマンドが多数存在します。例えば、
:set number
と打ち込むと、左端に行数が出現します。
:set nonumber
と打ち込むと消えます。
おおおぉぉぉ!便利!ってなるコマンドが多数存在するのですが、vimを起動するたびに無数のsetコマンドなんて打ってられるだろうか?(いや、無理(反語))
そこで
前回も少し登場しました ~/.vimrcに気に入ったsetコマンドは打ち込んでいきます。~/.vimrcとはvimが起動されるたびに最初に読み込まれるファイルなので、ここに
:set number
:set ruler
とか打ち込んでおくと起動した時にはすでにnumberがsetされてしまっているということになるのです。これは、まさに、便利!
vimのsetと私
今回はここからスタートです笑
""""""""""""""""""""""↲
" plugin関係なし↲
""""""""""""""""""""""↲
" vimの見た目系↲
set ruler↲
set number↲
set title↲
set showcmd↲
syntax on↲
" 空白系↲
set autoindent↲
set smartindent↲
set shiftwidth=2↲
set expandtab↲
set tabstop=4↲
set ambiwidth=double↲
set list↲
set listchars=tab:»-,trail:-,eol:↲,extends:»,precedes:«,nbsp:%↲
" カーソル系↲
set whichwrap=b,s,[,],<,>↲
set backspace=indent,eol,start↲
set virtualedit=block↲
" ファイル操作系↲
set noswapfile↲
set hidden↲
set wildmenu↲
set backupdir=$HOME/.vimbackup↲
" 文字列系↲
set nrformats-=octal↲
" 検索系↲
set ignorecase↲
set smartcase↲
set hlsearch↲
set incsearch↲
set wrapscan↲
""""""""""""""""""""""↲
見た目系
ruler
右下に現在どの位置にいるかを示してくれる欄が出現します。便利なのでとりあえず入れとけ系ですね。
number
とりあえず入れとけ系第2弾ですね。左端に行数を入れてくれます。問題点を強いていえば、tmuxのコピーモードの時に邪魔です。
title
とりあえず入れとけ系第3弾!その名の通り開いているファイル名を表示してくれます
showcmd
確か一番下にちゃんとコマンドを表示するとかそんなんだった気がするけど…すみません!勉強不足というか、なんというか、とりあえず入れとけ系第4弾!!笑
空白系
autoindent
前の行のインデントと自動で合わせてくれます。わいは毎回tab押したいんやーーーーー!って人はオフにしておきましょう。デフォルトでonだそうです
smartindent
前の行の末尾の文字で勝手に判断してインデントをつけてくれます。これってautoindentと競合しないんだな。
shiftwidth=2
自動インデントでずれる幅です。師匠の2を受け継ぎました。
expandtab
tabを押してできた空白を半角スペースにするというものです。最初から書いてたんでアレなんですけど、この設定なかったらtab空白みたいな馬鹿でかい空白が生まれるんですかね。
tabstop=4
これはtabキーを押した時に半角スペース何個入れるかです。師匠の4を受け継ぎました。
ambiwidth=double
全角スペースを半角スペース二つに置き換える的なやつだった気がするぜ!
list
空白やら改行やらを可視化してくれるのである!地味に便利!
listchars=tab:>>-,trail:-,eol:↲,extends:>>,precedes:<<,nbsp:%
長い!空白文字を如何様にして可視化するかというやつです!
カーソル系
whichwrap=b,s,[,],<,>
折り返しでカーソル移動ができる!行頭でh押したら1行上の末尾に行ける!
backspace=indent,eol,start
backspaceキーをどこでも使えるようにするにはこの設定を入れねばならぬのだよ
virtualedit=block
空白行にもカーソルを移動できるようになるとかそっち系!よくわかってない!
ファイル操作系
noswapfile
なんかvimを使ってるとvimが勝手にswapファイルなるものを生成してるんですよ。鬱陶しくなったら作るな!バカ!と言ってやりましょう。
hidden
重複してファイルを開ける的なやつだった気がしますが、ちゃんと恩恵に預かったことはないです。
wildmenu
多分なんですけど、:eとかでファイル探してるとかに、中途半端なところでtab打って限界まで補完してくれた後、その後ろどうするって表示してくれるやつですね。便利
backupdir=$HOME/.vimbackup
backupファイルを作る場所を指定しております
文字列系
nrformats-=octal
0スタートの数字も10進数で扱ってください。普通の人間は16進数など使わんですよvimさん。
ignorecase
検索をかける時に大文字小文字の区別をなくしてくれるらしい!
smartcase
これをignorecaseと一緒に書いておけば、大文字を書いた時だけ大文字小文字を区別してくれるらしい!
hlsearch
high light searcdです。検索結果がハイライトされます
incsearch
インクリメントサーチができます。Google検索みたいに、Enter押す前から書き込まれてる分で検索を始めるやつです。
wrapscan
最後の検索結果から次に行くと最初の検索結果に飛びます。
以上
サクッと書くつもりが結構多くて、
しかもとりあえず書いてた的なの多すぎてこんな冗長で中身のない記事を書く結果となってしまいました。反省していま…せん。忘備録なので!笑
次回はプラグイン編ですかね!