일반 모드에서 키 누름 기록을 볼 수 있습니까?


32

Vim은 전 명령, 검색, 점프 위치, 변경 및 기타 사항에 대한 기록을 유지한다는 것을 알고 있습니다.

showcmdVim을 설정 하면 명령이 실행될 때까지 일반 모드 명령에 대해 지금까지 입력 한 키가 표시됩니다.

때로는 정상 모드에서 잘못 입력하고 조치가 발생합니다. 이러한 작업을 취소 할 수 있지만 실수로 인한 편집 작업이 어떻게 발생했는지 가끔 알고 싶습니다. 때로는 편집이 멋지게 보이고 나중에 반복하는 방법을 알고 싶습니다.

따라서 일반 모드에서 키 누름 기록을 볼 수있는 방법이 있습니까? 실제 편집 또는 동작 (예 : 이동 또는 모드 변경)이 발생할 때 구분되는 것이 바람직합니까?


4
아마도 관련 : drbunsen.org/vim-croquet
wchargin

답변:


20

@WChargin의 링크를 따라 조금 더 보면

다음과 같이 -w또는 -W옵션으로 vim을 시작할 수 있습니다 .

vim -w keys.txt my_file

입력 한 모든 문자는 Vim을 종료 할 때까지 {scriptout} 파일에 기록됩니다.

-w지정된 파일이 있으면 추가됩니다. -W덮어 씁니다.

원하는 것을 얻지 못하지만 올바른 방향입니다.

업데이트 : vim은 vim을 종료 할 때까지 실제로 모든 키 입력을 버퍼링하는 것처럼 보이지만 여기 에는 키 입력을 즉시 기록 하는 한 줄 패치가 있습니다 .


감사! 나는 이것을 소스 코드에 파고 들기 시작점으로 사용하고 있습니다. -w는 일반 모드 명령뿐만 아니라 모든 단일 키 누름을 저장하는 것처럼 보이지만 올바른 것입니다. 올바른 방향입니다!
John O'M.

@ xthrd,이 keys.txt파일 들은 어떻게 형식화 / 구조화되어 있습니까? 을 사용할 때 -w추가는 항상 길고 긴 줄에서 이루어집니다. 그리고 이상한 문자가 표시됩니다 : UTF-8에서는 새 버퍼에서 파일을 열 때마다을 얻습니다 €齛. 이것은 그 자체로는 좋은 마커이지만, 로그를 선택적으로 구문 분석 할 수 있다면 좋을 것입니다.
llinfeng

@llinfeng 전혀 포맷되지 않았습니다. 말 그대로 순서대로 키 입력을 포함하는 파일입니다. (키 스트로크 중 일부가 인 경우 <cr>파일에 줄 바꿈이 포함됩니다.) 주된 목적은 -s옵션을 사용하여 재생할 수있는 파일을 만들기위한 것입니다 . 그러나 직접 시도해보십시오!
Rich

@Rich 설명해 주셔서 감사합니다. 이 키 추적 메커니즘을 사용하여 검색을 시작한 문제를 디버깅했습니다. [나의 교훈은 : W명령 행을위한 지도 는 절대로 없다 .]
llinfeng

-4

q:명령 기록을 보여주고있다.

또한 부분적으로 완료된 명령을 눌러 일치 항목을 순환 할 수 있다는 것도 유용합니다. 예를 들어 /abc , 'abc'로 시작하는 검색 기록을 순환하려면 위로 누르십시오.


5
q : ex 명령 히스토리를 보여 주지만 유용하지만 "ad2tn (두 번째 n까지 레지스터 a로 삭제)과 같은 일반적인 명령 로그는 아닙니다
.

명령을 편집하는 동안 히스토리 편집기에서 현재 행을 표시하고 vi를 사용하여 행을 편집 할 수 있습니다.Ctrl+f
Sukima
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.