2010-12-31 32 views
16

Quan sát một dòng trong một trường hợp Vim:

Bây giờ tôi đạt $:

Tại sao con trỏ của tôi không đi tất cả các cách để kết thúc? Khi tôi thử chèn, văn bản được chèn trước ký tự cuối cùng! Ngay cả khi tôi cố gắng di chuyển sang phải một lần nữa trong khi vẫn ở chế độ bình thường, tôi nhận được chuông. Thật kỳ lạ, khi ở chế độ chỉnh sửa, tôi có thể di chuyển đến cuối dòng thực tế bằng phím mũi tên bên phải!

Có ai biết tại sao Vim thực hiện việc này không? Ngày 7.3 bằng cách này. Cảm ơn đã giúp đỡ.

+3

Sử dụng 'a' thay vì' i' để di chuyển con trỏ đến ký tự tiếp theo và kết thúc ở chế độ chèn. – marcog

Trả lời

21

Nhấn $ khi ở chế độ lệnh khiến con trỏ di chuyển đến cuối dòng, làm nổi bật ký tự cuối cùng một cách hiệu quả. Nhấn i vào đây để chèn trước ký tự cuối cùng hoặc a để nối thêm vào dòng. Nó hơi mơ hồ ở đây vì bạn đang sử dụng ký tự ống làm con trỏ thay vì con trỏ khối hình chữ nhật. Hãy xem ": help termcap-cursor-shape" nếu bạn muốn thay đổi điều đó.

Nếu mục tiêu là nối thêm vào cuối dòng, A sẽ chuyển đến cuối dòng và nhập chế độ chèn bằng một lần nhấn phím.

8

Sử dụng a để nối thêm một ký tự sau dòng hiện tại.

Hoặc, để đi đến cuối dòng và nối thêm trong 1 bước, hãy sử dụng vốn A. I E. shiftA.

Tương tự thay đổi - tôi để chèn vào đầu dòng mà không phải nhấn ^.

1

Con trỏ định vị tất cả các cách sau khi nhấn $. Nó không thể vượt ra ngoài nhân vật cuối cùng vì nó sẽ ngụ ý thêm một nhân vật mới vào dòng.

4

Con trỏ không thể ở giữa hai ký tự, con trỏ luôn ở trên một ký tự.

Nếu bạn nhấn $ rồi x, bạn sẽ xóa chính xác ký tự có thể in cuối cùng của dòng hiện tại.

Điều bạn đang quan sát là việc sử dụng i, bạn luôn chèn văn bản trước ký tự đã chọn. Nếu bạn muốn chèn sau ký tự đã chọn, bạn phải sử dụng a hoặc tốt hơn A vì nó đã được đề cập.

Nói cách khác:
i có nghĩa là "chèn trước ký tự dưới con trỏ".
a có nghĩa là "chèn sau ký tự dưới con trỏ".

ghi nhớ cho a: a để "nối thêm".

Các vấn đề liên quan