Xem các chuỗi khóa cũ trong vim


0

Đôi khi tôi chia sẻ ảnh chụp màn hình và clip sử dụng vim với người khác. Sẽ thật tuyệt khi mở rộng trên một phần của dòng lệnh được tô sáng trong hình này:

vim with the current key sequence on the status bar highlighted

Tôi cũng muốn một số cách để hiển thị các chuỗi khóa trước , nhu la:

y2w jj f[ p   2d - Bạn có thể thấy các chuỗi chính dẫn đến hiện tại. Tôi sẽ giải thích về danh sách mong muốn của tôi ở phía dưới.

Là một cái gì đó như thế này có sẵn như là một plugin hoặc tập lệnh vim? Số lượng kịch bản có sẵn trên vim trực tuyến làm cho điều này khó tìm theo từ khóa.

Làm rõ: Tôi đã thêm phần sau để hiển thị chức năng tôi muốn trong trường hợp có nhiều plugin vim xử lý việc này . Vì nó xuất hiện như thể có lẽ ít hoặc không plugin để làm những gì tôi muốn, phần này là phần lớn không liên quan cho câu hỏi - câu hỏi không phải là làm thế nào để thực hiện các tính năng này, mà là có hay không và chúng có ở đâu đã được thực hiện .

Một số tính năng tôi hy vọng (nhưng dường như không thể thực hiện được):

  1. Phân định các chuỗi phím bằng ký tự không phải bàn phím thay vì khoảng trắng và một chuỗi khác cho lệnh hiện tại, vì vậy y2w jj f[ p   2d có thể trở thành y2w¦jj¦f[¦p » 2d
  2. Thay thế các phím có chữ cái thay thế bằng phím thay thế, chẳng hạn như phím mũi tên phải - ^[[C với tương đương l. Chỉnh sửa: Để làm rõ, phím mũi tên phải là một khóa hợp lệ trong vim, nhưng không có ký tự để biểu thị nó (một chuỗi như <right arrow> sẽ phải được sử dụng), trong trường hợp l Phím thực hiện cùng chức năng (hầu hết thời gian) nên thay thế chuỗi dài hơn.
  3. Có các tổ hợp phím trước chạy hết cỡ đến đầu dòng (thay vì chỉ một hoặc hai) và chỉ cần có dấu nhắc lệnh của vim ghi đè lên khi cần thiết.
  4. Thay thế một số tổ hợp phím bằng một thay thế thanh lịch hơn, ví dụ hhhhh với 5h hoặc ấn tượng hơn d2f) với d% (trong tình huống thích hợp).

1
Re 2: & lt; mũi tên phải & gt; và l không tương đương. Xem ví dụ: ": help 'whichwrap'".
garyjohn

Câu trả lời:


1

Một số tính năng tôi hy vọng (nhưng dường như không thể thực hiện được):

1. Phân cách các chuỗi phím bằng ký tự không phải bàn phím thay vì khoảng trắng và một chuỗi khác cho lệnh hiện tại, vì vậy y2w jj f [p 2d có thể trở thành y2w¦jj¦f [¦p »2d

Đầu tiên, bạn phải tìm ra những gì bạn muốn cho mình. Một phương pháp ngây thơ (tôi chắc rằng những người khác sẽ đi kèm với các phương thức thanh lịch hơn) để ghi lại các phím được nhấn ở chế độ bình thường sẽ là ghi lại một macro (nhấn qa để bắt đầu, qq để kết thúc ghi và xem nó bằng cách : reg ). Nhưng nó sẽ không "chia chìa khóa" cho bạn, đặt khoảng trắng ở giữa bởi vì, ờ ... bởi vì bạn đã không nhấn phím cách trong khi ghi nó.

Nếu bạn muốn đặt nội dung đăng ký một ví dụ vào văn bản của bạn, bạn có thể với "xin lỗi và sau đó chia chúng theo ý thích của bạn. Sau đó, bạn có thể thử tham gia chúng với một cái gì đó như tham gia (a, "|") hoặc bất cứ ký tự dọc nào. Tôi không chắc chắn từ đây.

2. Thay thế các phím có chữ cái thay thế bằng phím thay thế, chẳng hạn như phím mũi tên phải - ^ [[C bằng l tương đương.

Điều này đòi hỏi một số logic cao hơn, vì thường có nhiều cách để thực hiện cùng một điều. "Thay thế" là gì?

3. Có các tổ hợp phím trước chạy hết từ đầu đến cuối dòng (thay vì chỉ một hoặc hai) và chỉ cần có dấu nhắc lệnh của vim ghi đè lên khi cần thiết.

Bây giờ tôi nghĩ về nó, bạn đã thử nó có thể với một keylogger ? Có vẻ như nó sẽ tốt hơn đề xuất đầu tiên của tôi ở đây, đặc biệt nếu bạn đang nhắm đến việc ghi lại các screencasts.

4. Thay thế một số tổ hợp phím bằng một thay thế thanh lịch hơn, ví dụ hhhhh bằng 5h hoặc ấn tượng hơn d2f) bằng d% (trong tình huống thích hợp).

Khó khăn. 5h chỉ là cách Vim cứu bạn khỏi những rắc rối khi nhấn hhhhh.

EDIT: Chỉ cần thêm, nếu bạn đang làm tất cả điều này cho mục đích ghi lại đoạn phim ngắn hoặc video giáo dục Trình tạo mẫu có thể ghi lại các lần nhấn phím và trình bày chúng trên màn hình khi bạn nhấn chúng.

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.