LoginSignup
12
5

More than 3 years have passed since last update.

Neovimのデフォルト設定

Last updated at Posted at 2019-04-16

はじめに

Neovimでは、今までvimrcに当たり前のように書いていたオプションがデフォルトで設定されています。
:h vim_diff.txtの出だしに載っているものを紹介します。

機能

Syntax highlighting

デフォルトで有効。

:filetype plugin indent on

デフォルトで有効。

オプション

autoindent

改行時にインデントが保持される。

autoread

vimで開いているファイルが外部で変更されたときに自動で読み直す。

background

デフォルトでdark

backspace

デフォルトでindent,eol,start。バックスペースの挙動をよくあるように。

backupdir

デフォルトは~/.local/share/nvim/backup
'backup'がオンの場合、ファイルを上書きする前にバックアップが作られる。

belloff

デフォルトでall。全てのイベントでベルが鳴らない。

complete

vimのデフォルトである.,w,b,u,t,iからiを除いた.,w,b,u,tがNeovimのデフォルト。
キーワード補完の対象から、インクルードされるファイルが除かれている。
残った対象はバッファとタグ。

cscopeverbose

デフォルトでオン。cscopeのデータベースに情報を追加するときメッセージが表示される。
cscopeはctagsのようなツール。

directory

デフォルトは~/.local/share/nvim/swap//。スワップファイル用のディレクトリ。

display

デフォルトはlastline,msgsep

lastline ウィンドウの最後の行ができるだけ多く表示される。謎。
msgsep メッセージが'cmdheight'より長いとき、画面全体ではなくメッセージ行だけスクロールする。

encoding

デフォルトはUTF-8。Neovim内部とRPC通信に使われるエンコーディング。
RPCはリモートプラグインで使われる。

fillchars

デフォルトはvert:│,fold:·。垂直分割の区切り文字と畳込んだ所の文字。

formatoptions

デフォルトはtcqj。自動整形の方法を決める。vimに対してjが追加されている。

t 'textwidth'を使ってテキストを自動折返しする
c 同上。コメントだったらコメント開始文字を自動挿入する
q gqでコメントを整形する
j 複数行のコメントを連結する際に、余計なコメント開始文字を消す

fsync

デフォルトでオフ。vimではオンになっている。
オンになっていると:writeの後などにOSのfsync()が呼ばれ、メモリからストレージに書き込まれる。
Neovimの場合、CursorHoldイベントやNeovimが異常終了したときなどに書き込まれるためオフになっている。

history

デフォルトで10000。EXコマンドと検索パターンの履歴数。

hlsearch

デフォルトでオン。検索文字がハイライトされる。

incsearch

デフォルトでオン。インクリメンタルサーチ。

langnoremap

デフォルトでオン。Neovimではdeprecated。気にする必要なし。

langremap

デフォルトでオフ。'langmap'を無効にする。
'langmap'は、キー入力をギリシャ語等の言語に切り替えることができるオプション。

laststatus

デフォルトで2。ステータスラインを常に表示。

listchars

デフォルトはtab:> ,trail:-,nbsp:+。nbsp。nbspはnon-breakable spaceで0xA0やU+202F等。
'list'
モード時の表示文字で、'list'はタブ文字や行末を文字で表示するオプション。

compatible

デフォルトでオフ。vi互換を無くす。
vimはvimrcがあればオフになっていたが、Neovimでは常にオフ。

nrformats

デフォルトはbin,hexi_CTRL-A,i_CTRL_Xを使うときの進数。
vimからoctalが除かれており、0始まりを8進数とみなさない。
0x,0bから始まる数をそれぞれ16進数、2進数と認識する。

ruler

デフォルトでオン。カーソルの位置を表示する。

sessionoptions

vimに対して、"options"が除かれている。
:mksessionにオプションとマッピングが含まれない。
その場限りのオプションの変更やマッピングは保存しないということ。

shortmess

デフォルトは"F"。Neovimの様々な表示を短くするオプション。
"F"はコマンドに対する:silentのように、ファイル編集中にファイル情報を表示しない。

showcmd

デフォルトでオン。右下にコマンドが表示される。

sidescroll

デフォルトで1。水平スクロールの刻み幅。vimでは0。

smarttab

デフォルトでオン。'shiftwidth','tabstop','softtabstop','expandtab'をみてタブを快適に扱える。

tabpagemax

デフォルトで50。タブページの最大数。vimでは10。

tags

デフォルトは./tags;,tags。tagコマンドで使うファイル名。

ttimeoutlen

デフォルトで50。キーコードの完了を待つ時間。ミリ秒。
vimとは違いマッピングとは関係がない。

ttyfast

常にオン。Neovimでは削除されている。

undodir

デフォルトは~/.local/share/nvim/undo。アンドゥファイル用のディレクトリ。

viminfo

デフォルトで"!"が含まれている。アルファベットの大文字で始まり、小文字を含まないグローバル変数を保存・復元する。

wildmenu

デフォルトでオン。コマンドライン補完で候補が表示される。

wildoptions

デフォルトで"pum,tagfile"

pum コマンドライン補完が挿入モードの補完と同じポップアップメニューになる。
tagfiles c_CTRL-D でタグの一覧表示をするとき、タグの種類とファイル名が表示される。
12
5
0

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
12
5