ไปที่จุดเริ่มต้นของบรรทัดโดยไม่เปิดบรรทัดใหม่ใน VI


230

สำหรับทุกเพศทุกวัยในขณะนี้ผมเคยใช้SHIFTOและจะย้ายไปยังจุดเริ่มต้นและจุดสิ้นสุดของเส้นในSHIFT$vi

อย่างไรก็ตามSHIFTOมีมากขึ้นสำหรับการเปิดบรรทัดใหม่เหนือเคอร์เซอร์

มีคำสั่งใดที่จะพาคุณไปยังจุดเริ่มต้นของบรรทัดหรือไม่?


9
นอกจากคำตอบด้านล่างแล้วให้พิมพ์: ช่วยการเคลื่อนไหวซ้าย - ขวาใน Vim เพื่อรับข้อมูลมากมาย
ngm

หนังสือที่ดีสำหรับกลุ่ม: ฝึกในกลุ่ม ^ 0
陈思秀

คำตอบ:


427

คุณสามารถใช้^หรือ0(ศูนย์) ในโหมดปกติเพื่อเลื่อนไปยังจุดเริ่มต้นของบรรทัด

^เลื่อนเคอร์เซอร์ไปที่อักขระที่ไม่ใช่ช่องว่างบรรทัดแรก
0เสมอเลื่อนเคอร์เซอร์ไปที่ "คอลัมน์แรก"

นอกจากนี้คุณยังสามารถใช้Shiftiเพื่อย้ายและสลับไปยังโหมดแทรก


5
นอกจากนี้ Shift + A และ Shift + ฉันไปที่จุดสิ้นสุดและจุดเริ่มต้นของบรรทัดตามลำดับและสลับไปยังแทรกโมเดล
bibstha

7
สำหรับฉันการกด^มักจะไม่ง่ายอย่างการกด0และwต่อเนื่อง
DXDXY

33

ความเรียบง่าย0จะนำคุณไปสู่จุดเริ่มต้นของบรรทัด

:help 0 สำหรับข้อมูลเพิ่มเติม



12

คุณสามารถใช้0หรือ^เพื่อย้ายไปยังจุดเริ่มต้นของบรรทัด
และสามารถใช้Shift+ Iเพื่อย้ายไปยังจุดเริ่มต้นและเปลี่ยนเป็นโหมดแก้ไข ( แทรก )


คำตอบของคุณส่วนใหญ่ถูกต้อง แต่มีข้อแม้เล็ก ๆ Shift+Iหรือ^จะเลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของข้อความในบรรทัด หากบรรทัดมีnแท็บในจุดเริ่มต้นมันจะย้ายเคอร์เซอร์ไปที่n*tabstop + 1คอลัมน์ th ในขณะที่0เลื่อนเคอร์เซอร์ไปที่คอลัมน์แรกของบรรทัด
narendra-choudhary

10

มีวิธีอื่น:

|

นั่นคือ "ท่อ" - สัญลักษณ์ที่พบภายใต้ Backspace ในเค้าโครง ANSI

Vim quickref ( :help quickref) อธิบายว่า:

N      |      to column N (default: 1)

แล้วเส้นที่พันกันล่ะ?

หากคุณเปิดใช้งานการตัดบรรทัด0และ|จะไม่นำคุณไปยังจุดเริ่มต้นของบรรทัดหน้าจออีกต่อไป ในกรณีที่ใช้:

g0

อีกครั้งโดยเร็วเอกสาร doc:

 g0   to first character in screen line (differs from "0"
      when lines wrap)

ตอนนี้ฉันเห็นว่าทำไมมันทำงาน ขอบคุณ ฉันสงสัยว่า. ฉันคิดว่ามันดีกว่า0เพราะ|และ$อยู่ในคีย์เดียวกัน
WesternGun


6

เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นหรือสิ้นสุดด้วยโหมดแทรก

  • I - เลื่อนเคอร์เซอร์ไปที่อักขระที่ไม่ใช่ช่องว่างตัวแรกในบรรทัดปัจจุบันและเปิดใช้งานโหมดแทรก
  • A - เลื่อนเคอร์เซอร์ไปที่อักขระตัวสุดท้ายในบรรทัดปัจจุบันและเปิดใช้งานโหมดแทรก

นี่Iเท่ากับ+^ iในทำนองเดียวกันAจะเทียบเท่ากับ+$a

เพียงแค่เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นหรือจุดสิ้นสุด

  • ^ - เลื่อนเคอร์เซอร์ไปที่อักขระที่ไม่ใช่ช่องว่างตัวแรกในบรรทัดปัจจุบัน
  • 0 - เลื่อนเคอร์เซอร์ไปที่อักขระตัวแรกในบรรทัดปัจจุบัน
  • $ - เลื่อนเคอร์เซอร์ไปที่อักขระตัวสุดท้ายในบรรทัดปัจจุบัน

5

ฉันเพิ่งพบ 0 (ศูนย์) และ shift + 0 ทำงานเป็นกลุ่ม


5
shift+0นั่น)คือประโยคถัดไป
mihai

Shift+0ดีกว่า^แสดงตัวละครและมันน่ารำคาญ ขอบคุณ
calbertts

1

0 นำคุณไปยังจุดเริ่มต้นของบรรทัด

Shift 0 นำคุณไปยังจุดสิ้นสุดของบรรทัด


Shift-0 (')') ไม่ได้นำคุณไปยังจุดเริ่มต้นของบรรทัด
Boris Churzin

@Devenv: จริง! 0 จะ
Sagar Jain

1
Shift-0 (")") คือ "ส่งต่อประโยค" ไม่ใช่ "สิ้นสุดบรรทัด" (นั่นคือสิ่งที่ฉันหมายถึง)
Boris Churzin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.