Chuyển đến ký hiệu thứ n trong dòng


85

Làm thế nào để di chuyển con trỏ đến ký hiệu thứ n từ bên trái trong Vim?

Một trong những giải pháp tôi thấy là nhấn 0n<right-arrow>, nó sẽ di chuyển đến vị trí thứ n + 1. Có cách nào tự nhiên hơn để làm điều đó không?


1
mũi tên phải giải pháp làm việc cho vấn đề của tôi ... thnx
raj_gt1

Ai đã từng sử dụng <right arrow>thay vì ltrong vim?
LRDPRDX

Câu trả lời:


129

Đường ống '|' nhân vật có thể là những gì bạn muốn:

Để chuyển đến cột thứ 25 trong một dòng ở chế độ bình thường, nhấn 25|

Để chuyển đến cột thứ 37 trong một dòng ở chế độ bình thường, nhấn 37|

và như thế. . .


Tuyệt vời, đó là những gì tôi đang tìm kiếm
Nutel

4
@CamilB Hãy thử một cái gì đó giống như $3h, điều này sẽ chuyển bạn đến cuối dòng sau đó 3 ký tự sang bên trái.
Jeff Klein,

Thêm về điều này tại trợ giúp vim :help bar. Khi tôi tìm thấy về nó, nó làm cho việc bình luận và bỏ ghi chú dễ dàng hơn rất nhiều XD Sau khi phát hiện ra điều này, tôi không dựa vào các plugin bình luận / bỏ ghi chú bên ngoài, cuộc sống chỉnh sửa mã bây giờ đã tốt hơn rất nhiều :)
Avi Mehenwal

40

EDIT: đọc sai câu hỏi của bạn.

bạn có thể chuyển tiếp đến một biểu tượng cụ thể bằng cách nhập ftheo sau là biểu tượng được đề cập:

nếu bạn muốn chuyển sang phần thứ ba $, bạn nhập:

3f$

để đi ngược lại, bạn sử dụng chữ "F" viết hoa

F$

để đến cuối dòng đầu tiên, bạn sử dụng "$"

vì vậy các tổ hợp phím của bạn để tìm $ thứ ba từ cuối dòng là:

$3F$

tôi muốn giữ một cái gì đó tiện dụng như thế này khi sử dụng Vim:
http://www.lagmonster.org/docs/vi.html


1
Đây là kết quả đầu tiên trên google và đây là những gì tôi đang tìm kiếm, cảm ơn bạn
kgwong

chuyển động này được thêm vào các lệnh khác cũng có, như: thay đổi từ vị trí hiện tại để sự xuất hiện lần thứ 2 của nhân vật "e" - c2te :)
Vũ Tô

8

Tôi không chắc ý bạn là ký tự thứ n hay ký tự thứ n; cái thứ hai đã được trả lời nên tôi sẽ trả lời cái đầu tiên.

^sẽ đưa bạn đến đầu dòng không bao gồm khoảng trắng (vì vậy đối với cột không phải màu trắng đầu tiên) và |(dấu gạch ngang) hoặc 0(không) sẽ đưa bạn đến ký tự đầu tiên. Sau đó l(chữ L viết thường) sẽ đưa bạn sang bên phải; và 7lsẽ đưa bạn bảy ký tự ở bên phải. Vì vậy, tất cả cùng nhau, để đi đến ký tự thứ (n + 1) trên dòng, cho n = 7 , 07l.


Tôi thấy bạn đã chỉnh sửa câu hỏi ngay bây giờ; lthay vì mũi tên phải là về những gì tốt nhất bạn sẽ nhận được. (bạn có quen với điều hướng hjkl không?)
Chris Morgan

Tôi biết rằng vimmer thực sự không nên sử dụng mũi tên nhưng tôi sử dụng một số ứng dụng khác không hỗ trợ liên kết phím cấp thấp và cách duy nhất để điều hướng là mũi tên, vì vậy để dễ dàng chuyển đổi giữa chúng hơn, tôi sử dụng mũi tên
Nutel

@Vetal: Tôi thỉnh thoảng cảm thấy bực bội khi cuộn không hoạt động trong các ứng dụng khác ... hjkl đẹp hơn nhiều so với các mũi tên.
Chris Morgan

Như câu trả lời của Herbert Sitz đã chỉ ra, |chỉ chuyển đến ký tự đầu tiên vì [count]mặc định là 1 - nó thực sự chuyển đến [count]ký tự thứ trong dòng, 8|giống như 07lngoại trừ đó là một chuyển động đơn lẻ thay vì hai.
hobbs

Tôi nghĩ tôi nên chú ý đến những gì nhân vật làm. Đáng lẽ không thể nghĩ rằng có hai cách để làm cùng một điều.
Chris Morgan
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.