はじめに
Vimの設定一覧です。
注意
私の設定ファイルにあったコメントをほぼそのまま移しているので、誤りがあるかもしれません。
環境
TBD
私の設定
私の設定は以下の通りです。
Search
検索に関する設定です。
set hlsearch
検索文字列に色を付けます。
set ignorecase
検索時に大文字小文字を区別しません。
set smartcase
検索時に大文字と小文字の両方が含まれている場合、大文字と小文字を区別します。
set wrapscan
検索時にファイルの最後まで行ったら最初に戻ります。
set gdefault
置換時に /g
をデフォルトで有効にします。
Edit
編集に関する設定です。
set tabstop=4
タブの半角スペース数です。
私は8から4に変更しました。
set softtabstop=0
タブの入力時に挿入する半角スペース数です。
0だとOFFになります。
set shiftwidth=0
改行時などにインデントする半角スペース数です。
0だと tabstop
の値が使われます。
set smarttab
タブの入力時に半角スペースを挿入します。
set expandtab
タブを半角スペースに展開します。
set autoindent
自動的にインデントします。
インデントの設定は他にも smartindent
や cindent
があります。
詳細は公式ドキュメントをご参照ください。
以下の記事も参考になります。
set backspace=indent,eol,start
バックスペースでインデントや改行を削除できるようにします。
set showmatch
括弧入力時に対応する括弧を表示します。
set matchtime=1
showmatch
で対応する括弧を表示する時間です。(単位:0.1秒)
デフォルトは0.5秒です。
set matchpairs+=<:>
対応する括弧に <>
を追加します。
set wildmenu
コマンドライン補完するときに強化されたものを使います。
set wildignorecase
コマンドライン補完するときに大文字と小文字を区別しません。
set wildmode=list:full
TBD
set formatoptions+=mM
テキスト挿入中の自動折り返しを日本語に対応します。
set nrformats=alpha
数値の増減を常に10進数として行い、英字も増減できるようにします。
デフォルトは octal,hex
です。
set virtualedit+=block
矩形選択で行末にテキストがなくてもカーソルを移動できるようにします。
Display
GUI固有ではない画面表示に関する設定です。
set number
行番号を表示します。
set relativenumber
キャレット位置を基準として行番号を表示します。
set ruler
ルーラーを表示します。
set list
タブや行末の半角スペース、改行などを可視化します。
set listchars=tab:>.,trail:-,extends:>,precedes:<
どの文字でタブや改行などを可視化するかを設定します。
私はタブを >.
、行末の半角スペースを -
、省略を <
>
で可視化しています。
set wrap
長い行を折り返して表示します。
set laststatus=2
常にステータス行を表示します。
set cmdheight=2
コマンドラインの行数です。
Windows用gvim使用時は .gvimrc
を編集します。
set showcmd
コマンドをステータス行に表示します。
set title
タイトルバーにファイル名を表示します。
set cursorline
カーソルがある行の背景色を変えます。
set cursorcolumn
カーソルがある列の背景色を変えます。
半角文字と全角文字が混在していると見づらいので、私は設定していません。
set colorcolumn=80
指定した列に色を付けます。
私は80列目に色を付けていますが、半角文字と全角文字が混在していると見づらいので、設定するか悩んでいます。
set foldmethod=marker
{{{
と }}}
で括られた箇所を折りたたむようにします。
デフォルトは manual
(手動)です。
set pumheight=10
補完メニューの高さです。
デフォルトは0(無制限)です。
Font
文字に関する設定です。
set ambiwidth=double
幅が曖昧な文字をすべて全角で表示します。
今まで double
にしていましたが、レイアウトが崩れるので何も設定しないようにしました。
https://twitter.com/the_uhooi/status/1560449279407587328
Cursor
カーソルに関する設定です。
set whichwrap=b,s,h,l
h
や l
によるカーソル移動で行をまたぐようにします。
デフォルトは b,s
です。
set scrolloff=15
スクロールを開始する行数です。
デフォルトは0です。
Mouse
マウスに関する設定です。
set mouse=a
マウス操作を有効にします。
File
ファイルに関する設定です。
set writebackup
TBD
set nobackup
バックアップファイルを作成しません。
set noswapfile
スワップファイルを作成しません。
私は設定していません。
set noundofile
アンドゥファイルを作成しません。
私は設定していません。
set undodir=~/.vim/undo
アンドゥファイルの保存先です。
私は ~/.vim/undo
を指定しています。
おまけ
設定をOFFにする
設定の先頭に no
を付けると、設定をOFFにできます。
例: set nonumber
設定を確認する
設定の末尾に ?
を付けると、設定を確認できます。
例: :set number?
おわりに
これでVimを自分好みの設定にカスタマイズしましょう!