ในเสียงฉันจะทำให้ปุ่มลูกศรซ้ายและขวาเปลี่ยนเส้นได้อย่างไร


25

ในกลุ่มปุ่มลูกศรของฉันทำงานอย่างถูกต้องเลื่อนขึ้นลงซ้ายและขวาตามที่คาดไว้โดยมีข้อยกเว้นหนึ่งข้อ ที่จุดเริ่มต้นของบรรทัดลูกศรซ้ายไม่ทำอะไรเลยแทนที่จะไปที่อักขระตัวสุดท้ายของบรรทัดก่อนหน้า ในตอนท้ายของบรรทัดลูกศรขวาไม่ทำอะไรเลยแทนที่จะไปที่ตัวอักษรตัวแรกของบรรทัดถัดไป

มีการตั้งค่าที่ฉันสามารถเปลี่ยนเพื่อรับพฤติกรรมที่ฉันคาดหวังได้หรือไม่


4
ฉันคิดว่าผู้ใช้ VIM ส่วนใหญ่จะแนะนำให้คุณไม่ใช้ปุ่มลูกศร
user12612

@ user12612 ทำไมล่ะ
luchonacho

@ luchonacho ฉันคิดว่าความคิดคือผู้ใช้ VIM ที่ร้ายแรงจะถือว่านิ้วของคุณไม่ควรออกจากแถวบ้านของแป้นพิมพ์ของคุณเพื่อนำทางไปยังตำแหน่งที่คุณอยู่ในข้อความของคุณ
nohat

คำตอบ:


26

หลังจาก Googling เพิ่มเติมฉันพบคำตอบคือใช้whichwrapตัวเลือก

ฉันเพิ่มบรรทัดต่อไปนี้ใน. vimrc ของฉัน:

set whichwrap+=<,>,[,]

<และ>ตัวเลือกเปิดการตั้งค่าที่ต้องการสำหรับโหมดปกติและ[และ]เปิดการตั้งค่าที่ต้องการสำหรับโหมดแทรก


1
(ทำไมนี้ไม่ได้ตั้งค่าในระบบของฉันเริ่มต้นคือความลึกลับ)
nohat

สิ่งนี้ดูเหมือนจะไม่ส่งผลกระทบต่อพฤติกรรมของh j k lกุญแจ
Sebastián Grignoli

ขวามีค่าอื่น ๆ สำหรับ h และ j ดู:help 'whichwrap'หรือvimhelp.appspot.com/options.txt.html#%27whichwrap%27 k และ l ไม่ได้ใช้จริง ๆ เพราะเรากำลังพูดถึงพฤติกรรมซ้าย / ขวาที่จุดเริ่มต้น / สิ้นสุดของบรรทัด
Adam Monsen


0

นี่เป็นพฤติกรรมเริ่มต้น - คุณสามารถใช้ Home and End เพื่อข้ามไปยังจุดเริ่มต้นและสิ้นสุดของบรรทัดได้


5
OP ต้องการเปลี่ยนพฤติกรรมเริ่มต้น นั่นเป็นเหตุผลที่เขาถามที่นี่ตั้งแต่แรก
กิระ

0

คุณสามารถหลีกเลี่ยงปัญหานี้ได้โดยใช้ w และ b ซึ่งจะตัดข้ามเส้น


แต่ b นำคุณอักขระแรกของคำสุดท้ายของบรรทัดก่อนหน้า ไม่มีวิธีใดที่จะทำให้ลูกศรซ้ายเลื่อนไปยังอักขระตัวสุดท้ายของบรรทัดก่อนหน้าเมื่ออยู่ที่อักขระตัวแรกของบรรทัดหรือไม่?
nohat

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