0

どういうわけか、私の macvim/vim インスタンスはすべてのタブをオートコンプリート メニューに展開しています。

私のvimrcはここにあります: https://github.com/jvanbaarsen/dotfiles/blob/master/vimrc

問題のスクリーンショット:

(「起こる」テキストは、オートコンプリートリストの最初の出現ですが、改行にタブを付けました)

誰かが私を助けてくれることを願っています。これは私を狂わせています!

4

3 に答える 3

0

問題を見つけたと思います。それは「ervandew/supertab」バンドルでした。それを削除した後、vim を正常に使用できました。

于 2013-07-11T18:50:21.993 に答える
0

私はこれをオンラインで見つけて、問題を「修正」するために自分の vimrc で使用しました。しかし、それでもちょっと面倒だったので、使用するように再訓練しましたctrl-p。コメント内の URL はかつて有効ではありませんでしたが、現在は有効ではありません..

" Remap the tab key to do autocompletion or indentation depending on the
" context (from http://www.vim.org/tips/tip.php?tip_id=102)
function! InsertTabWrapper()
  let col = col('.') - 1
  if !col || getline('.')[col - 1] !~ '\k'
    return "\<tab>"
  else
    return "\<c-p>"
  endif
endfunction
inoremap <silent> <tab> <c-r>=InsertTabWrapper()<cr>
inoremap <s-tab> <c-n>
于 2013-07-11T18:55:18.767 に答える
0

プラグインは、キーの通常のインデント機能を維持し、それで完了することのsupertab両方を目指しています。<Tab>私は個人的には代わりに自己記述関数を使用してそれを使用しませんが、問題の考えられる原因は、プロジェクトのホームページで入手できる README ファイルにある FAQ の最初の質問に記載されています。

  • スーパータブが構成済みの設定を尊重しないのはなぜですか (行頭で補完しようとすると、構成済みのデフォルトではなく常にキーワード補完が実行されるなど)?

    スニペットが見つからない場合に <cn> を発行する、非常に古いバージョンの snipmate がインストールされている可能性があります。スーパータブは <cn> にマップするために使用されるため、この動作はスーパータブへのフォールバックとして機能しますが、スーパータブの現在のバージョンではそうではなくなり、snipmate がスーパータブを完全にバイパスします。

    これが該当するかどうかは、vim で次のコマンドを実行して <tab> にマップされているものを確認することで確認できます。

     :verbose imap <tab>
    

    この問題を解決するには、次のいずれかを実行できます。

    1. フォークをインストールするか、
    2. garbase/vim-snipmateなどの最新の Snipmate フォークにアップグレードします

    詳細については、 #74を参照してください。

于 2013-07-11T20:02:36.630 に答える