Vim người dùng, bạn đặt tay phải của mình ở đâu? [đóng cửa]


116

Lâu năm sử dụng vim, làm bạn giữ ngón tay của bạn trên jkl;hoặc hjkltrong chế độ bình thường không?

Kiểu gõ cảm ứng tiêu chuẩn cho chúng ta biết vị trí chính của bàn tay phải có ngón trỏ trên jphím, vì vậy các ngón tay của bạn đang ở trên jkl;.

Nhưng các phím chuyển động vim tiêu chuẩn là hjkl.

Tôi đang trở lại vim sau hơn 10 năm (omg, tôi già đi khi tôi không chú ý) và thấy mình bị thu hút về phía hjkl... nhưng điều đó khiến việc gõ các chữ cái phía trên bên phải, dấu ngoặc nhọn, v.v. trở nên khó khăn hơn. Tôi muốn tự đào tạo để sử dụng phương pháp hiệu quả / thực dụng nhất ngay bây giờ thay vì phải đào tạo lại sau này.

Những người dùng vim khó tính lâu năm, phương pháp hay nhất là gì?


Ghi chú:

  1. Chồng chéo lớn hơn với Làm thế nào để người đánh máy cảm ứng điều hướng trong vi?
  2. Tôi nghĩ điều này đã vượt qua bài kiểm tra "chủ quan" bởi vì đó là việc cố tình trau dồi một phương pháp hay nhất trong vô thức chứ không chỉ đơn giản là về sở thích của mọi người

26
Làm thế nào đây không phải là một câu hỏi thực sự ? Có hỏi bạn nên để ngón tay ở đâu. Đó là điều hoàn toàn có thể trả lời được.
thay thế

"Thực hành tốt nhất" là chủ quan trong trường hợp này. Mọi người khác nhau và sẽ đặt tay ở nơi mà họ cảm thấy thoải mái.
Randy Morris,

1
Tôi đang bắt đầu và tôi cũng gặp phải vấn đề này, jklç (bàn phím pt) tốt hơn để thực hành gõ tốt nhất trên bàn phím máy tính. Nó cảm thấy tự nhiên. Tôi không muốn vim khiến tôi không học được cách gõ đúng mà tôi đã dành rất nhiều để học và thực hành.
ancm

1
@RandyMorris Chắc chắn mọi người đều khác nhau và họ nên làm bất cứ điều gì phù hợp nhất với họ, tuy nhiên điều đó không có nghĩa là một số phương pháp thực hành tốt hơn trong hầu hết các tình huống, bạn nên lưu ý đến các phím home để gõ cảm ứng nói chung. Vì vậy, tôi không ủng hộ lập luận rằng điều này không thể được trả lời vì chủ quan của nó, và nếu đó thực sự là trường hợp thì đó nên là câu trả lời với thông tin để chứng minh tại sao không có phương pháp tốt nhất rõ ràng.
jonvw

Câu trả lời:


118

Tôi nghĩ rằng đó jkl;thực sự là cách sử dụng thích hợp hơn cho vi. Đối với một, hlthực sự không quan trọng nhiều. w,eblà đáng kể hữu ích hơn cho điều hướng nằm ngang. Như một phần thưởng, ;rất dễ dàng nhận được nếu ngôn ngữ yêu cầu. Có một ngón tay yếu hơn bị kđau và bạn không cần ngón tay mạnh nhất của mình vào h, khi nào thì ngón tay đó nên được jsử dụng nhiều nhất trong bốn ngón .


Chết tiệt. Tôi là một người dùng vim trong một vài năm và tôi luôn sử dụng hjkl cho các mũi tên. Mặc dù tôi hiểu rằng cách bạn đề xuất hiệu quả hơn, nhưng tôi nghi ngờ rằng tôi sẽ không bao giờ có đủ can đảm để chuyển sang nó.
Mikhail Kalashnikov

2
Trời ơi, cái hố thỏ này là gì mà tôi đã bắt đầu ...
Jason Kelley

16

Giới thiệu

Cả 2 giải pháp trước đều không đạt yêu cầu 100%. Tôi đề xuất cách thứ 3, một cách kết hợp tốt nhất của cả hai thế giới

Gợi ý của tôi: "down-up-left-right"

Giữ lên / xuống vị trí của chúng, sau đó đưa ngón tay thứ 3 và 4 sang tráiphải

Sau đó, để tránh ghi đè các tính năng của Vim cơ sở: Quăng bất cứ thứ gì đã từng có trên ; đến nút h hiện đang trống

Như một phần thưởng dễ thương, phím " l " bây giờ là viết tắt của " left ";)

noremap lh
noremap; l
sơ đồ h;



"Á quân" trước đó, cả hai đều sử dụng bố cục "trái-xuống-phải" :


Lựa chọn 1: "hjkl"

đề xuất của @ alternative . Keybinds ở mặc định ( hjkl ), tay phải ở trên hàng chính ( jkl; )

  • ưu điểm:
    • j (xuống)k (lên) ở trên 2 ngón tay chính của bạn, nơi chúng xứng đáng
  • khuyết điểm:
    • Bạn phải vượt qua trong h (trái) . Ngay cả khi điều này không được sử dụng như w, e, b , nó vẫn là một nút mũi tên đẫm máu và sẽ rất tuyệt nếu có trên hàng chủ
    • Về cơ bản: Tất cả 4 ngón tay không tự nhiên đặt trên các nút mũi tên. Điều này làm rối tay tôi


Lựa chọn 2: "jkl;"

Trượt 4 liên kết đó qua 1 để chúng nằm trên hàng chủ:

bản đồ; l
noremap lk
noremap kj
noremap jh

  • ưu điểm:
    • Không nhầm lẫn ngón tay; tất cả các mũi tên đều nằm dưới ngón tay một cách tự nhiên
  • khuyết điểm:
    • Như @alternative đã nói, việc lên / xuống ở ngón thứ 2 và 3 là rất "không tối ưu"
    • Tương tự, ngón tay mạnh nhất ở bên trái cũng rất lãng phí

1
Cảm ơn. Đối với đề xuất của bạn, điều duy nhất không hoạt động cho đến nay là chuyển đổi giữa các phần tách với Ctrl + W + <direction>.
Rafał Cieślak

11

Tôi giữ tay trên hàng chủ, theo cách đánh máy thông thường. Hiếm khi tôi sử dụng phím h để di chuyển, vì di chuyển sang trái một khoảng thường không phải là cách hiệu quả để di chuyển (và không thực sự phù hợp với bản chất của Vim).


6

Tôi hiểu, điều đó hjklđược sử dụng vì lý do lịch sử (tức là Đây là lý do tại sao vim sử dụng các phím hjkl làm phím mũi tên ) và nó không dựa trên bất kỳ lý do khoa học nào.

Cá nhân tôi thích làm theo phương pháp được đề xuất bởi trình quản lý cửa sổ i3 , như được giải thích trong Câu hỏi thường gặp về Tại sao cấu hình mặc định sử dụng jkl; thay vì hjkl? là một sự lựa chọn tiện dụng.

i3 sử dụng jkl;vì các phím này tạo nên "hàng chủ" bên dưới tay phải của bạn khi gõ phím.

Kiểm tra điều này trên vim ánh xạ lại hjkl thànhjkl;


4

Mặc dù tôi hiểu triết lý của Vim về việc có tất cả các chuyển động có sẵn ở hàng nhà, nhưng tôi thấy rằng hjklnó phản trực giác. Một bản đồ đơn giản hơn nhiều mà tôi nghĩ sẽ là một thiết lập giống như con ong bắp cày vớiijkl

    nnoremap j h
    nnoremap k j
    nnoremap i k

Tôi thấy điều này rất dễ dàng để điều hướng một cách rất tự nhiên.

j:left
i:up
k:down
l:right

Để bật / tắt chế độ chèn / bình thường, cá nhân tôi sử dụng Alt-evì tôi hầu như luôn sử dụng Gvim và không phải lo lắng rằng một số thiết bị đầu cuối có vấn đề với Alt.

    nnoremap <A-e> i
    inoremap <A-e> <esc>l

2
Nghe có vẻ đáng ngờ như emacs!
rlms
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.