2

:ex .(NERDTreeHijackNetrw=1)を介して、NerdTree バッファー オープンエンドの最初のファイル エントリに対応する 4 行目または 5 行目にカーソルを配置する方法がわかりませんでした。

私の .vimrc の次の行は機能しません:

autocmd BufEnter * silent! if (exists("b:NERDTreeType") && b:NERDTreeType == "secondary") | <missing command> | endif
4

1 に答える 1

1

私はいくつかの方法でそれを試してきましたが、問題は、すべての NERDTrees 内部メソッドがプライベートであることです (それらはs:それらの前に定義されているため、再利用が難しくなっています)。また、BufEnter イベントをフックすることはそのイベントが発生したときに NERDTree がまだ完全に初期化されていないように見えるため、あまり役に立ちません。

現時点では、これが最善の解決策になると思います。

fun! NewTreeOpen()
    NERDTreeFind
    wincmd o
    let g:NERDTreeQuitOnOpen=1
endfun

これが行うことは次のとおりです。

  • 現在のファイルが選択された新しい NERDTree サイドバー ウィンドウを開きます
  • NERDTree ウィンドウを唯一のウィンドウにします
  • ファイルを選択した後、NERDTree に (フルサイズの) サイドバーを再度閉じるように指示します。

それで十分だと思います。それ以外の場合は、NERDTree の作成者に機能要求を行って、これを追加できるかどうかを尋ねるべきだと思います。

于 2013-01-11T14:39:11.957 に答える