Bagaimana cara menambahkan NERDTree ke .vimrc Anda


118

Bagaimana cara menambahkan NERDTree ke .vimrc saya?


Saya memperbarui jawaban saya. Saya tidak yakin Anda dapat menambahkannya ke .vimrc Anda untuk melakukan apa yang Anda inginkan, tetapi saya tahu Anda dapat menjalankan vim dari baris perintah dengan cara yang membuka NERDTree secara otomatis. Coba lihat :)
Steven Kryskalla

Jawaban:


199

Oke, versi sebelumnya agak singkat, tetapi jawaban yang Anda cari adalah menambahkan baris di bawah ini ke dalam ~/.vimrcfile Anda . Ini memberi tahu Vim bahwa Anda ingin mengatur perintah untuk dijalankan ketika Vim dimulai, tetapi karena itu tergantung pada berbagai plugin yang akan dimuat, Anda tidak ingin menjalankannya sampai semua inisialisasi selesai:

autocmd VimEnter * NERDTree

Namun, jika Anda terganggu oleh fakta bahwa kursor selalu dimulai di jendela NERDTree, Anda dapat menambahkan perintah otomatis kedua yang akan memindahkan kursor ke jendela utama:

autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p

Saya tidak tahu mengapa tetapi ini tidak berhasil untuk saya. Saya harus menelepon: NERDTreeToggle inside vim untuk tetap menunjukkan nerdtree
hgf

Jika Anda menggunakan skrip seperti vimpager, Anda harus memindahkan baris-baris ini ke /.vim/after/plugin/NERD_tree.vimskrip Anda , sehingga tidak mencoba dijalankan dengan plugin dimatikan.
Joshua Olson

9
Anda tidak memerlukan dua autocmd yang terpisah:autocmd VimEnter * NERDTree | wincmd p
Dave James Miller

dapatkah saya menentukan jalur sebenarnya yang ingin saya mulai? - Yup bekerja dengan folder (tidak ada garis miring di bagian akhir)
AturSams

1
Saya lebih suka melakukan hal berikut: autocmd VimEnter * NERDTreedan kemudian autocmd VimEnter * if argc() | wincmd p | endif. Dengan cara itu, kursor berada di NERDTree jika saya belum membuka file tertentu, tetapi jika saya memilih file, itu akan dimulai di jendela utama.
pengguna2275806

20

Saya suka melihat NERDTree hanya ketika saya memulai vim tanpa argumen file, jadi saya menambahkan ini ke .vimrc saya:

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

19

Apakah Anda menggunakan sistem Windows atau unix-y?

Jika Anda menggunakan sistem unix-y, Anda memasukkan plugin ~/.vim/plugin. Inilah tampilan direktori plugin saya:

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

Setelah itu mulai bekerja segera. Coba jalankan vim seperti ini:

$ vim .

Ini harus membuka direktori saat ini dalam tampilan pohon NERD.

Jika Anda menggunakan Windows, Anda meletakkan plugin di sini: C:\Program Files\Vim\vim70\plugin


Agar NERDTree dimuat secara otomatis saat Anda memulai vim, jalankan seperti ini dari baris perintah:

$ vim -c "NERDTree" some_file.txt

Anda dapat menyetel alias untuk ini di .bashrc:

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

Sekarang setiap kali Anda menjalankan vimt(bukan vim) Anda juga akan membuka NERDTree di sisi kiri jendela.

Anda juga dapat menambahkan tombol pintas untuk memulai NERDTree dengan .vimrccara ini:

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

nmap <ESC>t :OpenNERDTree<CR>

Sekarang ketika Anda menekan Escmaka tNERDTree akan terbuka.


Saya menjalankan mesin Unix-y. Saya telah menginstal NERDTree, yang saya perlukan adalah menjalankan NERDTree ketika saya mengetik vim di commandline. Sehingga file browser selalu terbuka ke kiri, seperti di Textmate. Saya tidak tahu apa yang harus dimasukkan ke dalam vimrc untuk melakukan ini, saya mencoba: NERDTree tetapi tampaknya tidak mengenali perintah ...
chutsu

2
Saya pikir saya akan menambahkan bahwa ada: NERDTreeToggle built in pemetaan yang dapat Anda petakan yang membuat fungsi kustom Anda agak berlebihan.
Gavin Gilmour

1
Tip luar biasaalias vimt='vim -c "NERDTree" $1'
pedrosaurio

8

Sesuai instruksi NERDTree Anda bisa menggunakan pathogen.vim . Instal dengan:

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

Tambahkan ini ke .vimrc Anda:

execute pathogen#infect()

lalu instal NERDTree:

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

Dan jika Anda ingin membuka NERDTree secara otomatis saat Vim dijalankan, tambahkan yang berikut ini ke .vimrc Anda:

autocmd vimenter * NERDTree

7

Jawabannya di sini memiliki masalah kecil.

Jika Anda memanggil vim --nopluginatau menggunakan skrip yang menggunakan --nopluginmode seperti vimpager , itu akan menyebabkan kesalahan ini:

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

Untuk menghindari ini, masukkan perintah ~/.vim/after/plugin/NERD_tree.vimsebagai gantinya:

autocmd VimEnter * NERDTree

Dan mungkin juga merupakan ide yang baik untuk menguji yang NERDtreetersedia juga, yaitu:

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

1
Bagus ... Saya juga menggunakan Vim sebagai pager dan hanya menambahkan argumen untuk menonaktifkan perintah otomatis ... export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
Eddie B

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.