NERDTree โหลดไฟล์ใหม่


239

หากฉันเพิ่มไฟล์ไปยังไดเรกทอรีเดียวกันที่เปิดอยู่NERDTreeวิธีเดียวที่ฉันสามารถเห็นไฟล์ที่เพิ่มเข้ามาคือถ้าฉันออกจากกลุ่มแล้วเริ่มใหม่อีกครั้ง

มีวิธีที่ฉันสามารถโหลดไฟล์ใหม่ได้NERDTreeหรือไม่?

คำตอบ:


416

คุณสามารถปิดและเปิด NERDTree อีกครั้งหรือกดrเพื่อรีเฟรชรายชื่อไดเรกทอรีปัจจุบันหรือRเพื่อรีเฟรชรายชื่อของไดเรกทอรีราก

คุณเห็น "กดเพื่อขอความช่วยเหลือ" ที่ด้านบนของหน้าต่าง NERDTree หรือไม่ หมายความว่าคุณสามารถกด?ขอความช่วยเหลือได้ หากคุณทำเช่นนั้นคุณจะเห็นรายการทางลัดของ NERDTree อย่างละเอียด นั่นมันเรียบร้อย

โดยทั่วไปปลั๊กอินจำนวนมากมีเอกสารอย่างละเอียดที่คุณสามารถเข้าถึง:help <pluginame>ได้


15
ปิดและเปิด NERDTree อีกครั้งไม่ทำงาน ... r ใช้งานได้! ขอบคุณมาก!
lesce

5
การเปิดอีกครั้งไม่ทำงานเนื่องจาก NERDTree เก็บรายการไดเรกทอรีไว้ คุณสามารถเห็นข้อความถึงเอฟเฟกต์นั้นเมื่อรีเฟรชด้วย 'r'
mqsoh

3
ฉันดูความ?ช่วยเหลือสามครั้งและไม่เคยเห็นr!
Cory Klein

2
อันที่จริงหน้าต่างช่วยเหลือของ NERDTree ไม่ได้แสดงรายการrทางลัด
micahbf

1
ช่วยเหลือด่วน?NERDTree ทำรายการทางลัดเหล่านี้ในส่วน "การแมประบบแฟ้ม" มันแสดงรายการ“ r: รีเฟรชเคอร์เซอร์ dir” และ“ R: รีเฟรชรูทปัจจุบัน”
Rory O'Kane

21

ตามที่ @romainl ตอบด้านบน; กดrเพื่อรีเฟรชไดเรกทอรีปัจจุบันหรือRรีเฟรชไดเรกทอรีราก

คุณสามารถพิจารณาเพิ่มไฟล์ใหม่จาก nerdTree เองโดยการกดmจากนั้นaเพิ่มไฟล์ใหม่ (หรือไดเรกทอรีโดยการเพิ่มเครื่องหมายสแลชต่อท้าย) วิธีนี้คุณไม่จำเป็นต้องรีเฟรช nerdTree เพื่อดูไฟล์ที่เพิ่มใหม่


7

รีเฟรช NERDTree

แทนที่จะกดปุ่มRในNERDTreeหน้าต่างฉันใช้แผนที่ที่กำหนดเองที่ทำเพื่อฉัน:

nmap <Leader>r :NERDTreeRefreshRoot

ฉันได้แมปกับLeader+ rแล้ว แต่คุณสามารถแมปกับสิ่งที่คุณต้องการ


คำอธิบาย:

  • มันสลับไปที่NERDTreeหน้าต่างก่อน
  • จากนั้นรีเฟรชรูตโหนด (โดยการจำลองRคีย์)
  • และในที่สุดก็สลับกลับไปที่หน้าต่างก่อนหน้า

หมายเหตุ:คุณสามารถเพิ่มขั้นตอนสุดท้ายเพื่อรีเฟรช CtrlP พร้อมกับ NERDTree


1
คุณสามารถแมปได้:NERDTreeRefreshRootโดยไม่ต้องเน้นต้นไม้
Gregory

5

คุณสามารถกดปุ่ม R ได้โดยใช้ฟังก์ชั่นฟีดคีย์ เช่นนี้

call feedkeys("R")  

ฉันได้กำหนดฟังก์ชั่นในไฟล์. vimrc ของฉัน:

fun! ToggleNERDTreeWithRefresh()
    :NERDTreeToggle 
    if(exists("b:NERDTreeType") == 1)
        call feedkeys("R")  
    endif   
endf 

nmap <silent> <c-l> :call ToggleNERDTreeWithRefresh()<cr>  

ดังนั้นเมื่อฉันพิมพ์ctrl+ lNERDTree จะถูกสลับและรีเฟรชไดเรกทอรีราก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.