[第2回] Neovimのすゝめ – 設定ファイルを作成する

[第2回] Neovimのすゝめ – 設定ファイルを作成する

連載

本記事は複数記事の連載記事の1つです。

設定ファイルとは

Neovimの設定は init.vim というファイル名で所定の場所に配置することで読み込まれます。
バージョン0.5からは init.lua にLua言語で記載することを強く推奨されているため、init.luaで作成していきます。

記述方法が変わり戸惑うことも多いですが、Vim Scriptよりも高速で配列やdict等も記述しやすいので初見の方にはluaの方が分かりやすく感じるかもしれません。

設定ファイル関するヘルプはNeovim内から以下のヘルプコマンドで参照できます。
:help lua-vim

設定ファイルを作成する

OSによって配置する場所が変わります。

Windows

%userprofile%\AppData\Local\nvim\init.lua

※Windows用のNeovim-qtがリリースされていますが実行速度が遅く、今ならWSLにセットアップすることをお勧めします。
その場合、WSLはUbuntuが定番のディストリビューションなのでLinux用の手順に従うことになります。

Mac

touch ~/.config/nvim/init.lua

Linux

touch ~/.config/nvim/init.lua

設定コマンド

init.vimでは、 set number のようにset + option名で記述していましたが、init.luaでは以下のように記載します。
今まで分類なく記述していた設定を global, buffer, window に分類して記述する必要があります。

コマンド
vim.o.[オプション名] = [value] グローバルオプション
vim.bo.[オプション名] = [value] バッファローカルオプション
vim.wo.[オプション名] = [value] ウィンドウローカルオプション

ここで問題になるのが、どのオプションがそれぞれ何に分類されるのかです。
ヘルプに記載サれているため、以下から調べましょう。

:h option-list

number オプションのヘルプの見方

NeovimのEXコマンドから以下を実行してオプションのヘルプを開きます。
※オプション名をシングルクォートで囲うのがポイントです。

:h 'number'

どのようなオプションであるのか説明が見られます。
その中の ウィンドウについてローカル と記載されているため、numberオプションは vim.wo (ウィンドウローカオプション) であることが分かります。

また、 切替 の記載は値をbool型 (true/false) でセットすることを表します。

'number' 'nu'       切替  (既定ではオフ)
            ウィンドウについてローカル
    毎行の前に行番号を表示する。オプション 'cpoptions' にフラグ 'n' が含ま
    れていないときは、折り返された行の先頭は行番号の表示される桁に入り込ま
    ない ('compatible' がオフのときはこれが既定である)。
    オプション 'numberwidth' で行番号の幅を設定することができる。
    折り返された行が長すぎて {訳注: 行の途中の部分だけで画面一杯になってし
    まい} 行の本当の先頭の文字が表示されていないときは、文字 '-' が行番号
    の前に表示される。行番号に使われる強調表示グループについては
    |hl-LineNr| と |hl-CursorLineNr| を参照。
                        *number_relativenumber*
    'relativenumber' オプションは表示される番号をカーソルからの相対にする。
    'number' と共にこれら4つの組み合わせがある。 (カーソルは3行目):

Vimコマンドを実行する

luaファイルからVimコマンドを実行するには、 vim.cmd を使用します。
これまでの.vimrcやinit.vimで記載された設定も、vim.cmdを使用すれば同じ記述で使用することもできます。

vim.cmd 'set clipboard+=unnamedplus'
vim.cmd 'colorscheme gruvbox'

lua外部ファイルの読み込み

Neovimが読み込むファイルは init.lua ですが、すべての設定を一つのファイルに記載せずに別ファイルに分割できます。

外部ファイルを読み込むには require を使用します。
以下の指定で config.lua が読み込まれます。

init.lua

-- nvim
-- ├ lua
-- │ ├ plugins
-- │ │ └ sample.lua
-- │ └ config.lua
-- └ init.lua

require('config')
require('plugins.sample')
  • luaディレクトリのファイルが読み込まれる
  • 拡張子.luaは指定しなくて良い
  • 階層構造はドット区切りで指定できる

設定一覧

各オプションの簡易説明: option-list

オプション名 短縮名 説明
‘aleph’ ‘al’ Aleph文字(ヘブライ語)用のASCIIコードとする
‘allowrevins’ ‘ari’ 挿入モードとコマンドラインモードで、 CTRL-_ を使うことを認める
‘altkeymap’ ‘akm’ Farsi(ペルシア語)のための廃止オプション
‘ambiwidth’ ‘ambw’ Unicode文字の不明瞭な文字幅を決定する
‘antialias’ ‘anti’ Mac OS X: フォントを滑らかに表示する
‘autochdir’ ‘acd’ 現在編集中のファイルのディレクトリに変更する
‘autoshelldir’ ‘asd’ シェルのカレントディレクトリに変更する
‘arabic’ ‘arab’ デフォルトでアラビア語を2番目の言語にする
‘arabicshape’ ‘arshape’ アラビア文字を整える
‘autoindent’ ‘ai’ 直前の行から新しい行のインデントを得る
‘autoread’ ‘ar’ vim以外でファイル変更した時に自動再読み込みする
‘autowrite’ ‘aw’ 変更があったら、自動的に書き出す
‘autowriteall’ ‘awa’ ‘autowrite’ と同様だが、より多くのコマンドと連動
‘background’ ‘bg’ “dark”/”light”: ハイライト色の指定に使用
‘backspace’ ‘bs’ 行頭でのバックスペースの振る舞いをカスタマイズ
‘backup’ ‘bk’ 上書きした時にバックアップを作成する
‘backupcopy’ ‘bkc’ ファイルをリネームするのではなく、コピーする
‘backupdir’ ‘bdir’ バックアップファイル用のディレクトリを指定
‘backupext’ ‘bex’ バックアップファイル用の拡張子
‘backupskip’ ‘bsk’ 指定のパターンに合致するファイルはバックアップしない
‘balloondelay’ ‘bdlay’ バルーンウィンドウが出るまでの遅延時間(ms)
‘ballooneval’ ‘beval’ GUI でのバルーン評価の ON/OFF
‘balloonevalterm’ ‘bevalterm’ 端末でのバルーン評価の ON/OFF
‘balloonexpr’ ‘bexpr’ バルーンウィンドウに表示する式
‘belloff’ ‘bo’ 指定した場合にベルを鳴らさない
‘binary’ ‘bin’ バイナリモードで、読み/書き/編集する
‘bioskey’ ‘biosk’ MS-DOS専用: 文字入力にbiosコールを使う
‘bomb’ ファイルの先頭にBOMを付加する
‘breakat’ ‘brk’ ‘linebreak’ がオンのとき、改行を引き起こす文字
‘breakindent’ ‘bri’ 折り返された行でインデントを繰り返す
‘breakindentopt’ ‘briopt’ ‘breakindent’ のための設定
‘browsedir’ ‘bsdir’ ブラウズを始めるディレクトリ
‘bufhidden’ ‘bh’ ウィンドウに繋がったバッファがなくなった時の動作
‘buflisted’ ‘bl’ バッファリストにバッファを表示するかどうか
‘buftype’ ‘bt’ バッファのタイプ
‘casemap’ ‘cmp’ 文字の大小の変換方法を決める
‘cdpath’ ‘cd’ “:cd” コマンドで検索するディレクトリ
‘cedit’ コマンドラインウィンドウを開くためのキー
‘charconvert’ ‘ccv’ 文字コードの変換に使用する式
‘cindent’ ‘cin’ C言語用のインデントを行う
‘cinkeys’ ‘cink’ ‘cindent’ が有効な際に押すとインデントするキー
‘cinoptions’ ‘cino’ ‘cindent’ が有効な際のインデント方法
‘cinwords’ ‘cinw’ ‘si’、’cin’ によるインデントの開始文字
‘clipboard’ ‘cb’ 無名レジスタ操作でクリップボードを使う
‘cmdheight’ ‘ch’ コマンドラインの行数
‘cmdwinheight’ ‘cwh’ コマンドラインウィンドウの行数
‘colorcolumn’ ‘cc’ 列を強調表示する
‘columns’ ‘co’ 画面上の桁数
‘comments’ ‘com’ コメント行の開始を示すパターン
‘commentstring’ ‘cms’ コメント用テンプレート(foldマーカー用)
‘compatible’ ‘cp’ 可能な限りVi互換で動く
‘complete’ ‘cpt’ 挿入モードでの補完の動きを指定する
‘completefunc’ ‘cfu’ 挿入モードでの補完に使われる関数
‘completeopt’ ‘cot’ 挿入モードでの補完のオプション
‘completepopup’ ‘cpp’ 挿入モード補完情報ポップアップのオプション
‘completeslash’ ‘csl’ 補完用の ‘shellslash’ のようなもの
‘concealcursor’ ‘cocu’ カーソル行の Conceal テキストを表示するかどうか
‘conceallevel’ ‘cole’ Conceal テキストを表示するかどうか
‘confirm’ ‘cf’ 未保存ファイル、リードオンリーファイルの確認方法
‘conskey’ ‘consk’ コンソールからの直接キー検出(MS-DOSのみ)
‘copyindent’ ‘ci’ ‘autoindent’ がすでにあるインデントを参考にする
‘cpoptions’ ‘cpo’ vi互換な振る舞いのフラグ集
‘cryptmethod’ ‘cm’ ファイルの保存に使用する暗号化の種類
‘cscopepathcomp’ ‘cspc’ 表示するファイルパスの深さ
‘cscopeprg’ ‘csprg’ cscopeの実行ファイル
‘cscopequickfix’ ‘csqf’ cscopeの結果の表示にquickfixウィンドウを使う
‘cscoperelative’ ‘csre’ cscope.out のディレクトリパスをプリフィックスとして使う
‘cscopetag’ ‘cst’ タグコマンドでcscopeを使う
‘cscopetagorder’ ‘csto’ |:cstag|が検索する順番を決める
‘cscopeverbose’ ‘csverb’ cscopeデータベースに追加時にメッセージを表示
‘cursorbind’ ‘crb’ カーソルを移動させたときに他のウィンドウ内でもカーソルを移動させる
‘cursorcolumn’ ‘cuc’ カーソルがある桁を強調表示する
‘cursorline’ ‘cul’ カーソルがある行を強調表示する
‘cursorlineopt’ ‘culopt’ ‘cursorline’ のための設定
‘debug’ “msg” と設定すると全てのエラーが表示される
‘define’ ‘def’ マクロ定義検索パターン
‘delcombine’ ‘deco’ 合成文字の削除時に構成要素を全て消す
‘dictionary’ ‘dict’ キーワード補完に使うファイルのリスト
‘diff’ そのウィンドウで差分モードを使う
‘diffexpr’ ‘dex’ 差分取得に使う式
‘diffopt’ ‘dip’ 差分モードに使うオプション
‘digraph’ ‘dg’ 挿入モードでダイグラフの入力を有効にする
‘directory’ ‘dir’ スワップファイル用のディレクトリのリスト
‘display’ ‘dy’ テキストの表示方法を指定する
‘eadirection’ ‘ead’ ‘equalalways’ の適用方向を決める
‘edcompatible’ ‘ed’ |:substitute|のフラグを切替える
‘emoji’ ‘emo’ 絵文字を全角として扱う
‘encoding’ ‘enc’ 内部で使用する文字コード
‘endofline’ ‘eol’ ファイル末尾にを書く
‘equalalways’ ‘ea’ ウィンドウを自動で同じ大きさに調整する
‘equalprg’ ‘ep’ |=|で使用する外部プログラム
‘errorbells’ ‘eb’ エラー表示時にベルを鳴らす
‘errorfile’ ‘ef’ QuickFixモードで使うファイルの名前
‘errorformat’ ‘efm’ エラーファイルの書式の定義
‘esckeys’ ‘ek’ 挿入モードでファンクションキーを有効にする
‘eventignore’ ‘ei’ 無視する自動コマンドイベント
‘expandtab’ ‘et’ 入力でスペースを入力する
‘exrc’ ‘ex’ カレントディレクトリの.vimrcと.exrcを読み込む
‘fileencoding’ ‘fenc’ ファイルの文字コード指定
‘fileencodings’ ‘fencs’ 自動認識する ‘fileencoding’ のリスト
‘fileformat’ ‘ff’ ファイル入出力時のファイルのフォーマット
‘fileformats’ ‘ffs’ 自動認識する ‘fileformat’ のリスト
‘fileignorecase’ ‘fic’ ファイル名の大文字と小文字を区別するかどうか
‘filetype’ ‘ft’ 自動コマンドで使うファイルタイプ名
‘fillchars’ ‘fcs’ 特殊な表示に使う文字
‘fixendofline’ ‘fixeol’ ファイル末尾に を必ずつける
‘fkmap’ ‘fk’ Farsi(ペルシア語)のための廃止オプション
‘foldclose’ ‘fcl’ カーソル下以外の折り畳みを閉じる
‘foldcolumn’ ‘fdc’ 折り畳みを示すのに使う列幅
‘foldenable’ ‘fen’ 全ての折り畳みの開閉を設定する
‘foldexpr’ ‘fde’ ‘foldmethod’ が “expr” の時に使う式
‘foldignore’ ‘fdi’ ‘foldmethod’ が “indent” の時に無視する行
‘foldlevel’ ‘fdl’ この値より高いレベルの折り畳みを閉じる
‘foldlevelstart’ ‘fdls’ ‘foldlevel’ の初期値
‘foldmarker’ ‘fmr’ ‘foldmethod’ が “marker” の時に使うマーカー
‘foldmethod’ ‘fdm’ 折り畳みの種類
‘foldminlines’ ‘fml’ 閉じることのできる折り畳みの最小行数
‘foldnestmax’ ‘fdn’ 折り畳みの深さの制限
‘foldopen’ ‘fdo’ 折り畳みを開くことのできるコマンド
‘foldtext’ ‘fdt’ 閉じた折り畳みの表示に使う式
‘formatexpr’ ‘fex’ |gq|で使う式
‘formatlistpat’ ‘flp’ リストのヘッダーを認識するためのパターン
‘formatoptions’ ‘fo’ 自動整形の動作定義
‘formatprg’ ‘fp’ |gq|で使う外部プログラム
‘fsync’ ‘fs’ ファイルを書き込んだ後に fsync() を呼ぶかどうか
‘gdefault’ ‘gd’ |:substitute|で “g” を既定で有効にする
‘grepformat’ ‘gfm’ ‘grepprg’ の出力の書式
‘grepprg’ ‘gp’ |:grep|で使う外部プログラム
‘guicursor’ ‘gcr’ GUI: カーソルの形と点滅を設定する
‘guifont’ ‘gfn’ GUI: 使用するフォント(複数可)
‘guifontset’ ‘gfs’ GUI: マルチバイト用のフォント
‘guifontwide’ ‘gfw’ 全角文字用のフォントのリスト
‘guiheadroom’ ‘ghr’ GUI: ウィンドウ装飾用の余地。ピクセル単位
‘guioptions’ ‘go’ GUI: GUIに特化したオプション
‘guipty’ GUI: |:!|でpseudo-ttyの使用を試みる
‘guitablabel’ ‘gtl’ GUI: タブページのラベル設定
‘guitabtooltip’ ‘gtt’ GUI: タブページのツールチップ設定
‘helpfile’ ‘hf’ メインのヘルプファイルのフルパス指定
‘helpheight’ ‘hh’ ヘルプウィンドウの最小高さ
‘helplang’ ‘hlg’ 優先するヘルプ用の言語
‘hidden’ ‘hid’ バッファが|abandon|(捨て)られても破棄しない
‘highlight’ ‘hl’ 様々な対象に対する強調表示モードの設定
‘history’ ‘hi’ コマンドライン履歴の記録数
‘hkmap’ ‘hk’ ヘブライ語のキーボードマッピング
‘hkmapp’ ‘hkp’ 発音に即したヘブライ語のキーボードマッピング
‘hlsearch’ ‘hls’ 最後に検索したパターンを強調表示する
‘icon’ Vimのアイコン表示でテキストを変更するようにする
‘iconstring’ Vimのアイコン表示に使用するテキスト
‘ignorecase’ ‘ic’ 検索パターンで大文字と小文字を区別しない
‘imactivatefunc’ ‘imaf’ X のインプットメソッドをオン/オフにする関数
‘imactivatekey’ ‘imak’ X のインプットメソッドをオンにするキー
‘imcmdline’ ‘imc’ コマンドライン入力時にIMを有効にする
‘imdisable’ ‘imd’ どのモードでもIMを使わない
‘iminsert’ ‘imi’ 挿入モードで|:lmap|やIMを使う
‘imsearch’ ‘ims’ 検索パターン入力時に|:lmap|やIMを使う
‘imstatusfunc’ ‘imsf’ X のインプットメソッドの状態を得る関数
‘imstyle’ ‘imst’ インプットメソッドの入力スタイルを指定する
‘include’ ‘inc’ インクルードファイルの検索パターン
‘includeexpr’ ‘inex’ インクルード行を処理する式
‘incsearch’ ‘is’ 検索パターン入力中にその文字を強調表示する
‘indentexpr’ ‘inde’ 行をインデントする式
‘indentkeys’ ‘indk’ ‘indentexpr’ でインデントを開始するキー
‘infercase’ ‘inf’ キーワード補完で大文字小文字を調整する
‘insertmode’ ‘im’ 挿入モードで編集を開始する
‘isfname’ ‘isf’ ファイル名、パス名に含まれる文字
‘isident’ ‘isi’ 識別子に含まれる文字
‘iskeyword’ ‘isk’ キーワードに含まれる文字
‘isprint’ ‘isp’ 視覚可能な文字
‘joinspaces’ ‘js’ 行連結時にピリオドの後に空白を2つ入れる
‘key’ 暗号鍵
‘keymap’ ‘kmp’ キーボードマッピングの名前
‘keymodel’ ‘km’ 範囲選択を開始/終了するキー
‘keywordprg’ ‘kp’ |K|で使う外部プログラム
‘langmap’ ‘lmap’ 他の言語モードでの文字
‘langmenu’ ‘lm’ メニュー表示用言語
‘langnoremap’ ‘lnr’ マッピングされた文字に ‘langmap’ を適用しない
‘langremap’ ‘lrm’ マッピングされた文字に ‘langmap’ を適用する
‘laststatus’ ‘ls’ 最下ウィンドウにいつステータス行を表示するか
‘lazyredraw’ ‘lz’ マクロ実行中に表示を更新しない
‘linebreak’ ‘lbr’ 長い行を空白で折り返す
‘lines’ 表示行数
‘linespace’ ‘lsp’ 行間のピクセル数
‘lisp’ Lisp用自動インデント
‘lispwords’ ‘lw’ Lisp用インデントの動作定義
‘list’ を表示する
‘listchars’ ‘lcs’ ‘list’ オン時に使う文字
‘loadplugins’ ‘lpl’ 起動時にプラグインスクリプトを読み込む
‘luadll’ Lua 動的ライブラリの名前
‘macatsui’ Mac GUI: ATSUI テキスト描画を使う
‘magic’ 検索パターン内の特殊文字を変更する
‘makeef’ ‘mef’ |:make|用のエラーファイル
‘makeencoding’ ‘menc’ 外部 make/grep コマンドのエンコーディング
‘makeprg’ ‘mp’ |:make|で使う外部プログラム
‘matchpairs’ ‘mps’ |%|で探す文字ペア
‘matchtime’ ‘mat’ ‘showmatch’ で対応カッコを表示する時間。0.1秒単位
‘maxcombine’ ‘mco’ 表示できる文字の組合せの最大数
‘maxfuncdepth’ ‘mfd’ ユーザー定義関数の再帰呼び出しの最大数
‘maxmapdepth’ ‘mmd’ マッピングの再帰定義の最大数
‘maxmem’ ‘mm’ 1つのバッファに使える最大メモリ(Kbyte単位)
‘maxmempattern’ ‘mmp’ 検索に使える最大メモリ(Kbyte単位)
‘maxmemtot’ ‘mmt’ 全てのバッファに使える最大メモリ(Kbyte単位)
‘menuitems’ ‘mis’ メニューに登録できる項目の最大数
‘mkspellmem’ ‘msm’ |:mkspell|がツリーを圧縮する前に使われるメモリ
‘modeline’ ‘ml’ ファイルの先頭や末尾のモードラインを許可する
‘modelineexpr’ ‘mle’ モードラインから式オプションの設定を許可する
‘modelines’ ‘mls’ モードラインをチェックする行数
‘modifiable’ ‘ma’ ファイルの変更許可
‘modified’ ‘mod’ バッファが変更されているか
‘more’ スクリーンを埋めるような出力で一時停止するか
‘mouse’ マウスを使うか
‘mousefocus’ ‘mousef’ マウスの移動でキーボードのフォーカスを移動する
‘mousehide’ ‘mh’ 入力時にマウスポインタを非表示にする
‘mousemodel’ ‘mousem’ マウスボタンの機能を変える
‘mouseshape’ ‘mouses’ モード別にマウスポインタの形を変える
‘mousetime’ ‘mouset’ ダブルクリックの間隔時間
‘mzquantum’ ‘mzq’ MzSchemeスレッドに切り替える間隔
‘mzschemedll’ MzScheme 動的ライブラリの名前
‘mzschemegcdll’ MzScheme GC 動的ライブラリの名前
‘nrformats’ ‘nf’ CTRL-A用の数値書式
‘number’ ‘nu’ 行番号を表示する
‘numberwidth’ ‘nuw’ 行番号に使われる桁数
‘omnifunc’ ‘ofu’ ファイルタイプごとの補完に使われる
‘opendevice’ ‘odev’ MS-Windows上でデバイスの読み書きを許可する
‘operatorfunc’ ‘opfunc’ オペレータ|g@|で呼ばれる関数
‘osfiletype’ ‘oft’ もうサポートされていない
‘packpath’ ‘pp’ パッケージのために使われるディレクトリのリスト
‘paragraphs’ ‘para’ 段落を分けるためのnroffのマクロ
‘paste’ Pasteモードに移行
‘pastetoggle’ ‘pt’ ‘paste’ を切替えるキー
‘patchexpr’ ‘pex’ パッチを適用するための式
‘patchmode’ ‘pm’ 最初のバージョンを保全する
‘path’ ‘pa’ |gf|などでファイルを検索するディレクトリのリスト
‘perldll’ Perl 動的ライブラリの名前
‘preserveindent’ ‘pi’ 再インデント時にインデントの構造を保つ
‘previewheight’ ‘pvh’ プレビューウィンドウの高さ
‘previewpopup’ ‘pvp’ プレビューのためにポップアップウィンドウを使う
‘previewwindow’ ‘pvw’ プレビューウィンドウかどうか
‘printdevice’ ‘pdev’ |:hardcopy|で使うプリンタの名前
‘printencoding’ ‘penc’ 印刷で使う文字コード
‘printexpr’ ‘pexpr’ |:hardcopy|でPostScriptを印刷するための式
‘printfont’ ‘pfn’ |:hardcopy|で使用するフォント
‘printheader’ ‘pheader’ |:hardcopy|で使用するヘッダー
‘printmbcharset’ ‘pmbcs’ |:hardcopy|に使われるCJK文字集合
‘printmbfont’ ‘pmbfn’ |:hardcopy|の出力に使われるフォント名
‘printoptions’ ‘popt’ |:hardcopy|の出力をコントロールする
‘prompt’ ‘prompt’ Ex モードでプロンプトを有効にする
‘pumheight’ ‘ph’ ポップアップメニューの高さの最大値
‘pumwidth’ ‘pw’ ポップアップメニューの幅の最小値
‘pythondll’ Python 2 動的ライブラリの名前
‘pythonhome’ Python 2 ホームディレクトリの名前
‘pythonthreedll’ Python 3 動的ライブラリの名前
‘pythonthreehome’ Python 3 ホームディレクトリの名前
‘pyxversion’ ‘pyx’ pyx* コマンドに使用される Python のバージョン
‘quickfixtextfunc’ ‘qftf’ quickfixウィンドウのテキストに使われる関数
‘quoteescape’ ‘qe’ 文字列中に使われるエスケープ文字
‘readonly’ ‘ro’ バッファの書き込みを制限する
‘redrawtime’ ‘rdt’ ‘hlsearch’ と |:match| のハイライトのタイムアウト
‘regexpengine’ ‘re’ デフォルトで使用する正規表現エンジン
‘relativenumber’ ‘rnu’ 相対行番号を表示する
‘remap’ 再帰的マッピングを有効にする
‘renderoptions’ ‘rop’ Windows でのテキストレンダリングの設定
‘report’ 変更された行の数の方向が出る最小値
‘restorescreen’ ‘rs’ Win32: 終了時スクリーンを更新する
‘revins’ ‘ri’ 挿入モードで入力方向が逆になる
‘rightleft’ ‘rl’ “右から左” 指向のウィンドウ
‘rightleftcmd’ ‘rlc’ “右から左” に入力するコマンド
‘rubydll’ Ruby 動的ライブラリの名前
‘ruler’ ‘ru’ ステータスラインにカーソルが位置する場所を表示する
‘rulerformat’ ‘ruf’ ‘ruler’ 用のフォーマット
‘runtimepath’ ‘rtp’ ランタイムファイル用のディレクトリのリスト
‘scroll’ ‘scr’ CTRL-UやCTRL-Dでスクロールする行数
‘scrollbind’ ‘scb’ 他のウィンドウと同期してスクロールする
‘scrollfocus’ ‘scf’ スクロールホイールはポインタの下のウィンドウに適用
‘scrolljump’ ‘sj’ スクロールする行数の最小値
‘scrolloff’ ‘so’ カーソルの上下に確保する表示行
‘scrollopt’ ‘sbo’ ‘scrollbind’ がどのように振舞うか
‘sections’ ‘sect’ 節を分けるためのnroffのマクロ
‘secure’ カレントディレクトリの.vimrcを安全に読む
‘selection’ ‘sel’ 選択時の動作を設定する
‘selectmode’ ‘slm’ ビジュアルモードでなく選択モードを開始する条件
‘sessionoptions’ ‘ssop’ |:mksession|用のオプション
‘shell’ ‘sh’ 外部プログラム使用時のシェル
‘shellcmdflag’ ‘shcf’ シェル実行時のフラグ
‘shellpipe’ ‘sp’ |:make|の出力をエラーファイルに入れるのに使う文字
‘shellquote’ ‘shq’ シェルで使う引用符
‘shellredir’ ‘srr’ フィルタの出力を一時ファイルに入れるのに使う文字
‘shellslash’ ‘ssl’ シェルで使うファイルのパス区切りに使う
‘shelltemp’ ‘stmp’ シェルコマンドに一時ファイルを使うかどうか
‘shelltype’ ‘st’ Amiga: シェルの使い方に影響する
‘shellxescape’ ‘sxe’ ‘shellxquote’ が ‘(‘ のときにエスケープする文字
‘shellxquote’ ‘sxq’ ‘shellquote’ に似ているがリダイレクションを含む
‘shiftround’ ‘sr’ インデントを ‘shiftwidth’ の倍数に丸める
‘shiftwidth’ ‘sw’ (自動的な)インデントに使うシフト幅
‘shortmess’ ‘shm’ メッセージを短縮するフラグのリスト
‘shortname’ ‘sn’ ファイル名が8.3形式であると仮定する
‘showbreak’ ‘sbr’ 折り返し表示された行の最初に表示する文字
‘showcmd’ ‘sc’ (未完の)コマンドをステータス行に表示する
‘showfulltag’ ‘sft’ タグで補完する時完全なタグのパターンを表示する
‘showmatch’ ‘sm’ 括弧入力時に対応する括弧を知らせる
‘showmode’ ‘smd’ ステータスラインに現在のモードを表示する
‘showtabline’ ‘stal’ いつタブページ行を表示するか
‘sidescroll’ ‘ss’ 水平スクロールの刻み幅
‘sidescrolloff’ ‘siso’ カーソルの左右に確保する表示幅
‘smartcase’ ‘scs’ パターンが大文字を含むときは文字の大小を区別する
‘signcolumn’ ‘scl’ 目印用の桁をどう表示するか
‘smartindent’ ‘si’ C言語用の高度な自動インデント
‘smarttab’ ‘sta’ 入力時に ‘shiftwidth’ を使う
‘softtabstop’ ‘sts’ で入力する空白の数
‘spell’ スペルチェッキングを有効にする
‘spellcapcheck’ ‘spc’ スペルチェッキングを有効にする
‘spellfile’ ‘spf’ |zg|と|zw|が単語を保存するファイル
‘spelllang’ ‘spl’ スペルチェックをする言語
‘spelloptions’ ‘spo’ スペルチェックのオプション
‘spellsuggest’ ‘sps’ スペリング訂正をするのに使われるメソッド
‘splitbelow’ ‘sb’ ウィンドウの横分割で新規ウィンドウを下に作る
‘splitright’ ‘spr’ ウィンドウの縦分割で新規ウィンドウを右に作る
‘startofline’ ‘sol’ カーソル移動コマンドで行の最初の非空白へ移動する
‘statusline’ ‘stl’ ステータスラインの表示内容を設定する
‘suffixes’ ‘su’ ファイルが複数マッチした時に無視する拡張子
‘suffixesadd’ ‘sua’ 検索対象のファイルの拡張子
‘swapfile’ ‘swf’ スワップファイルを使うかどうか
‘swapsync’ ‘sws’ スワップファイルの同期方法
‘switchbuf’ ‘swb’ バッファ切替え時の動作
‘synmaxcol’ ‘sws’ この桁までしか構文アイテムを探さない
‘syntax’ ‘syn’ カレントバッファの構文強調表示の定義
‘tabline’ ‘tal’ コンソールのタブページラインのカスタムフォーマット
‘tabpagemax’ ‘tpm’ タブページの最大数。|-p|と “tab all” に使われる
‘tabstop’ ‘ts’ の表示幅
‘tagbsearch’ ‘tbs’ タグファイル内の検索に二分探索を使う
‘tagcase’ ‘tc’ タグファイル内検索で大文字小文字の扱いを指定する
‘tagfunc’ ‘tfu’ タグマッチのリストを取得する関数
‘taglength’ ‘tl’ タグ名はこの文字数までしか意味を持たない
‘tagrelative’ ‘tr’ タグファイル内のファイル名が相対的になる
‘tags’ ‘tag’ タグコマンドで使うファイルのリスト
‘tagstack’ ‘tgst’ タグスタックにタグをプッシュする
‘tcldll’ Tcl 動的ライブラリの名前
‘term’ ターミナルの名前
‘termbidi’ ‘tbidi’ ターミナルが双方向性を持っている
‘termencoding’ ‘tenc’ ターミナルが使用する文字コード
‘termguicolors’ ‘tgc’ ターミナルで GUI カラーを使う
‘termwinkey’ ‘twk’ 端末で Vim コマンドを開始するためのキー
‘termwinscroll’ ‘twsl’ 端末ウィンドウでスクロールバックできる行数の最大値
‘termwinsize’ ‘tws’ 端末ウィンドウのサイズ
‘termwintype’ ‘twt’ MS-Windows: 端末ウィンドウに使用するptyのタイプ
‘terse’ いくつかのメッセージを省略する
‘textauto’ ‘ta’ 廃止。今は ‘fileformats’ を使う
‘textmode’ ‘tx’ 廃止。今は ‘fileformat’ を使う
‘textwidth’ ‘tw’ 入力されているテキストの最大幅
‘thesaurus’ ‘tsr’ キーワード補完に使う thesaurus ファイルのリスト
‘tildeop’ ‘top’ “~” がオペレータのように振舞う
‘timeout’ ‘to’ マッピングやキーコード入力の時間制限
‘timeoutlen’ ‘tm’ 入力をタイムアウトにするミリ秒単位の時間
‘title’ ウィンドウのタイトルを変更するようにする
‘titlelen’ ‘columns’ (列幅)の割合
‘titleold’ 終了時に戻す古いタイトル
‘titlestring’ ウィンドウのタイトル
‘toolbar’ ‘tb’ GUI: ツールバーに表示する内容
‘toolbariconsize’ ‘tbis’ ツールバーアイコンのサイズ(GTK2だけ)
‘ttimeout’ マッピング入力の時間制限
‘ttimeoutlen’ ‘ttm’ キーコード入力をタイムアウトにするミリ秒単位の時間
‘ttybuiltin’ ‘tbi’ 外部のtermcapの前に組込みのtermcapを探す
‘ttyfast’ ‘tf’ 高速ターミナル接続を行う
‘ttymouse’ ‘ttym’ マウスコードの種類
‘ttyscroll’ ‘tsl’ 画面をスクロールする行数の最大値
‘ttytype’ ‘tty’ ‘term’ の別名
‘undodir’ ‘udir’ アンドゥファイルの保存場所
‘undofile’ ‘udf’ アンドゥ情報をファイルに保存する
‘undolevels’ ‘ul’ アンドゥ可能な回数の最大値
‘undoreload’ ‘ur’ バッファ再読み込み時にアンドゥを保存するかどうかを行数で制限する
‘updatecount’ ‘uc’ この回数だけ入力するとスワップファイルを更新する
‘updatetime’ ‘ut’ この時間だけ入力がなければスワップファイルを更新
‘varsofttabstop’ ‘vsts’ をタイプするときのスペースの数のリスト
‘vartabstop’ ‘vts’ のスペースの数のリスト
‘verbose’ ‘vbs’ 有益なメッセージを表示する
‘verbosefile’ ‘vfile’ メッセージを書き込むファイル
‘viewdir’ ‘vdir’ |:mkview|によるファイルを格納するディレクトリ
‘viewoptions’ ‘vop’ |:mkview|の保存内容を決める
‘viminfo’ ‘vi’ 起動時と終了時に.viminfoファイルを使う
‘viminfofile’ ‘vif’ viminfo ファイル用のファイル名
‘virtualedit’ ‘ve’ フリーカーソルモードを使う場面
‘visualbell’ ‘vb’ ビープの代わりにvisualベル(画面フラッシュ)を使用
‘warn’ バッファ変更済み時にシェル使用で警告する
‘weirdinvert’ ‘wiv’ 変な強調表示方法を持つターミナル用
‘whichwrap’ ‘ww’ 行を越えて機能するキーを設定する
‘wildchar’ ‘wc’ コマンドラインでワイルドカードの展開に使うキー
‘wildcharm’ ‘wcm’ ‘wildchar’ に似た、マッピング内で使うもの
‘wildignore’ ‘wig’ リスト内のどれかにマッチしたファイル名は補完しない
‘wildignorecase’ ‘wic’ ファイル名を補完するときに大文字と小文字を無視する
‘wildmenu’ ‘wmnu’ コマンドラインで補完候補をメニュー表示する
‘wildmode’ ‘wim’ ‘wildchar’ の補完モード
‘wildoptions’ ‘wop’ コマンドライン補完をどう行うか指定する
‘winaltkeys’ ‘wak’ GUIでのALTキーの使い方
‘wincolor’ ‘wcr’ ウィンドウローカルのハイライト
‘window’ ‘wi’ CTRL-F と CTRL-B でスクロールする行数
‘winheight’ ‘wh’ カレントウィンドウの行数の最小値
‘winfixheight’ ‘wfh’ ウィンドウの高さをキープする
‘winfixwidth’ ‘wfh’ ウィンドウの幅をキープする
‘winminheight’ ‘wmh’ カレントウィンドウ以外のウィンドウの高さの最小値
‘winminwidth’ ‘wmw’ カレントウィンドウ以外のウィンドウの幅の最小値
‘winptydll’ winpty 動的ライブラリの名前
‘winwidth’ ‘wiw’ カレントウィンドウの幅の最小値
‘wrap’ 長い行を折り返して表示する
‘wrapmargin’ ‘wm’ 折り返しを開始する右端からの文字数
‘wrapscan’ ‘ws’ 検索がファイル末尾まで進んだら先頭から再検索
‘write’ ファイルへの保存を許可する
‘writeany’ ‘wa’ ファイルへの保存時は “!” がなくても上書きする
‘writebackup’ ‘wb’ 上書きする時にはバックアップを作る
‘writedelay’ ‘wd’ 入力の延滞時間を1/1000秒単位で指定(デバッグ用)

Neovimのすゝめカテゴリの最新記事