ไปที่สัญลักษณ์ที่ n ในบรรทัด


87

จะย้ายเคอร์เซอร์ไปที่สัญลักษณ์ n-th จากทางซ้ายใน Vim ได้อย่างไร?

วิธีแก้ปัญหาอย่างหนึ่งที่ฉันเห็นคือกด0n<right-arrow>มันจะย้ายไปที่ตำแหน่ง n + 1 มีวิธีไหนที่เป็นธรรมชาติกว่านี้อีกไหม?


1
โซลูชันลูกศรขวาใช้งานได้กับปัญหาของฉัน ... thnx
raj_gt1

1
ใครเคยใช้<right arrow>แทนlin vim บ้าง?
LRDPRDX

คำตอบ:


134

ท่อ '|' ตัวละครอาจเป็นสิ่งที่คุณต้องการ:

หากต้องการไปที่คอลัมน์ที่ 25 ในบรรทัดในโหมดปกติให้กด 25|

หากต้องการไปที่คอลัมน์ที่ 37 ในบรรทัดในโหมดปกติให้กด 37|

และอื่น ๆ . .


เยี่ยมมากนั่นคือสิ่งที่ฉันกำลังมองหา
Nutel

4
@CamilB ลองทำอะไรแบบ$3hนี้ซึ่งจะย้ายคุณไปที่ท้ายบรรทัดจากนั้น 3 ตัวอักษรไปทางซ้าย
Jeff Klein

:help barเพิ่มเติมเกี่ยวกับเรื่องนี้ที่ช่วยให้เสียงเรียกเข้า เมื่อฉันพบว่ามันทำให้การแสดงความคิดเห็นและไม่แสดงความคิดเห็น XD ง่ายขึ้นมากหลังจากค้นพบสิ่งนี้ฉันไม่ต้องพึ่งพาปลั๊กอินความคิดเห็น / ไม่แสดงความคิดเห็นภายนอกชีวิตการแก้ไขโค้ดดีขึ้นมากแล้ว :)
Avi Mehenwal

41

แก้ไข: อ่านคำถามของคุณผิด

คุณสามารถก้าวไปข้างหน้าไปยังสัญลักษณ์เฉพาะได้โดยพิมพ์fตามด้วยสัญลักษณ์ที่ต้องการ:

ถ้าคุณต้องการย้ายไปที่สาม$คุณต้องพิมพ์:

3f$

ในการย้อนกลับคุณใช้ตัวพิมพ์ใหญ่ "F"

F$

เพื่อไปที่ท้ายบรรทัดก่อนอื่นให้คุณใช้ "$"

ดังนั้นการกดแป้นพิมพ์เพื่อค้นหา $ ที่สามจากท้ายบรรทัดคือ:

$3F$

ฉันต้องการเก็บสิ่งนี้ไว้เป็นประโยชน์เมื่อใช้ Vim:
http://www.lagmonster.org/docs/vi.html


2
นี่เป็นผลลัพธ์แรกใน Google และนี่คือสิ่งที่ฉันกำลังมองหาขอบคุณ
kgwong

1
การเคลื่อนไหวนี้จะมีการเพิ่มคำสั่งอื่น ๆ เช่นการเปลี่ยนแปลงจากตำแหน่งปัจจุบันไปยัง 2 ลักษณะของตัวอักษร "E" - c2te :)
VũTô

8

ฉันไม่แน่ใจว่าคุณหมายถึงอักขระที่ n หรือลำดับที่ n ของอักขระ ข้อที่สองได้รับคำตอบแล้วดังนั้นฉันจะตอบข้อแรก

^จะนำคุณไปยังจุดเริ่มต้นของบรรทัดโดยไม่รวมช่องว่าง (ดังนั้นไปยังคอลัมน์แรกที่ไม่ใช่สีขาว) และ|(ไปป์) หรือ0(ศูนย์) จะนำคุณไปยังอักขระตัวแรก จากนั้นl(L ตัวพิมพ์เล็ก) จะพาคุณไปทางขวา และ7lจะนำคุณไปทางขวาเจ็ดอักขระ ดังนั้นทั้งหมดเข้าด้วยกันจะไป (n + 1) ตัวอักษร TH บนเส้นสำหรับ n = 07l7


ฉันเห็นว่าคุณแก้ไขคำถามแล้ว lแทนที่จะเป็นลูกศรขวาเป็นสิ่งที่ดีที่สุดที่คุณจะได้รับ (คุณคุ้นเคยกับการนำทาง hjkl หรือไม่)
Chris Morgan

ฉันรู้ว่าวิมเมอร์ที่แท้จริงไม่ควรใช้ลูกศร แต่ฉันใช้แอพพลิเคชั่นอื่น ๆ ที่ไม่รองรับการผูกคีย์ระดับต่ำและวิธีเดียวที่จะนำทางคือลูกศรดังนั้นเพื่อให้ง่ายต่อการสลับระหว่างพวกเขาฉันใช้ลูกศร
Nutel

@Vetal: บางครั้งฉันรู้สึกหงุดหงิดเมื่อการเลื่อนไม่ทำงานในแอปพลิเคชันอื่น ๆ ... hjkl ดีกว่าลูกศรมาก
Chris Morgan

ดังที่คำตอบของ Herbert Sitz ชี้ให้เห็น|เพียงไปที่อักขระตัวแรกเนื่องจาก[count]ค่าเริ่มต้นเป็น 1 - มันไปที่[count]อักขระ th ในบรรทัดดังนั้น8|ก็เหมือนกับ07lยกเว้นว่าเป็นการเคลื่อนไหวเดียวแทนที่จะเป็นสอง
hobbs

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