NERDTree: abre o arquivo na janela atual?

3

Quando eu abro um arquivo em um buffer NERDTree que foi criado abrindo um diretório, quando eu pressiono <CR> , ele abre o arquivo selecionado na janela atual a menos que o arquivo esteja aberto em outro janela, caso em que move o cursor para essa janela (mudando as abas, se necessário).

Existe alguma maneira de o NERDTree abrir o arquivo no buffer em que o NERDTree está?

(Eu estou essencialmente querendo usar o NERDTree como uma substituta nativa. Neste aspecto, o comportamento do NERDTree difere daquele do netrw; eu gostaria que ele imitasse netrw aqui.)

    
por Thanatos 06.10.2014 / 23:57

1 resposta

2

Parece que você está procurando a opção NERDTreeHijackNetrw , conforme explicado na documentação do NERDTree :

If set to 1, doing a
:edit <some directory>

will open up a "secondary" NERD tree instead of a netrw in the target window.
Secondary NERD trees behaves slightly different from a regular trees in the
following respects:
1. 'o' will open the selected file in the same window as the tree,
replacing it.
2. you can have as many secondary tree as you want in the same tab.

Se você estiver procurando algo além disso, poderá alcançá-lo com base na API oferecida pelo plug-in:

4. The NERD tree API *NERDTreeAPI*
The NERD tree script allows you to add custom key mappings and menu items via
a set of API calls. Any scripts that use this API should be placed in
~/.vim/nerdtree_plugin/ (*nix) or ~/vimfiles/nerdtree_plugin (windows).

The script exposes some prototype objects that can be used to manipulate the
tree and/or get information from it: 

g:NERDTreePath
g:NERDTreeDirNode
g:NERDTreeFileNode
g:NERDTreeBookmark

See the code/comments in NERD_tree.vim to find how to use these objects. The
following code conventions are used:
* class members start with a capital letter
* instance members start with a lower case letter
* private members start with an underscore

See this blog post for more details:
http://got-ravings.blogspot.com/2008/09/vim-pr0n-prototype-based-objects.html

Uma solução possível é criar um mapeamento que recupere o caminho do arquivo sob o cursor e use o :edit nele.

    
por 22.06.2015 / 18:21

Tags