ฉันต้องการกำหนดค่าเป็นกลุ่มเพื่อเปิดไฟล์ในที่เดียวกับที่ฉันค้างไว้
ฉันต้องการกำหนดค่าเป็นกลุ่มเพื่อเปิดไฟล์ในที่เดียวกับที่ฉันค้างไว้
คำตอบ:
จาก/etc/vim/vimrc
ไฟล์ของ Ubuntu ตัวอย่างนี้ถูกใส่ความคิดเห็น:
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
หากวิธีนี้ใช้ไม่ได้แสดงว่าปัญหาทั่วไปไม่ได้เป็นเจ้าของ~/.viminfo
ไฟล์ของคุณ หากเป็นกรณีนี้ให้เรียกใช้:
sudo chown user:group ~/.viminfo
ที่ที่ผู้ใช้เป็นของคุณusername
และgroup
มักจะเหมือนกับชื่อผู้ใช้ของคุณ
\| exe "normal! g`\"" | endif
chown
ส่วนการแก้ไขปัญหาสำหรับผม ถอดหมวกออก!
chown user ~/.viminfo
เพิ่ม ฉันพยายามที่จะคิดออกเป็นเวลาหนึ่งชั่วโมงและคุณเพียงแค่ช่วยชีวิตของฉัน
หากคุณไม่สนใจระบบการซื้อขายอัตโนมัติเพื่อความง่ายเพียงกดปุ่ม'"(เครื่องหมายวรรคตอนตามด้วยเครื่องหมายอัญประกาศคู่) ในการเปิดไฟล์คุณจะข้ามไปที่ที่คุณเคยอยู่ นี่เป็นสิ่งที่คำตอบของ @ marcog กำลังทำอยู่
:h views-sessions
คุณสามารถวางสิ่งนี้ไว้ใน. vimrcของคุณ:
au BufWinLeave * mkview
au BufWinEnter * silent loadview
มุมมองจะถูกวางใน $ HOME / .vim / view คุณอาจต้องสร้างไดเรกทอรีเหล่านี้
คุณสามารถเริ่มเป็นกลุ่มได้โดยไม่ต้องระบุชื่อไฟล์โดยใช้
vim
จากนั้นกด CTRL + O สองครั้งเพื่อเลื่อนไปยังตำแหน่งสุดท้ายในไฟล์ที่คุณทำงาน
Ctrl-c
ครั้งเดียวก็เพียงพอแล้วสำหรับฉัน นอกจากนี้การกดCtrl-c
มากกว่าจะทำให้ฉันกลับไปที่ตำแหน่งเคอร์เซอร์ฮิสรอยด์ (แม้จะเปิดไฟล์ที่ไม่ได้เปิดที่เกี่ยวข้อง) ฉันใช้ Neovim 0.4.2 แต่ฉันเข้าใจว่ามันใช้ได้กับvim
เช่นกัน
หากคุณเปิดใช้งาน viminfo เป็นเรื่องง่ายเหมือน`0
ไปที่ตำแหน่งไฟล์ที่แก้ไขล่าสุด คุณจะสังเกตเห็นว่านี่เป็นเพียงคำสั่ง 'ไปที่ทำเครื่องหมาย';
แน่นอนคุณสามารถทำ '3 เพื่อไปยังตำแหน่งที่แก้ไขก่อนหน้าที่สาม (อาจเป็นไฟล์อื่น) จากนั้นกลับไปยังตำแหน่งสุดท้ายด้วย`0
อีกครั้ง
มองไปที่
:marks
เพื่อดูตำแหน่งที่จดจำ โปรดทราบว่า viminfo เก็บสิ่งอื่นทุกประเภท (เช่นเนื้อหาของการลงทะเบียนเครื่องหมายต่อไฟล์คำสั่งและประวัติการค้นหา) คนส่วนใหญ่เปิดใช้งานสิ่งนี้ด้วยเหตุผลที่ชัดเจน
`
สร้างขึ้นจริงหรือทำอะไร:verbose map `
มีปลั๊กอินที่เรียกว่าvim-lastplace (ฉันเป็นผู้เขียน) ที่จะเปิดไฟล์ของคุณที่คุณค้างไว้ มันช่วยปรับปรุงคำแนะนำข้างต้นโดยละเว้นการส่งข้อความเพราะปกติแล้วคุณจะแก้ไขข้อความใหม่และต้องการเริ่มที่ด้านบนของไฟล์ข้อความยอมรับ
บางครั้ง~/.viminfo
กลายเป็นแบบอ่านอย่างเดียวหรือผู้ใช้ของคุณไม่มีสิทธิ์เข้าถึงไฟล์ นั่นอาจเป็นสาเหตุที่ทำให้กลุ่มไม่จัดเก็บตำแหน่งเคอร์เซอร์ของคุณเมื่อคุณปิดไฟล์