Trong VIM, tôi có thể tìm ra phím nào tôi vừa gõ không?


11

Đôi khi tôi sẽ sử dụng VIM và một cái gì đó sẽ xảy ra, và tôi không biết nó là gì hoặc tôi đã gõ cái gì gây ra nó. Có cách nào để liệt kê một số khóa gần đây đã được gõ và thậm chí tốt hơn, tìm ra những hành động mà chúng kích hoạt không?

Câu trả lời:


7

Vimcó một tùy chọn -Wbạn có thể lạm dụng, nhưng nó sẽ không hoạt động trong khi Vimvẫn đang chạy.

-w {scriptout}

Tất cả các ký tự mà bạn nhập được ghi lại trong tệp {scriptout}, cho đến khi bạn thoát Vim. Điều này hữu ích nếu bạn muốn tạo tệp tập lệnh được sử dụng với "vim -s" hoặc ": source!". Nếu tệp {scriptout} tồn tại, các ký tự sẽ được nối thêm.

-W {scriptout}

Giống như -w, nhưng một tập tin hiện có bị ghi đè.

Gọi Vimvới ví dụ như một bí danh

vim -W /tmp/vimlog-$(id -un)

sẽ cho phép bạn kiểm tra với less /tmp/vimlog-$(id -un)hoặc cat -v /tmp/vimlog-$(id -un)những gì bạn đã nhập theo nghĩa đen sau khi bạn thoát Vim.


Đây là một ý tưởng thú vị. Tôi sẽ cho nó một shot và xem nếu tôi học được gì.
Owen

3

Trước tiên hãy chắc chắn rằng vim đang nhớ bất kỳ dòng lịch sử nào. Điều này đặt lịch sử thành 1000 lệnh và tìm kiếm:

:set history=1000

Nếu bạn nhập bắt đầu những gì bạn đang tìm kiếm, bạn có thể sử dụng các phím để cuộn qua lịch sử - điều này áp dụng cho các lệnh và tìm kiếm.

Ví dụ: nếu bạn đã tìm kiếm Trung Quốc thì cuba rồi Chad rồi cyprus :

Bạn có thể gõ /cvà nhấn nhiều lần. Bạn sẽ thấy nó hiển thị /cyprussau /cubađó /china( /Chadđược bỏ qua vì nó không bắt đầu bằng c ).

Các lệnh khác:

  • :history liệt kê toàn bộ lịch sử.
  • :his liệt kê lịch sử lệnh.
  • :his / liệt kê lịch sử tìm kiếm.

2
Tôi không nghĩ rằng điều này chỉ áp dụng cho các lệnh chế độ thông thường đối với các lệnh chế độ cũ (đó là các lệnh bắt đầu bằng ':', ví dụ: e: w: q)
kmkkmk

1
Để xem lịch sử lệnh ex, bạn cũng có thể chỉ cần gõ q:trong chế độ bình thường. cùng đi với lịch sử tìm kiếm vớiq/
Yab

2

Bạn có thể thêm phần này vào .vimrc của bạn:

set showcmd

Nó sẽ hiển thị trên thanh trạng thái lệnh bạn đang thực hiện khi bạn nhập chúng. Mặc dù điều này sẽ không cung cấp cho bạn một lịch sử, đây là giải pháp gần nhất mà tôi biết.

Tuy nhiên, nếu bạn đang nói về excác lệnh, thì awnser của Gareth là cách để đi

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.