Vim (7.2) r
에는 단일 문자를 다른 문자로 바꾸는 일반 모드 명령 이 있습니다. 예를 들어, 입력 rX
하면 커서 아래의 한 문자가로 바뀌고 X
일반 모드로 돌아갑니다.
단일 문자를 삽입 한 다음 일반 모드로 돌아가는 일반 모드 명령이 있습니까?
Vim (7.2) r
에는 단일 문자를 다른 문자로 바꾸는 일반 모드 명령 이 있습니다. 예를 들어, 입력 rX
하면 커서 아래의 한 문자가로 바뀌고 X
일반 모드로 돌아갑니다.
단일 문자를 삽입 한 다음 일반 모드로 돌아가는 일반 모드 명령이 있습니까?
답변:
MelBurslan은이 기능이 기본적으로 존재하지 않는 것이 맞지만 사용자 정의 명령을 작성하는 것이 실제로 작성하는 방법이 아닙니다. 나는 몇 분 동안 땜질을하고 이것을 생각해 냈습니다.
:nmap <silent> ,s "=nr2char(getchar())<cr>P
레지스터에서 "퍼팅"텍스트 (이 경우 "식"레지스터)와 관련된 Vim 트릭을 사용합니다. 레지스터에 연결되는 표현식은 " nr2char(getchar())
"이며 단일 문자열을 반환합니다.
내가 이런 식으로 매핑을 만든 이유는 사용자 입력을 "중간"으로 가져 오는 것이 까다 롭고 예측할 수 없기 때문입니다. 이 매핑조차도 사용자가 문자를 입력 할 때까지 커서를 상태 영역으로 드롭합니다.
아래 의견에이 훌륭한 답변을 주신 Johnny에게 감사드립니다.
":nmap <C-i> i_<Esc>r"
Control + i를 매핑하여 단일 문자를 삽입하고 매우 간결하게 수행합니다.
vimrc 파일에서 다음과 같이 나타납니다.
nnoremap <C-i> i_<Esc>r
공간을 사용하도록 매핑을 변경했으며 원하는 키로 변경할 수 있습니다.
nnoremap <Space> i_<Esc>r