VIM은 기능에서 키보드 명령을 실행합니다.

VIM은 기능에서 키보드 명령을 실행합니다.

키 명령을 실행하려는 함수가 있는데 뒤에 문자 오류가 표시됩니다.

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

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

대신 무엇을 사용할 수 있나요?

답변1

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

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

이 방법은 컨트롤 키 조합과 같은 특수 문자를 인식하기 위해 사람이 읽을 수 있는 방법입니다 :execute. :normal또 다른 방법은

:normal ^W^W

이들 각각은 ^W를 입력하여 삽입된 문자입니다 Ctrl-vCtrl-w.

답변2

사용피드 키기능. ^W는 "^" + "W"가 아니라 실제로 "Ctrl-V Ctrl-W"를 입력한다는 점에 유의하세요. 이것은 특별한 역할입니다.

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

관련 정보