วิธีข้ามไปยังจุดเริ่มต้นหรือจุดสิ้นสุดของบรรทัดใน vim + OS X


17

ในเทอร์มินัลฉันสามารถทำได้โดยกด shift + home และ shift + end แต่ดูเหมือนจะไม่ทำงานในกลุ่ม ปุ่ม Home และปุ่ม End จะเลื่อนหน้าต่างเทอร์มินัลเท่านั้น ฉันต้องการกระโดดในโหมดแก้ไข


4
ในโหมดคำสั่งแล้วคุณจะพบในกลุ่ม Cheat Sheet (0 และ $): fprintf.net/vimCheatSheet.html แต่ฉันไม่รู้เกี่ยวกับโหมดแก้ไข
Gnoupi

คำตอบ:


13

คำตอบนี้จะถือว่าคุณใช้เสียงเรียกเข้าในหน้าต่างTerminal

การเชื่อมโยงเริ่มต้นสำหรับบ้านและสิ้นสุดแตกต่างจากที่โปรแกรมคาดหวังตามการตั้งค่า TERM ตามปกติ (เช่นตัวแปร xterm) หากคุณต้องการที่จะยึดติดกับการผูกเริ่มต้น (และต้องใช้ตัวแปร Shifted ในเทอร์มินัล ) คุณอาจลองทำสิ่งนี้ในของคุณ.vimrc:

:" map Mac OS X Terminal.app default Home and End
:map <ESC>[H <Home>
:map <ESC>[F <End>
:imap <ESC>[H <C-O><Home>
:imap <ESC>[F <C-O><End>
:cmap <ESC>[H <Home>
:cmap <ESC>[F <End>

มิฉะนั้นคุณอาจลองปรับรหัสที่เทอร์มินัลส่งเมื่อคุณใช้หน้าแรกและสิ้นสุด (ไม่เปลี่ยนแม้ในกรณีที่คุณต้องการ) การค้นหาอาจปรากฏขึ้นในบางแห่งที่อธิบายวิธีการใช้งาน ( นี่คือที่เดียว ) แนวคิดพื้นฐานคือคุณต้องการให้ Terminal ส่งESC [1 ~ แทนESC [H สำหรับบ้านและESC [4 ~ แทนESC [F for End (หรือ Shift-Home / Shift-End ถ้าคุณต้องการให้ Home / สิ้นสุดการเข้าถึง scrollback) ฉันจะอธิบายกระบวนการในรายละเอียดเพิ่มเติม แต่ฉันมีเพียง 10.4 และฉันรู้ว่าเทอร์มินัลเปลี่ยนไปมากใน 10.5 และใหม่กว่า


8

ด้วย iTerm และ Vim คุณสามารถใช้fn + ลูกศรซ้ายและขวาในโหมดแทรกเพื่อข้ามไปยังจุดเริ่มต้นหรือจุดสิ้นสุด ด้วย Terminal.app คุณใช้SHIFT + ลูกศร


7

ใช้ 0 และ $ เพื่อเลื่อนไปยังจุดเริ่มต้นและจุดสิ้นสุด โปรดดูไซต์นี้: http://alvinalexander.com/linux/vi-vim-editor-end-of-line


5
สหกรณ์ต้องการที่จะกระโดดในการแก้ไขโหมดไม่ได้อยู่ในโหมดคำสั่งเพื่อให้ปุ่มเหล่านี้จะเป็นเพียงแค่ตัวอักษรการป้อนข้อมูลและ0 $
slhck

1

นอกเหนือจากคำตอบของ Chrisคุณอาจได้รับการนำทางด้วยOption+arrowปุ่ม(โดยใช้ปุ่ม) เพียงเพิ่มสี่บรรทัดเหล่านี้:

:map <ESC>f el
:imap <ESC>b <C-o>b
:imap <ESC>f <C-o>el
:cmap <ESC>f el

สังเกตว่าตัวเล็กoเป็นตัวพิมพ์เล็กเพื่อไม่ให้ออกจากinsertโหมดสำหรับการใช้งาน คุณยังสามารถเปลี่ยนตัวพิมพ์ใหญ่Oในคำตอบเดิมสำหรับเอฟเฟกต์เดียวกัน


0

ใน MacVim คุณสามารถใช้ Command 'Left Arrow' และ Command 'Right Arrow' เพื่อไปที่จุดเริ่มต้นและจุดสิ้นสุดของบรรทัดขณะอยู่ในโหมดแก้ไข


เสียงเหมือน JtR ใช้เสียงเรียกเข้าภายใน Terminal.app แทนการใช้ MacVim (ซึ่งฉันขอแนะนำและใช้เป็นการส่วนตัวด้วย)
เมทริกซ์โมล

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