এমন একটি শর্টকাট রয়েছে যা NerdTree ডিরেক্টরি প্যানেলে বর্তমান ফাইলটি প্রকাশ করে।
টেক্সটমেটের মতো 'ড্রয়ারে ফাইলটি প্রকাশ করুন' - Ctrl + কমান্ড + আর
এমন একটি শর্টকাট রয়েছে যা NerdTree ডিরেক্টরি প্যানেলে বর্তমান ফাইলটি প্রকাশ করে।
টেক্সটমেটের মতো 'ড্রয়ারে ফাইলটি প্রকাশ করুন' - Ctrl + কমান্ড + আর
উত্তর:
ইন: এইচ NERDTree:
:NERDTreeFind :NERDTreeFind
Find the current file in the tree. If no tree exists for the current tab,
or the file is not under the current root, then initialize a new tree where
the root is the directory of the current file.
আমি মনে করি না এটি ডিফল্টরূপে কোনও কিছুর সাথে আবদ্ধ, সুতরাং আপনাকে নিজের একটি কী-বাইন্ড নিজেই করতে হবে।
nmap ,n :NERDTreeFind<CR>
আমার .vimrc এ যা প্রদর্শিত হবে তা বরাবর
nmap ,m :NERDTreeToggle<CR>
:NERDTreeFind
এটি দেখুন, এটি সিঙ্ক অপারেশনটিকে স্বয়ংক্রিয় করে তোলে, যখনই আপনি বাফার পরিবর্তন করবেন, নার্ডট্রি স্বয়ংক্রিয়ভাবে নিজেকে রিফ্রেশ করবে (আমি এখানে ছোট ছোট পরিবর্তন করে অনুলিপি করেছি )
" Check if NERDTree is open or active
function! IsNERDTreeOpen()
return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1)
endfunction
" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable
" file, and we're not in vimdiff
function! SyncTree()
if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff
NERDTreeFind
wincmd p
endif
endfunction
" Highlight currently open buffer in NERDTree
autocmd BufEnter * call SyncTree()
BufRead
জায়গায় ইভেন্ট ব্যবহার BufEnter
।
এটি সম্ভবত একটি মন্তব্যও হওয়া উচিত। NerdTree বর্তমান সংস্করণ টগল এবং SyncTree ব্যবহারের ফলে NERDTree দুবার ডাকা হবে। এই পরিবর্তনটি সমস্যার সমাধান করে বলে মনে হচ্ছে:
" Check if NERDTree is open or active
function! IsNERDTreeOpen()
return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1)
endfunction
" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable
" file, and we're not in vimdiff
function! SyncTree()
if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff
NERDTreeFind
wincmd p
endif
endfunction
" Highlight currently open buffer in NERDTree
autocmd BufEnter * call SyncTree()
function! ToggleNerdTree()
set eventignore=BufEnter
NERDTreeToggle
set eventignore=
endfunction
nmap <C-n> :call ToggleNerdTree()<CR>
চেন রুশানের পোস্টের সাথে যেতে, স্বতঃসিএমডি বুফএন্টার * কল করুন সিঙ্কট্রি () NERDTree বন্ধ হতে দেবে না। NERDTree কে টগল করার অনুমতি দেওয়ার সময় NERDTree তে বর্তমান ওপেন বাফারটি হাইলাইট করবে এমন কোনও সমাধান (নীচে ব্যতীত) আমি খুঁজে পেলাম না।
নীড়টি আমি NERDTree টগল করতে সক্ষম হতে এবং আমার পরবর্তী বাফার ম্যাপিংয়ের জন্য Ctrl +] ব্যবহার করার সময় ফাইলগুলি হাইলাইট করার জন্য একসাথে স্ক্র্যাপ করেছি।
আশা করি অন্যরাও এর উন্নতি করতে পারে।
"Buffers
set hidden
function! IsNERDTreeOpen()
return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1)
endfunction
function! NextBuffer()
bnext
if IsNERDTreeOpen()
NERDTreeFind
wincmd p
endif
endfunction
nnoremap <c-]> <Esc>:call NextBuffer()<CR>
function! PrevBuffer()
bprev
if IsNERDTreeOpen()
NERDTreeFind
wincmd p
endif
endfunction
nnoremap <c-[> <Esc>:call PrevBuffer()<CR>
function! ToggleNT()
NERDTreeToggle
endfunction
map <c-u> <Esc>:call ToggleNT()<cr>
চেন রুশনের উত্তর + মন্তব্যটি কেবলমাত্র গাছ সক্রিয় করা ব্যতীত আমার পক্ষে পুরোপুরি কার্যকর হয়েছিল। গাছটি খোলার সাথে সাথে এই সেটিংসটি গাছের বর্তমান ফাইলটি প্রকাশ করবে।
" Check if NERDTree is open or active
function! IsNERDTreeOpen()
return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1)
endfunction
function! CheckIfCurrentBufferIsFile()
return strlen(expand('%')) > 0
endfunction
" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable
" file, and we're not in vimdiff
function! SyncTree()
if &modifiable && IsNERDTreeOpen() && CheckIfCurrentBufferIsFile() && !&diff
NERDTreeFind
wincmd p
endif
endfunction
" Highlight currently open buffer in NERDTree
autocmd BufRead * call SyncTree()
function! ToggleTree()
if CheckIfCurrentBufferIsFile()
if IsNERDTreeOpen()
NERDTreeClose
else
NERDTreeFind
endif
else
NERDTree
endif
endfunction
" open NERDTree with ctrl + n
nmap <C-n> :call ToggleTree()<CR>