1

SQLファイルでsnipMateを使用しようとしていますが、既存のファイルを編集するときに機能しないようです。

新しい空のバッファを作成し(ファイルなし、たとえばスタートメニューからgvimを起動する)、ファイルタイプをsql:set ft=sql)に設定すると、機能します。ただし、SQLファイル(例:e c:\blah.sql)を開いて編集しようとすると、snipMateが機能しなくなります。何が!?

設定:

  • gvim
  • vim 7.3
  • Windows 7
  • snipMate 0.84
  • また、私は実際filetype plugin onに私の.vimrcファイルにあります。

編集

どうやら、空のバッファを開き、ファイルタイプをsqlに設定してから、を使用してファイルに保存するとw c:\blah.sql、sqlファイルが開いたままになり、snipMateは引き続き機能します。

編集

これが私の現在の.vimrcの要点です:https ://gist.github.com/3946877

4

3 に答える 3

1

vimが拡張子からのSQLファイルタイプを認識していないようです。これを.vimrcに入れてみてください:

augroup filetypedetect
  au! BufRead,Bufnewfile *.sql setfiletype sql
augroup END
于 2012-10-24T11:40:00.213 に答える
1

私は私のコンピュータであなたを試し.vimrcました、そしてそれはうまくいきます。起動時にファイルタイプを検出するファイルがあり、そのファイル内に問題がある可能性がありfiletype.vimます。$VIMRUNTIMEこれらは私の関連する行です:

" SQL
au BufNewFile,BufRead *.sql         call s:SQL()

func! s:SQL()
  if exists("g:filetype_sql")
    exe "setf " . g:filetype_sql
  else
    setf sql
  endif
endfunc

これらを自分にコピーすることも$VIMRUNTIME/filetype.vim、自分だけにコピーすることもできます.vimrc。これで問題は解決しますが、そもそもこの問題は発生しないはずです。

進捗状況を教えてください。

$VIMRUNTIMEは私のマシンにあります、vimセッションで/usr/share/vim/vim73実行することであなたのものを見つけることができます:echo $VIMRUNTIME

于 2012-10-24T16:57:57.643 に答える
0

うーん、私はばかです!

snipMateを除くすべてのプラグインを削除することにし、プラグインをゆっくりと追加し直しました。snipMateを接続しているときに気づかなかったのですが、コード完了と呼ばれるコード補完を行うためのプラグインを以前に追加していまし。どうやらこのオタクとsnipMateは戦争中だったので、コードを削除すると、完全なsnipMateが奇跡的に機能し始めました!

うまくいけば、これは将来誰かを助けるかもしれません。

于 2012-10-25T05:34:03.770 に答える