이 문제는 나를 정말 미치게합니다. 과거에는 Windows 7에서 Gvim과 Autohotkey를 사용했습니다. 여러 가지 이유로 CTRL + D를 입력하여 좋아하는 동작을 매핑했습니다. 이것은 지금까지 잘 작동했습니다.이 키 매핑이 Vim에서 작동하지 않는 이유는 무엇입니까?
nnoremap <cr> <PageDown>
이 좋은 일 : 는 GVIM에서 나는 페이지 아래로 키의 역할을 돌아/입력 매핑. 지난 주에 우분투를 다시 시도하기로 결정했습니다.
Autokey를 사용하여 Ctrl + D를 다시 매핑하여 Enter를 실행합니다.
keyboard.send_key("<enter>")
이
은 텍스트 편집기에서, 브라우저/크롬, 우분투/주 분투의 모든 모든 것을 잘했다. Gnome 터미널을 사용하고 있습니다. 그리고 CTRL + D는 Enter와 같이 동작합니다.삽입 모드에서 Vim에있을 때 CTRL + D는 Enter와 동일합니다. 정상 모드에서는 nnoremap을 사용하여 예상되는 동작을 얻지 못합니다.
CTRL + D가 터미널에서 잘 작동하고 Vim에서 삽입 모드로 작동한다는 사실을 감안할 때 매우 이상한 것으로 나타났습니다. 나는 '진짜'Enter를 누를 때. 나는 Vim에서 페이지 다운을 얻었지만 매핑 된 CTRL + D와 함께 정상 모드에서는 같은 동작을하지 않는다. 삽입 모드에서는 Enter와 같은 동작을합니다. 그 중
nnoremap <return> <PageDown>
nnoremap <Enter> <PageDown>
nnoremap <cr> ij
nnoremap <CR> ij
아무것도 정상 모드에서 CTRL + D로 지금까지 일하지 : 나는 같은 문제를 감지하기 위해,지도를 변경했습니다. 이상하게도 삽입 모드와 터미널에서 잘 작동한다는 것을 알게되었습니다. Vim의 매뉴얼을 살펴 보았습니다. 아무 결과도없이.
Vim을 일일 편집자로 사용하므로이 문제가 일반 모드에서 왜 발생하는지 이해할 수 없기 때문에 Vim을 일일 편집자로 사용합니다. 누구가 거기에서 무슨 일이 일어나고 있는지 아십니까? 이것이 나를 정말로 미치게 만들고 있기 때문에 당신의 도움에 정말로 감사 할 것입니다.
정상 모드에서 Vim이받은 _is_은 무엇입니까? ':'을 누르면 무엇이 표시됩니까? 이것이'^ M '(또는 다른 어떤 것도 mappable)이라면,': nnoremap '으로 해결할 수 있습니다. –
답장을 보내 주셔서 감사합니다. Vim의 명령 줄에 다음과 같이 입력했습니다. 그런 다음 오류 메시지가 나타납니다. E488 : 후행 문자. 하지만 내 명령에는 공백이 없습니다. 그 메시지를받는 이유는 무엇입니까? –
@JuliusMartin 'while nr2char (getchar (1))! = "\"동안 사용해보세요. echomsg 문자열 (getchar (1)) 문자열 (nr2char (getchar())) | endwhile : 수신 된 문자를'code '문자'형태로 반향시켜야합니다.비록 당신이 창문에있을 때 나는 어쩌면'behave mswin'을 어딘가에 가지고 있고''을 재 매핑하기 때문에': '도 체크 할 것입니다. –
ZyX