.vimrc에 NERDTree를 추가하는 방법


118

.vimrc에 NERDTree를 어떻게 추가합니까?


내 대답을 업데이트했습니다. .vimrc에 추가하여 원하는 작업을 수행 할 수 있을지 모르겠지만 NERDTree를 자동으로 여는 방식으로 명령 줄에서 vim을 실행할 수 있다는 것을 알고 있습니다. 보세요 :)
Steven Kryskalla

답변:


199

예, 이전 버전은 약간 간결했지만 찾고있는 답은 아래 줄을 ~/.vimrc파일 에 추가하는 것 입니다. Vim이 시작될 때 실행할 명령을 설정하고 싶다고 Vim에게 알려 주지만로드 할 다양한 플러그인에 따라 다르기 때문에 모든 초기화가 완료 될 때까지 실행하고 싶지 않습니다.

autocmd VimEnter * NERDTree

그러나 커서가 항상 NERDTree 창에서 시작된다는 사실에 짜증이 난다면 커서를 주 창으로 이동시키는 두 번째 자동 명령을 추가 할 수 있습니다.

autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p

나는 이유를 모르지만 이것은 나를 위해 작동하지 않습니다. 어쨌든 nerdtree를 표시하려면 vim 내부에서 NERDTreeToggle을 호출해야합니다.
hgf

vimpager와 같은 스크립트를 사용하는 경우이 줄을 /.vim/after/plugin/NERD_tree.vim스크립트 로 이동 하여 플러그인을 끈 상태에서 실행하지 않도록해야합니다.
Joshua Olson

9
두 개의 별도 autocmd가 필요하지 않습니다.autocmd VimEnter * NERDTree | wincmd p
Dave James Miller

시작하려는 실제 경로를 간단히 지정할 수 있습니까?
-Yup

1
다음을 선호합니다 : autocmd VimEnter * NERDTree그리고 autocmd VimEnter * if argc() | wincmd p | endif. 이렇게하면 특정 파일을 열지 않은 경우 커서가 NERDTree에 있지만 파일을 선택하면 기본 창에서 시작됩니다.
user2275806 2015-04-15

20

파일 인수없이 vim을 시작할 때만 NERDTree를보고 싶습니다. 그래서 이것을 .vimrc에 추가했습니다.

autocmd VimEnter * if !argc() | NERDTree | endif

19

Windows 또는 Unix-y 시스템을 사용하고 계십니까?

Unix-y 시스템을 사용하는 경우 플러그인을 ~/.vim/plugin. 내 플러그인 디렉토리는 다음과 같습니다.

$ ls ~/.vim/plugin
NERD_tree.vim  scratch.vim  scratchfind.vim

그 후 즉시 작동하기 시작합니다. 다음과 같이 vim을 실행 해보십시오.

$ vim .

NERD 트리보기에서 현재 디렉터리를 열어야합니다.

Windows를 사용하는 경우 여기에 플러그인을 넣습니다. C:\Program Files\Vim\vim70\plugin


vim을 시작할 때 NERDTree를 자동으로로드하려면 명령 줄에서 다음과 같이 실행하십시오.

$ vim -c "NERDTree" some_file.txt

에서 이에 대한 별칭을 설정할 수 있습니다 .bashrc.

alias vimt='vim -c "NERDTree" $1'

이제 vimt(대신 vim) 실행할 때마다 창 왼쪽에 NERDTree가 열립니다.

다음과 .vimrc같은 방법으로 NERDTree를 시작하는 바로 가기 키를 추가 할 수도 있습니다 .

function OpenNERDTree()
  execute ":NERDTree"
endfunction
command -nargs=0 OpenNERDTree :call OpenNERDTree()

nmap <ESC>t :OpenNERDTree<CR>

당신이 명중 할 때 이제 Esc다음 t은 개방 NERDTree를 나타납니다.


저는 Unix-y 컴퓨터를 실행하고 있습니다. NERDTree가 설치되어 있습니다. 명령 줄에 vim을 입력 할 때 NERDTree를 시작해야합니다. 따라서 파일 브라우저는 Textmate에서와 같이 항상 왼쪽으로 열립니다. 나는이 작업을 수행 할 수있는 vimrc에 넣어 해야할지 모르겠어, 내가 시도 : NERDTree하지만 명령을 인식하지 않는 것 ...
chutsu

2
사용자 지정 함수를 다소 중복되게 만드는 매핑 할 수있는 매핑에 내장 된 : NERDTreeToggle이 있다고 추가 할 생각입니다.
Gavin Gilmour

1
훌륭한 팁alias vimt='vim -c "NERDTree" $1'
pedrosaurio 2013-06-04

8

NERDTree 지침 당신은 사용할 수 있습니다 pathogen.vim을 . 다음과 함께 설치하십시오.

mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
        https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim

.vimrc에 다음을 추가하십시오.

execute pathogen#infect()

그런 다음 NERDTree를 설치하십시오.

cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree.git

Vim이 시작될 때 자동으로 NERDTree를 열려면 .vimrc에 다음을 추가하십시오.

autocmd vimenter * NERDTree

7

여기에 대한 답변에는 사소한 문제가 있습니다.

vimpager 와 같은 모드를 vim --noplugin사용하는 스크립트 를 호출 하거나 사용 하면 다음 오류가 발생합니다.--noplugin

Error detected while processing VimEnter Auto commands for "*":
E492: Not an editor command: NERDTree

이를 방지하려면 ~/.vim/after/plugin/NERD_tree.vim대신 다음 명령을 입력하십시오 .

autocmd VimEnter * NERDTree

또한 다음 NERDtree과 같이 사용 가능한 것을 테스트하는 것도 좋은 생각 일 수 있습니다.

if exists("loaded_nerd_tree")
    autocmd VimEnter * NERDTree
endif

1
좋은 하나는 ... 나는 또한 비활성화 autocommands에 추가 단순히 인수를 호출기로 빔을 사용하고 ... export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
에디 B

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.