단일 키 스트로크를 사용하여 NERDTree를 열고 닫으려면 어떻게해야합니까?


21

때로는 작업 과정에서 이동 중에 파일을 열거 나 검색하고 싶을 수도 있습니다. NERDTree를 열고 닫는 단일 키 (예 : F6)를 매핑하고 싶습니다 (예 : NERDTree보기를 토글하고 싶습니다). 또한 NERDTree가 토글 된보기에 숨겨진 파일과 폴더를 표시하고 싶습니다. 가능한 경우 편집을 위해 파일을 열 때 자동으로 닫히고 싶습니다. 감사 !


1
안녕하세요, 사이트에 오신 것을 환영합니다! 점이 다른 질문 대신 여러 가지 질문을하는 것이 좋습니다. 즉, 여기서 숨겨진 파일과 폴더에 대해 다른 질문을 할 수 있습니다. 주된 질문은 토글에 대한 것입니다 (이미 답변을 얻었습니다). 또한 플러그인 문서를 읽고 :h;) 에서 시간을 보내는 것을 잊지 마십시오 .
nobe4

답변:


29

당신의 vimrc추가

nmap <F6> :NERDTreeToggle<CR>

<F6>매핑하려는 키는 어디에 있습니까 ?


잘 작동하지만 숨겨진 파일과 폴더를 동시에 표시하는 방법은 무엇입니까?
evil_potato

3
@evil_potato shift + i는 숨겨진 파일을 토글합니다. 기본 동작으로 설정 let NERDTreeShowHidden=1하려면.vimrc
Atropo

3
@evil_potato 또한 편집 할 파일을 열 때 자동으로 let NERDTreeQuitOnOpen=1.vimrc
닫히

9

NerdTree를 열려면

:NERDTreeFocus

너드 트리와 파일 열린 창 사이를 전환하려면 :

ctrl + ww (double w)

또는

ctrl + w + (h/j/k/l)

NerdTree를 닫으려면 (nerdtree 창에서) :

:q

3

이것은 당신이 요구 한 것을 정확하게 할 것입니다 :

nnoremap <silent> <expr> <F6> g:NERDTree.IsOpen() ? "\:NERDTreeClose<CR>" : bufexists(expand('%')) ? "\:NERDTreeFind<CR>" : "\:NERDTree<CR>"

1

NERDTree 창을 닫으려면 NERDTree 메뉴 안에 있는지 확인하십시오. ctrl+w그런 다음 을 사용하여 창을 전환하여 :qNERDTree 창을 닫아 코드를 편집 할 수있는 창을 남길 수 있습니다.


이것은 내가 찾던 것이지만 다시 열면 어떻습니까? 다른 키를 매핑해야합니까, 아니면 NERDTree를 다시 열 기본 단축키가 있습니까?
Deesbek

0

다음 함수는 열린 netrw 버퍼를 추적하고 Lexplore그에 따라 호출합니다 . 에 추가하고 .vimrc매핑 키를 선택하십시오.

let g:NetrwIsOpen=0

function! ToggleNetrw()
    if g:NetrwIsOpen
        let i = bufnr("$")
        while (i >= 1)
            if (getbufvar(i, "&filetype") == "netrw")
                silent exe "bwipeout " . i 
            endif
            let i-=1
        endwhile
        let g:NetrwIsOpen=0
    else
        let g:NetrwIsOpen=1
        silent Lexplore
    endif
endfunction

noremap <silent> <F2> :call ToggleNetrw()<CR>

4
NERDTreeToggleNerdTree와 함께 제공 되는 명령보다 더 나은 방법을 설명해 주시겠습니까?
statox
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.