1

私はvimを初めて使用するので、これが本当にばかげている場合は、事前に謝罪しますが、Googleで見つけることができないようです.

フォーカスをnerdtreeに設定するスタックオーバーフローでこれを切り取りました:

let mapleader = ","
nmap <leader>ne :NERDTree<cr>

しかし、このコマンドを実行したときに多数のディレクトリが展開されていると、リセットされます。リセットされない方法はありますか?

役立つ場合はMacvimを使用しています。

また、 については知って:NERDTreeToggleいますが、ツリーを常に表示したいです。

4

2 に答える 2

5

@FDinoff がその方法を示しましたが、実際には NERDTree フォーカスを自分で実装する必要はありません。文書化されていませんが、組み込まれています。

このマッピングを試してください:

:nnoremap <leader>ne :NERDTreeFocus<CR>

@kevによるこの素晴らしい回答から取得。

于 2013-08-24T23:59:16.900 に答える
3

nerdtree ウィンドウのファイルタイプはnerdtree

以下は、ファイルタイプ nerd ツリーを持つ最初のウィンドウにフォーカスするか、元のウィンドウにカーソルを置いたままにする関数です。

function! FocusNERDtree()
    let initial_win_num = winnr()
    for i in range(1, winnr('$'))
        exec i.'wincmd w'
        if &filetype == 'nerdtree'
            return 1
        endif
    endfor
    exec initial_win_num.'wincmd w'
    return 0
endfunction

したがって、このためのマップを作成するだけです。

nnoremap <leader>nf :call FocusNERDtree()<cr>

<c-w>または、方向 ( hjkまたはl)を使用してウィンドウを手動で移動することもできます。

于 2013-08-24T23:41:06.560 に答える