-3

私の.vimrc内容:

set wildmenu                    " show list instead of just completing
set wildmode=list:longest,full  " command <Tab> completion, list matches, then longest common part, then all.
set wildignore+=.cache,.gem,.ivy2,.extras.bash,.themes
set wildignore+=.subversion,.subversion_IDEA
set wildignore+=.Trash
set wildignore+=Desktop,Documents,Downloads
set wildignore+=Library,Movies,Pictures
set wildignore+=spf13vim2
set wildignore+=.CFUserTextEncoding,.DS_Store
set wildignore+=.bash_history,.extra.bash,.irb-history
set wildignore+=.lesshst,.mysql_history,.pry_history
set wildignore+=.reviewboard-cache,.rnd,.sbt.cache.lock
set wildignore+=.scala_history,.sqlite_history,.viminfo
set wildignore+=*.o,*.obj,.git,vendor/rails/**,vendor/gems/**
set wildignore+=*.swp

私の完全な vimrcはここにあります。vim でファイルを編集すると、ヒットtabするとスペースが生成されますが、オートコンプリートは生成されません。

4

2 に答える 2

5

何?

ワイルドメニューは、コマンド ラインでタブ補完を試みたときに表示されるメニューです。

ここに画像の説明を入力

挿入モードの完了とはまったく関係がなく、質問の設定は、ファイルの編集中に何も完了するのに役立ちません

事実は憶測よりも優れています。Vim の内部ドキュメントを読む習慣を身につけてください。の最初の文は:h 'wildmenu'、時間をかけて読んでいれば、混乱を解消したでしょう。

When 'wildmenu' is on, command-line completion operates in an enhanced mode.

ランダムなインターネット ソースから盲目的に設定をコピーしても、どこにも行きません。をお読みください:help

于 2013-04-08T05:05:56.733 に答える
-2

これが必要かどうかはわかりませんが、これをに追加した後、タブ補完が機能しました.vimrc

function! Smart_TabComplete()
  let line = getline('.')                         " current line

  let substr = strpart(line, -1, col('.')+1)      " from the start of the current
                                                  " line to one character right
                                                  " of the cursor
  let substr = matchstr(substr, "[^ \t]*$")       " word till cursor
  if (strlen(substr)==0)                          " nothing to match on empty string
    return "\<tab>"
  endif
  let has_period = match(substr, '\.') != -1      " position of period, if any
  let has_slash = match(substr, '\/') != -1       " position of slash, if any
  if (!has_period && !has_slash)
    return "\<C-X>\<C-P>"                         " existing text matching
  elseif ( has_slash )
    return "\<C-X>\<C-F>"                         " file matching
  else
    return "\<C-X>\<C-O>"                         " plugin matching
  endif
endfunction

inoremap <tab> <c-r>=Smart_TabComplete()<CR>
于 2013-04-08T02:58:04.513 に答える