広告 Linux Mac Vim Windows

vimのコマンドラインの絞り込み

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など場合でも同様のことができます。

Sponsor Link

-Linux, Mac, Vim, Windows