Tôi có thể xem lịch sử của các lần nhấn phím ở chế độ bình thường không?


32

Tôi biết rằng Vim giữ lịch sử cho các lệnh cũ, tìm kiếm, vị trí nhảy, thay đổi và có thể cả những thứ khác.

Với showcmdthiết lập, Vim cũng hiển thị cho bạn các phím bạn đã nhập cho đến nay cho một lệnh chế độ bình thường, cho đến khi lệnh đó được thực thi.

Đôi khi, khi ở chế độ bình thường, tôi gõ nhầm và hành động xảy ra. Tôi có thể hoàn tác những hành động này, nhưng đôi khi tôi muốn biết làm thế nào các chỉnh sửa trong lỗi của mình xảy ra. Đôi khi bản chỉnh sửa trông rất tuyệt và tôi muốn biết làm thế nào để lặp lại nó trong tương lai.

Vì vậy, có cách nào để xem lịch sử của các lần nhấn phím ở chế độ bình thường, tốt nhất là được phân định khi một chỉnh sửa hoặc hành động thực tế (như chuyển động hoặc thay đổi chế độ) xảy ra?


4
Có thể liên quan: drbunsen.org/vim-croquet
wchargein 7/215

Câu trả lời:


20

Theo liên kết từ @WChargin xa hơn một chút, tôi thấy điều này:

Bạn có thể bắt đầu vim với -whoặc -Wtùy chọn như sau:

vim -w keys.txt my_file

Tất cả các ký tự bạn nhập được ghi lại trong tệp {scriptout}, cho đến khi bạn thoát Vim.

-wsẽ nối vào tệp đã chỉ định nếu nó tồn tại; -Wsẽ ghi đè lên nó.

Nó không hoàn toàn giúp bạn có được những gì bạn muốn, nhưng đó là hướng đi đúng đắn.

Cập nhật: Có vẻ như vim thực sự đệm tất cả các tổ hợp phím cho đến khi bạn thoát vim, nhưng có một bản vá một dòng ở đây sẽ viết các tổ hợp phím ngay lập tức.


Cảm ơn! Tôi đang sử dụng điều này như một điểm khởi đầu để chọc vào mã nguồn. Có vẻ như -w lưu mỗi lần nhấn phím, không chỉ các lệnh ở chế độ bình thường, mà bạn đã đúng: đó là hướng đi đúng!
John O'M.

@xthrd, các keys.txttệp này được định dạng / cấu trúc như thế nào? Khi tôi sử dụng -w, việc nối thêm luôn diễn ra trong một hàng dài dài; và, có các ký tự lạ được hiển thị: trong UTF-8, bất cứ khi nào tôi mở tệp trong bộ đệm mới, tôi sẽ nhận được €齛. Đây là một điểm đánh dấu tốt, nhưng sẽ rất tuyệt nếu các bản ghi có thể được phân tích cú pháp tùy ý.
llinfeng

@llinfeng Nó không được định dạng ở tất cả. Đó thực sự chỉ là một tập tin chứa tổ hợp phím theo thứ tự chúng được tạo ra. (Mặc dù lưu ý rằng nếu một số tổ hợp phím là <cr>, thì tệp sẽ chứa các ngắt dòng.) Điều này là do mục đích chính là để tạo các tệp có thể được phát lại bằng -stùy chọn. Nhưng tại sao không thử nó cho chính mình!
Giàu

@Rich Cảm ơn bạn đã làm rõ. Tôi đã sử dụng cơ chế theo dõi khóa này để gỡ lỗi sự cố bắt đầu tìm kiếm của tôi. [Bài học của tôi là: không bao giờ lập bản đồ Wcho dòng lệnh.]
llinfeng

-4

Đó là q:cho thấy một lịch sử lệnh.

Tôi cũng thấy hữu ích khi bạn có thể nhấn lên một lệnh đã hoàn thành một phần để xoay vòng các trận đấu. Ví dụ: /abc Sau đó nhấn lên sẽ quay vòng qua lịch sử tìm kiếm của bạn bắt đầu bằng 'abc'


5
q: hiển thị lịch sử lệnh ex và rất hữu ích, nhưng không phải là nhật ký của các lệnh thông thường, như "ad2tn (xóa vào đăng ký a cho đến n thứ hai)
John O'M.

Đừng quên rằng trong khi đang chỉnh sửa một lệnh, bạn có thể hiển thị dòng hiện tại trong trình chỉnh sửa lịch sử và sử dụng vi để chỉnh sửa dòng bằng cách nhấnCtrl+f
Sukima
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.