Trong vim, làm cách nào để làm cho các phím mũi tên trái và phải thay đổi dòng?


25

Trong vim, các phím mũi tên của tôi hoạt động chính xác, di chuyển lên, xuống, trái và phải như mong đợi, với một ngoại lệ. Ở đầu một dòng, mũi tên trái không làm gì cả, thay vì đi đến ký tự cuối cùng của dòng trước. Ở cuối dòng, mũi tên phải không làm gì cả, thay vì đi đến ký tự đầu tiên của dòng tiếp theo.

Có cài đặt nào tôi có thể thay đổi để có được hành vi mà tôi mong đợi không?


4
Tôi nghĩ rằng hầu hết người dùng VIM sẽ khuyên bạn không nên sử dụng các phím mũi tên.
12612

@ user12612 tại sao chính xác?
luchonacho

@luchonacho Tôi nghĩ ý tưởng là người dùng VIM nghiêm túc sẽ cho rằng ngón tay của bạn không nên rời khỏi hàng bàn phím của bạn để điều hướng nơi bạn đang ở trong văn bản của mình.

Câu trả lời:


26

Sau một số lần tiếp tục, tôi thấy câu trả lời là sử dụng whichwraptùy chọn này.

Tôi đã thêm dòng sau vào .vimrc:

set whichwrap+=<,>,[,]

Các tùy chọn <>bật cài đặt mong muốn cho chế độ bình thường []bật cài đặt mong muốn cho chế độ chèn.


1
(Tại sao đây không phải là thiết lập mặc định trên hệ thống của tôi là một bí ẩn)
nohat

Điều này dường như không ảnh hưởng đến hành vi của h j k lcác phím.
Sebastián Grignoli

Phải, có những giá trị khác cho h và j. Xem :help 'whichwrap'hoặc vimhelp.appspot.com/options.txt.html#%27whichwrap%27 . k và tôi không thực sự áp dụng vì chúng ta đang nói về hành vi trái / phải ở đầu / cuối dòng.
Adam Monsen

9

Thêm phần này vào .vimrc của bạn:

set whichwrap+=<,>,h,l,[,]

0

Đây là hành vi mặc định - bạn luôn có thể sử dụng Trang chủ và Kết thúc để chuyển đến bắt đầu và kết thúc một dòng.


5
OP muốn thay đổi hành vi mặc định. Đó là lý do tại sao anh ấy hỏi ở đây ngay từ đầu.
akira

0

Bạn có thể giải quyết vấn đề này bằng cách sử dụng w và b sẽ bao quanh các dòng.


Nhưng b đưa bạn ký tự đầu tiên của từ cuối cùng của dòng trước. Có thực sự không có cách nào để làm cho mũi tên trái di chuyển đến ký tự cuối cùng của dòng trước đó khi ở ký tự đầu tiên của một dòng?

Vâng tôi biết, đó không phải là một giải pháp thực sự.
hasen
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.