vimのコマンドラインの絞り込み方法を覚えるといろいろ捗るので覚えましょう。
:set を例に見ていきましょう。
「:set 」を使いこなす
:set
(後ろにスペースあるよ!)と入力した後に
を入力するとカーソルより前のパターンに一致するオプションを一覧表示します。
こんな感じ。
:set
all buflisted copyindent display foldcolumn helpfile iskeyword maxcombine paragraphs redrawtime shellredir spellfile tagstack ttytype wildmode
termcap buftype cpoptions eadirection foldenable helpheight isprint maxfuncdepth paste relativenumber shelltemp spelllang term undodir wildoptions
ambiwidth casemap cryptmethod edcompatible foldexpr helplang joinspaces maxmapdepth pastetoggle remap shellxquote spellsuggest termencoding undofile window
autochdir cdpath cscopepathcomp encoding foldignore hidden key maxmem patchexpr report shiftround splitbelow terse undolevels winheight
autoindent cedit cscopeprg endofline foldlevel highlight keymodel maxmempattern patchmode ruler shiftwidth splitright textauto undoreload winfixheight
autoprint charconvert cscopequickfix equalalways foldlevelstart history keywordprg maxmemtot path rulerformat shortmess startofline textmode updatecount winfixwidth
autoread cindent cscopetag equalprg foldmarker hlsearch langmenu menuitems preserveindent runtimepath shortname statusline textwidth updatetime winminheight
autowrite cinkeys cscopetagorder errorbells foldmethod icon laststatus mkspellmem previewheight scroll showbreak suffixes thesaurus verbose winminwidth
autowriteall cinoptions cscopeverbose errorfile foldminlines iconstring lazyredraw modeline previewwindow scrollbind showcmd suffixesadd tildeop verbosefile winwidth
background cinwords cursorbind errorformat foldnestmax ignorecase linebreak modelines printdevice scrolljump showfulltag swapfile timeout viewdir wrap
backspace cmdheight cursorcolumn esckeys foldopen iminsert lines modifiable printencoding scrolloff showmatch swapsync timeoutlen viewoptions wrapmargin
backup cmdwinheight cursorline eventignore foldtext imsearch lisp modified printexpr scrollopt showmode switchbuf title viminfo wrapscan
backupcopy colorcolumn debug expandtab formatexpr include lispwords more printfont sections showtabline synmaxcol titlelen virtualedit write
backupdir columns define exrc formatoptions includeexpr list mouse printheader secure sidescroll syntax titleold visualbell writeany
backupext comments delcombine fileencoding formatlistpat incsearch listchars mousemodel printmbcharset selection sidescrolloff tabline titlestring warn writebackup
backupskip commentstring dictionary fileencodings formatprg indentexpr loadplugins mousetime printmbfont selectmode smartcase tabpagemax ttimeout weirdinvert writedelay
beautify compatible diff fileformat fsync indentkeys magic nrformats printoptions sessionoptions smartindent tabstop ttimeoutlen whichwrap
binary complete diffexpr fileformats gdefault infercase makeef number prompt shell smarttab tagbsearch ttybuiltin wildchar
bomb completefunc diffopt filetype grepformat insertmode makeprg numberwidth pumheight shellcmdflag softtabstop taglength ttyfast wildcharm
breakat completeopt digraph fillchars grepprg isfname matchpairs omnifunc quoteescape shellpipe spell tagrelative ttymouse wildignore
bufhidden confirm directory foldclose guicursor isident matchtime operatorfunc readonly shellquote spellcapcheck tags ttyscroll wildmenu
:set
この場合は全てのオプションを表示します。
一覧表示が画面に全部表示しきれない時は画面下に「-- 継続 --(または-- More --)」と表示され、スペースキーを押すことで続きが見れます。また、q
でキャンセルすることができます。
一覧表示をキャンセルしたあと、a
を入力後に再度
をたたいてみてください。
a から始まるオプションが表示されました。
:set a
all ambiwidth autochdir autoindent autoprint autoread autowrite autowriteall
:set a
ここまで絞り込めたらあとは
を押してオプション名を補完すれば楽に入力できます。
と
のパターンにはワイルドカードも使えます。
たとえば「オプション名にprintが含まれるものを一覧表示/補完」したい場合は
:set *print
と入力した後に
や
を押します。
以下は
を押した場合の表示です。
:set *print
autoprint isprint printdevice printencoding printexpr printfont printheader printmbcharset printmbfont printoptions
:set *print
ちなみにパターンは「print」ですがvimの内部で後ろに「」を付加して「print」でマッチングしているので途中に「print」を含むオプション名も対象になっています。
詳細はヘルプを見てみてください。
この2つを知っているだけでかなり捗ります。
:h c_ctrl-d
:h c_
もちろん、:letや:mapなど場合でも同様のことができます。