7

特定のファイルタイプを開いたときにタグバー VIM プラグインを起動したいので、.vimrc に以下を追加しました。

if has("gui_running")
    autocmd BufEnter *.hs nested TagbarOpen

しかし、これは私が期待したようには機能しません。サイド ウィンドウが開きますが、サイド ウィンドウには何も表示されず、カーソルがその中に閉じ込められます。クリックまたは CTRL-W 移動コマンドでウィンドウを切り替えることができません。

ただし、TagbarOpen を手動で実行すると、問題なく動作します。

他の誰かがこれを試しましたか、それとも上記の発行するコマンドが間違っていますか?

4

2 に答える 2

6

興味深いことに、これは私が予期していなかった便利な機能の副作用です。何が起こるか: ウィンドウが既に開いているときに TagbarOpen が呼び出されると、Tagbar はカーソルをウィンドウにジャンプさせます。そのため、Haskell ウィンドウに切り替えてウィンドウを離れようとするたびに、自動コマンドによってウィンドウがすぐに戻ってしまいます。私は、この機能を削除する変更をプッシュしました。おそらく、最初はあまり役に立ちませんでした。したがって、GitHub の開発版 ( https://github.com/majutsushi/tagbar ) を試してみると、動作するはずです。

ウィンドウが空であることには別の理由があります。デフォルトでは、Haskell は Exuberant Ctags によってサポートされていません。しかし、誰かがタグバーで動作する Haskell の優れた代替案をここに書いています: https://github.com/bitc/lushtags .

于 2011-11-02T15:33:38.387 に答える
4

実際には、この正確な構成で、php ファイル用の vimrc をセットアップしています。関数 / 変数がロードされた状態でタグバーが開き、Vim のロード時にカーソルが php ソースファイルにとどまります。

autocmd FileType php call SetPHPOptions()
function! SetPHPOptions()
setlocal shiftwidth=4 tabstop=4 softtabstop=4 expandtab makeprg=php-xdebug\ %
    :call tagbar#autoopen(0)
endfunction

「hs」の代わりに「php」を使用するか、その他のファイル タイプを指定します。ファイルタイプのリスト:

$VIMRUNTIME/filetype.vim

MacVim (スナップショット 72、Vim 7.4) で実行し、 https: //github.com/majutsushi/tagbar の最新ビルドの tagbar を使用します。

于 2014-04-23T12:42:13.320 に答える