VIM 함수에서 키 명령 실행 문자 오류가

함수가 있고 키 명령을 실행하고 싶지만 후행 문자 오류가 발생합니다.

function! MyFunction()
  if condition
    <C-W><C-W>
  else
    :some_other_command
  endif
endfunction

<CW> <CW>를 좋아하지 않습니다

대신 무엇을 사용할 수 있습니까?



답변

일반적인 대답은 다음 :normal과 같은 명령 을 사용하는 것입니다.

:exe "normal \<C-W>\<C-w>"

:execute방법은 :normal컨트롤 키 조합과 같은 특수 문자를 인식 할 수있는 읽기 쉬운 방법 입니다. 다른 접근법은

:normal ^W^W

여기서 각각 ^W은을 입력하여 하나의 문자를 삽입합니다 Ctrl-vCtrl-w.


답변

피드 키 기능을 사용하십시오 . ^ W는 “^”+ “W”가 아니라 실제로 “Ctrl-V Ctrl-W”를 입력합니다. 특별한 캐릭터입니다.

function! MyFunction()
  if condition
    call feedkeys("^W^W")
  else
    :some_other_command
  endif
endfunction


답변