2014-11-02 11 views
5

Tôi là người dùng vim (không phải là người mới bắt đầu không nâng cao). Tôi sử dụng các phím mũi tên.
Tôi đã nhiều lần đọc rằng bạn nên sử dụng các phím h, j, k, l để tăng năng suất.
Tôi đã cố gắng sử dụng chúng nhưng tôi không thể thấy cách chúng giúp ích cho việc làm việc hiệu quả hơn.Tại sao h, j, k, l được khuyến nghị sử dụng các phím mũi tên cho vim?

Vì nếu tôi sử dụng các phím h,j,k,l để di chuyển lên/xuống/phải/trái, tôi cần nhấn ESC trước để thoát khỏi chế độ chèn.
Nhưng điều đó đánh bại mục đích phải không? Vì ý tưởng ban đầu là bạn không cần phải di chuyển ngón tay của bạn đi.
Nếu tôi nhấn ESC, tôi cũng có thể sử dụng các phím mũi tên và lưu một phím tắt.
Có lẽ tôi đang làm điều gì sai ở đây?

+0

Đây không thực sự là một câu hỏi lập trình. – Soren

+3

@Soren: Thẻ vim sau đó được cho là gì? – Jim

+0

Có những người có thể nhấn '[Esc]' ngay lập tức bằng ngón tay trái hồng hào của họ, vì vậy tôi đoán điều đó không tạo nên sự khác biệt cho họ. Mặt khác, tôi đã làm việc hiệu quả bằng cách sử dụng các phím mũi tên dưới Vim cho các lứa tuổi, không có tia sét nào đánh vào tôi, và tôi vẫn có thể sử dụng ngón tay hồng hào của tôi. –

Trả lời

2

Tính năng phân biệt của vi/Vim là nó là chế độ dựa trên. Điều đó có nghĩa:

  1. bạn chỉ ở lại chế độ chèn cho bursts ngắn gõ
  2. trong các chế độ khác (chủ yếu là chế độ bình thường), bạn có tất cả [kết hợp] chính có sẵn cho các lệnh chỉnh sửa mạnh mẽ (thường xuyên trong Vim và có thể được kết hợp với hiệu quả tuyệt vời)

Vì vậy, điều quan trọng là bạn có thể chuyển chế độ dễ dàng. Đối với nhiều người dùng, điều đó có nghĩa là ánh xạ lại phím Esc đến vị trí thuận tiện hơn (thay thế Caps Lock hoặc Ctrl). Sau đó, sử dụng HJKL để điều hướng (lưu ý những chỉ là những điều cơ bản, và nó thường tốt hơn để sử dụng cụ thể hơn chuyển động như w hoặc f{char}) là nhanh hơn, bởi vì ngón tay của bạn có thể ở trên các hàng nhà (giả sử bạn là một người đánh máy liên lạc, mà bạn nên đầu tư vào nếu bạn dành nhiều thời gian đáng kể với một máy tính). Các phím con trỏ được đặt xa cho đến khi chuyển đổi phải mất quá nhiều thời gian (sử dụng chuột thậm chí còn tệ hơn), và cũng không tốt cho cổ tay của bạn.

+0

1) Tôi không chắc chắn những gì bạn có ý nghĩa bởi "bursts ngắn gõ". Tôi sử dụng vim như một trình soạn thảo mã hóa vì vậy tôi gõ rất nhiều. 2) Remap Caps Lock hoặc Ctrl? Và làm thế nào tôi sẽ sử dụng phím CTRL sau đó mà tôi sử dụng rất nhiều hoặc Caps nếu tôi cần nó? – Jim

+0

1) Chèn ký tự chỉ là một phần nhỏ, đặc biệt khi mã hóa. 2) Bạn có thể _swap_ các phím, vì vậy bạn không mất bất kỳ. Một số công cụ thậm chí còn cho phép sử dụng gấp đôi tiện lợi: Ctrl kết hợp với một phím khác, Esc khi nhấn một mình. –

0

Nếu bạn thích sử dụng các phím mũi tên, bằng mọi cách, hãy sử dụng chúng. Có một lợi thế mà tôi thấy trên hjkl: các phím mũi tên hoạt động ở chế độ chèn. Những người khác chỉ muốn di chuyển ngón tay của họ một cách tối thiểu. Đó là một lý lẽ tốt nếu bạn một kiểu gõ liên lạc và cần nhập nhiều văn bản. Ít nhất đối với tôi, suy nghĩ của tôi luôn chậm hơn so với chỉnh sửa của tôi, vì vậy tốc độ gõ và cử động ngón tay tối thiểu không phải là vấn đề đối với tôi.

Cuối cùng, đó là một vấn đề khá chủ quan. Sử dụng những gì làm việc cho bạn nhưng cố gắng nhìn xung quanh và mở rộng chân trời của bạn bây giờ và sau đó.

+2

Vì đó là vấn đề chủ quan, tôi sẽ là người ủng hộ ma quỷ ở đây :) Đừng quá quen với các phím mũi tên trong chế độ chèn - ví dụ, gần đây tôi đã giúp cài đặt bản phân phối Xubuntu và gói mặc định cho Vim ở đó ('vim-tiny' IIRC) cắt tệp của bạn bằng các chuỗi thoát nếu bạn thử. –

2

Sự cố với các mũi tên là không phải là rằng chúng quá xa: vấn đề là chúng chỉ cho phép bạn di chuyển từng ký tự và từng dòng một. Và đoán xem? Đó là chính xác những gì hjkl làm. Lợi ích duy nhất của hjkl so với mũi tên là nó tiết kiệm được chuyển động nhẹ của cánh tay đến và từ các mũi tên. Cho dù bạn nghĩ rằng lợi ích có giá trị rắc rối là cuộc gọi của bạn.Theo ý kiến ​​của tôi, nó không phải là.

hjkl chỉ nhỉnh hơn hơn các mũi tên trong khi chuyển động tiên tiến hơn của Vim, bBeEwWfFtT,;/?^$ và như vậy, đưa ra một khổng lồ lợi thế hơn các mũi tên hjkl.

FWIW, tôi sử dụng các mũi tên cho các chuyển động nhỏ, ở chế độ bình thường và chèn, và các chuyển động nâng cao ở trên cho các chuyển động lớn hơn.

mouse-using sucker everyone laughs at: (move)↓↓↓↓↓↓↓↓↓↓→→→→→(move) 
hjkl-obsessed hipster:      jjjjjjjjjjlllll 
efficient vimmer:        /fo<CR> 
0

h j k l là một bước đệm cho các tính năng mạnh mẽ hơn. Bạn có thực sự nghĩ rằng trái, phải, lên, xuống là tiên tiến như di chuyển con trỏ được trong thế kỷ 21 (hoặc 1976)?

4

Bàn phím thiết bị đầu cuối cũ như thiết bị đầu cuối ADM-3A không có phím mũi tên. Bố cục bàn phím trông như thế này và nó đã có mũi tên cho hjkl. (Bằng cách này, cũng lưu ý mối quan hệ giữa ~ và phím Home)

ADM-3A terminal

Tôi nghĩ rằng đó là chủ yếu vì những lý do lịch sử mà Vim vẫn sử dụng nó (và nhiều người đang quen với nó). Có lẽ cũng bởi vì nhiều sysadmins là hoài cổ về những thứ từ những năm 70/80, và bởi vì họ có thể khoe khoang về cách họ có thể gõ nhanh hơn (như gõ là nguyên nhân của việc viết mã chậm ...).

1

h, j, k và l nằm trên hàng chủ. Nếu bạn di chuyển bàn tay của bạn để sử dụng các phím mũi tên, bạn phải điều chỉnh khi bạn đang thực hiện với các phím mũi tên. Đây chỉ là vấn đề đối với những người đánh máy cảm ứng (mà mọi người quay lại trong ngày).

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