2012-03-11 14 views
8

Có thể ghi nhật ký tất cả các lệnh tôi nhập vào VIM để phân tích sau không? Ý tôi là mỗi lệnh đơn giản như chuyển động hoặc thay đổi văn bản, tức là jjjjjjkkkcw<newword>Lệnh Vim đăng nhập

Nếu không thể có VIM, có thể có một keylogger trên Linux, có thể được gắn vào cửa sổ/quy trình cụ thể?

Tôi muốn đăng nhập trong vim, vì nó có thể có các tùy chọn để có các nhật ký khác nhau cho các chế độ vim khác nhau. Ngoài ra tôi không muốn đăng nhập "dấu hai chấm" lệnh.

+0

liên quan: http://stackoverflow.com/questions/8928070/vim-show-my-last-command-command – sehe

+1

Tôi đang trong quá trình áp dụng bản vá cho vim73, trông đầy hứa hẹn – sehe

Trả lời

12

Có, có! Khi khởi chạy vim, hãy sử dụng vim -W ~/vimcommands.log đến >> vào một tệp hoặc -w để ghi đè lên tệp.

-w {scriptout} Tất cả các ký tự bạn nhập được ghi vào tệp {scriptout}, cho đến khi bạn thoát khỏi Vim. Điều này rất 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ự được nối thêm. -W {scriptout} Giống như -w, nhưng một tệp hiện có bị ghi đè.

Bạn có thể muốn thêm bí danh bash để lưu trữ nhật ký vim dựa trên tên tệp. Tôi quan tâm để xem cách bạn định phân tích nhật ký của mình, tôi muốn thực hiện tương tự.

2

Tại sao không chỉ bắt đầu ghi macro (qa chẳng hạn sẽ bắt đầu ghi macro trong a) và nó sẽ ghi lại tất cả cho bạn?

Ctrl-R a 

trong chế độ chèn sẽ cho phép bạn xem nội dung của nó.

+1

Tôi muốn thu thập số liệu thống kê về việc sử dụng vim của tôi trong một ngày (hoặc thậm chí một tuần hoặc một tháng). Và tôi có thể quên bắt đầu ghi một macro :). Đôi khi tôi cũng sử dụng macro và tôi có thể quên bắt đầu ghi lại. Nhưng tôi thích ý tưởng - sẽ thử. – cutalion

+2

@cutalion - "thống kê sử dụng vim của bạn trong một ngày"? Cho mục đích gì? Xin lỗi, tôi nghĩ một keylogger trong trường hợp đó sẽ là lựa chọn duy nhất khả thi của bạn. – Rook

+2

@cutalion Macro ghi vào sổ đăng ký, vì vậy ': reg a' sẽ in macro trên màn hình và' "ap' sẽ dán macro vào tài liệu, v.v. – Neil