.Vimrc dosyanıza NERDTree nasıl eklenir


118

NERDTree'yi .vimrc'ye nasıl eklerim?


Cevabımı güncelledim. İstediğinizi yapmak için .vimrc dosyanıza ekleyebileceğinizden emin değilim, ancak vim'i komut satırından NERDTree'yi otomatik olarak açacak şekilde çalıştırabileceğinizi biliyorum. Bir göz atın :)
Steven Kryskalla

Yanıtlar:


199

Tamam, önceki sürüm biraz kısaydı, ancak aradığınız yanıt aşağıdaki satırı ~/.vimrcdosyanıza eklemektir . Vim'e, Vim başladığında çalıştırılacak bir komut ayarlamak istediğinizi söyler, ancak yüklenecek çeşitli eklentilere bağlı olduğu için, tüm başlatma bitene kadar çalıştırmak istemezsiniz:

autocmd VimEnter * NERDTree

Bununla birlikte, imlecin her zaman NERDTree penceresinde başlamasından rahatsızsanız, imleci ana pencereye hareket ettirecek ikinci bir otomatik komut ekleyebilirsiniz:

autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p

Neden bilmiyorum ama bu benim için çalışmıyor. Aramam gerekiyor: NERDTree Yine de nerdtree'yi göstermek için vim içinde geçiş yap
hgf

Vimpager gibi bir komut dosyası kullanıyorsanız, bu satırları /.vim/after/plugin/NERD_tree.vimbetiğinize taşımalısınız, böylece eklentiler kapalıyken çalıştırılmaya çalışılmaz.
Joshua Olson

9
İki ayrı autocmd'ye ihtiyacınız yok:autocmd VimEnter * NERDTree | wincmd p
Dave James Miller

Başlamak istediğim gerçek yolu basitçe belirtebilir miyim? - Yup bir klasörle çalışır (sonunda eğik çizgi yok)
AturSams

1
Aşağıdakileri yapmayı tercih ederim: autocmd VimEnter * NERDTreeve sonra autocmd VimEnter * if argc() | wincmd p | endif. Bu şekilde, belirli bir dosyayı açmadıysam imleç NERDTree üzerindedir, ancak bir dosya seçtiysem ana pencerede başlar.
user2275806

20

NERDTree'yi yalnızca dosya argümanları olmadan vim'e başladığımda görmeyi seviyorum, bu yüzden bunu .vimrc dosyama ekledim:

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

19

Windows veya unix-y sistemi mi kullanıyorsunuz?

Unix-y sistemindeyseniz, eklentileri koyarsınız ~/.vim/plugin. Eklenti dizinim şöyle görünüyor:

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

Bundan sonra hemen çalışmaya başlar. Vim'i şu şekilde çalıştırmayı deneyin:

$ vim .

NERD ağaç görünümünde mevcut dizini açmalıdır.

Windows kullanıyorsanız eklentileri buraya koyun: C:\Program Files\Vim\vim70\plugin


NERDTree'nin vim'i başlattığınızda otomatik olarak yüklenmesini sağlamak için, komut satırından şu şekilde çalıştırın:

$ vim -c "NERDTree" some_file.txt

Bunun için bir takma ad ayarlayabilirsiniz .bashrc:

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

Artık vimt(yerine vim) çalıştırdığınızda , pencerenin sol tarafında NERDTree'yi de açacaksınız.

NERDTree'yi .vimrcşu şekilde başlatmak için bir kısayol tuşu da ekleyebilirsiniz :

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

nmap <ESC>t :OpenNERDTree<CR>

Eğer vurduğunda Şimdi Esco taçık NERDTree açılacaktır.


Bir Unix-y makinesi çalıştırıyorum. NERDTree Yüklü'm var, ihtiyacım olan şey komut satırına vim yazdığımda NERDTree'nin başlamasını sağlamak. Böylece Textmate'de olduğu gibi bir dosya tarayıcısı her zaman sola açılır. Bunu yapmak için vimrc'ye ne koyacağımı bilmiyorum, denedim: NERDTree ama komutu tanımıyor gibi görünüyor ...
chutsu

2
Özel işlevinizi oldukça gereksiz kılan haritalamada yerleşik bir NERDTreeToggle olduğunu eklemeyi düşündüm.
Gavin Gilmour

1
Mükemmel ipucualias vimt='vim -c "NERDTree" $1'
pedrosaurio

8

Başına NERDTree talimatlar sadece kullanabilirsiniz pathogen.vim . Şununla kurun:

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

Bunu .vimrc dosyanıza ekleyin:

execute pathogen#infect()

sonra NERDTree'yi kurun:

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

Ve Vim başladığında otomatik olarak bir NERDTree açmak istiyorsanız, .vimrc dosyanıza aşağıdakileri ekleyin:

autocmd vimenter * NERDTree

7

Buradaki cevapların küçük bir sorunu var.

Vimpager gibi modu vim --nopluginkullanan bir komut dosyasını ararsanız veya kullanırsanız , bu hataya neden olur:--noplugin

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

Bundan kaçınmak için ~/.vim/after/plugin/NERD_tree.vimbunun yerine komutu girin :

autocmd VimEnter * NERDTree

Ayrıca NERDtreemevcut olanı test etmek de iyi bir fikir olabilir , yani:

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

1
İyi biri ... Ben de devre dışı autocommands eklenen basit bir argümanı bir çağrı cihazı olarak Vim kullanabilir ve ... export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
Eddie B

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.