ฉันรู้ว่าCTRLgแสดงไฟล์ปัจจุบันที่คุณกำลังทำงานอยู่ มีวิธีแก้ไข.vimrc
สิ่งที่ชื่อไฟล์ / พา ธ แสดงอยู่เสมอหรือไม่?
ฉันรู้ว่าCTRLgแสดงไฟล์ปัจจุบันที่คุณกำลังทำงานอยู่ มีวิธีแก้ไข.vimrc
สิ่งที่ชื่อไฟล์ / พา ธ แสดงอยู่เสมอหรือไม่?
คำตอบ:
ในสเตตัสไลน์ของคุณเพิ่ม a %F
เพื่อแสดงเส้นทางแบบเต็ม:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
หมายเหตุ%F
จะเป็นเส้นทางแบบเต็ม หากต้องการรับเส้นทางที่สัมพันธ์กับไดเร็กทอรีการทำงานให้ใช้%f
.
หากสถานะของคุณไม่ปรากฏให้เห็นก่อนอื่นคุณอาจต้องกำหนดค่าให้มองเห็นได้ตลอดเวลาผ่านทาง laststatus=2
set laststatus=2
ดู:help laststatus
ความหมายของตัวเลือก โดยปกติแล้วสเตตัสไลน์อาจถูกซ่อนไว้หรือถูกซ่อนไว้เว้นแต่จะเปิดบัฟเฟอร์หลายตัว แต่ฉันพบว่ามีประโยชน์อย่างยิ่งที่จะมีการปรับแต่งแบบนี้ตลอดเวลาซึ่งควรค่าแก่การสำรองบรรทัดหน้าจอหนึ่งบรรทัด
:set statusline=%F
โดยไม่ต้อง+
:set statusline=%F
? มองไปทางขวาหรือซ้ายเพื่อดูว่าชื่อไฟล์ซ่อนอยู่ที่นั่นในสถานะหรือไม่
set laststatus=2
เพื่อให้เห็นสถานะตลอดเวลา ฉันลืมไปแล้วว่าฉันมีอยู่
ตั้งค่า ls = 2
เพิ่มสิ่งนี้ใน vimrc และคุณจะเห็นชื่อไฟล์ที่ด้านล่างเสมอ
set modeline
ค่อนข้างอันตรายและไม่มีส่วนเกี่ยวข้องกับคำถาม อนุญาตให้ดำเนินการคำสั่ง Vim ใน 5 บรรทัดเริ่มต้น / สิ้นสุดของไฟล์ ควรเปิดโดยผู้ที่รู้สาเหตุและต้องการสิ่งนี้จริงๆเท่านั้น (นั่นคือเหตุผลที่ฉัน -1 คำตอบนี้)
ฉันพบ 2 วิธีในการแสดงเส้นทางไฟล์ในแถบชื่อเรื่องของ gnome-terminal ขณะแก้ไขไฟล์ด้วย Vim
วิธีที่ง่ายกว่า (และดีกว่า): เพิ่มบรรทัดต่อไปนี้ใน~/.vimrc
:
set title
ซึ่งจะแสดงให้คุณเห็นที่ด้านบน:
filename.ext (~/path_to_directory_where_your_file_is/) - VIM
วิธีที่ซับซ้อนกว่านี้จะแสดงเส้นทางไฟล์ที่แน่นอน มีการบันทึกรายละเอียดเพิ่มเติมเล็กน้อยในโพสต์บล็อกนี้ที่ฉันเพิ่งเขียน
:echo expand('%:p')
วิธีเดียวที่ฉันจะได้รับพบเส้นทางที่เต็มรูปแบบของไฟล์ผมทำงานในคือ: คุณสามารถแมป ctrl + g ใหม่ได้หากต้องการ แต่โดยส่วนตัวแล้วฉันไม่ชอบที่จะเปลี่ยนไปจากมาตรฐานมากเกินไป ฉันได้แมป F7 ดังนี้:
map <F7> <Esc>:echo expand('%:p')<Return>
:help CTRL-G
และมองลงสองย่อหน้าCTRL-G
ด้วยการนับ
1 CTRL-G
แสดงชื่อไฟล์แบบเต็ม ฉันกำลังค้นหาตัวเลือกนี้
~
ก็ตาม
หากคุณใช้vim-airlineให้ใส่.vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
นี้คือการเปลี่ยนแปลงของการเริ่มต้นสายการบินมีการเปลี่ยนแปลงโดย%f
%F
ฉันใช้มาตลอด:f
แต่คำตอบและลิงค์จาก @MichaelBerkowski นั้นยอดเยี่ยมมาก!
:f
แสดงเส้นทางการนับบรรทัดสถานะที่แก้ไขตำแหน่งเคอร์เซอร์ปัจจุบันและอื่น ๆ ...
ไม่รู้เรื่องCTRLGแต่ดูเหมือนจะไล่เลี่ยกัน
ฉันคิดว่าสเตตัสไลน์นั้นทรงพลังและมีประโยชน์มาก ช่องว่างจะแสดงชื่อไฟล์ตำแหน่งเคอร์เซอร์และธงบางอย่าง แต่คุณต้องการทำเช่นเดียวกับฉันและแทนที่ชื่อไฟล์ -part ด้วยเส้นทางแบบเต็มไปยังไฟล์
ดังนั้นในขณะที่แก้ไขสถานะของ.vimrc
ฉันอาจมีลักษณะเช่นนี้เป็นค่าเริ่มต้น:
.vimrc 26,16 7%
คุณสามารถดูการตั้งค่าสถานะของคุณด้วย:
:set statusline?
แต่ถ้าคุณไม่ได้ทำการเปลี่ยนแปลงใด ๆ และไม่มีโมดูลใดเปลี่ยนแปลงมันก็จะว่างเปล่า แต่จากตัวอย่างในส่วนวิธีใช้ ( :help statusline
) คุณจะพบว่าค่าเริ่มต้นคือ:
:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
ดังนั้นรวมนี้ไว้ใน.vimrc
การเปลี่ยนแปลงและการ%f
%F
ฉันยังได้เพิ่มแฟ%y
ล็กfiletype ( ) ลงในสเตตัสไลน์ด้วยเพราะฉันคิดว่ามันสะดวก ดังนั้นการกำหนดค่าผลลัพธ์ของฉันจึงมีลักษณะดังนี้:
:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P
และผลลัพธ์จะมีลักษณะดังนี้:
~/.vimrc [vim] 26,16 7%
การอ่านที่ดี:
ปล. ฉันเรียกใช้กลุ่ม 7.3
หากคุณต้องการให้เส้นทางรวมลิงก์สัญลักษณ์ที่แก้ไขแล้วให้ใช้สิ่งต่อไปนี้:
set statusline +=%{resolve(expand('%:p'))}\ %*
หากต้องการใช้ตัวย่อ '~' สำหรับโฮมไดเร็กทอรีของคุณให้รวม fnamemodify
set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*
set statusline+=%F
ให้ฉัน~/.vimrc
ดูเหมือนจะไม่ทำตามที่คุณพูด แม้ว่าเอกสารจะเห็นด้วยกับคุณอย่างแน่นอน ...