Đi đến đầu dòng mà không mở dòng mới trong VI


230

Lâu nay tôi đã sử dụng SHIFTOSHIFT$chuyển đến đầu và cuối của một dòng trong vi.

Tuy nhiên, SHIFTOnhiều hơn để mở một dòng mới phía trên con trỏ.

Có lệnh nào đưa bạn đến điểm bắt đầu của một dòng không?


9
Ngoài các câu trả lời dưới đây, hãy nhập: trợ giúp các chuyển động trái phải trong Vim để có nhiều thông tin.
ngm

một cuốn sách hay cho vim: thực hành trong vim. ^ 0
陈思秀

Câu trả lời:


427

Bạn có thể sử dụng ^hoặc 0(Không) trong chế độ bình thường để di chuyển đến đầu dòng.

^di chuyển con trỏ đến ký tự không trống đầu tiên của một dòng
0luôn di chuyển con trỏ đến "cột đầu tiên"

Bạn cũng có thể sử dụng Shiftiđể di chuyển và chuyển sang chế độ Chèn.


5
Ngoài ra Shift + A và Shift + Tôi đi đến cuối và đầu dòng tương ứng và cũng chuyển sang Mô hình chèn
bibstha

7
Đối với tôi, nhấn ^thường không dễ như nhấn 0wliên tiếp.
DXDXY

33

Một đơn giản 0sẽ đưa bạn đến đầu của một dòng.

:help 0 để biết thêm thông tin


25

Hãy thử giải pháp áo choàng Vi / Vim này cho nhiều vấn đề.

Đối với chế độ bình thường:
0- [zero] đến đầu dòng, cột đầu tiên.
$- đến cuối dòng


12

Bạn có thể sử dụng 0hoặc ^để di chuyển đến đầu dòng.
Và có thể sử dụng Shift+ Iđể di chuyển về đầu và chuyển sang chế độ chỉnh sửa ( Chèn ).


Bạn trả lời là chính xác nhưng có một cảnh báo nhỏ. Shift+Ihoặc ^sẽ di chuyển con trỏ đến đầu văn bản trong dòng. Nếu dòng có ncác tab ở đầu, nó sẽ di chuyển con trỏ đến n*tabstop + 1cột thứ. Trong khi 0di chuyển con trỏ đến cột đầu tiên của dòng.
narendra-choudhary

10

Có một cách khác:

|

Đó là "ống dẫn" - biểu tượng được tìm thấy dưới khoảng lùi trong bố cục ANSI .

Vim quickref ( :help quickref) mô tả nó như sau:

N      |      to column N (default: 1)

Những gì về dòng bọc?

Nếu bạn đã bật các dòng bọc, 0|sẽ không còn đưa bạn đến đầu dòng màn hình. Trong trường hợp đó sử dụng:

g0

Một lần nữa, vim quickref doc:

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

Bây giờ tôi thấy tại sao nó hoạt động. Cảm ơn. Tôi đã tự hỏi. Tôi nghĩ rằng nó là tốt hơn 0bởi vì |$là trên cùng một chìa khóa.
WesternGun


6

Di chuyển con trỏ đến đầu hoặc kết thúc bằng chế độ chèn

  • I - Di chuyển con trỏ đến ký tự không trống đầu tiên trong dòng hiện tại và cho phép chế độ chèn.
  • A - Di chuyển con trỏ đến ký tự cuối cùng trong dòng hiện tại và cho phép chế độ chèn.

Ở đây Itương đương với ^+ i. Tương tự Alà tương đương với $+ a.

Chỉ cần di chuyển con trỏ đến đầu hoặc cuối

  • ^ - Di chuyển con trỏ đến ký tự không trống đầu tiên trong dòng hiện tại
  • 0 - Di chuyển con trỏ đến ký tự đầu tiên trong dòng hiện tại
  • $ - Di chuyển con trỏ đến ký tự cuối cùng trong dòng hiện tại

5

Tôi chỉ tìm thấy 0 (không) và shift + 0 hoạt động trên vim.


5
shift+0rằng nhân ), đó là câu tiếp theo
Mihai

Shift+0là tốt hơn, ^cho thấy các nhân vật và đó là gây phiền nhiễu. Cảm ơn
calbertts

1

0 Đưa bạn đến đầu dòng

Shift 0 Đưa bạn đến cuối dòng


Shift-0 (')') không đưa bạn đến đầu dòng
Boris Churzin

@Devenv: Đó là sự thật! 0 sẽ
Sagar Jain

1
Shift-0 (")") là "chuyển tiếp câu" chứ không phải "kết thúc dòng" (đó là ý tôi)
Boris Churzin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.