2014-05-11 1 views
0

Ex 모드의 정상 모드 명령 Ctrl-n 또는 j을 실행하려고합니다. 일반적으로 :normal 명령을 사용하여이 작업을 수행합니다. 예를 들어, 다음 명령은 커서를 한 행 아래로 이동합니다.컨트롤 키 사용 구문이 다음과 같이 작동하는 이유는 무엇입니까?

:normal j 

다음 명령을 수행하십시오. 참고 : ^NCtrl-v Ctrl-n을 눌러서 입력합니다.

:normal ^N 

하지만 다음 명령은 작동하지 않습니다. 이 명령은 버퍼에 영향을주지 않는 것 같습니다. 나는 다음과 같은 명령을 사용하여 Ctrl-n위한 새로운 전 명령을 만들 때

:normal <C-n> 

그러나, 그것을 작동합니다!

:command Down <C-n> 

여기서도 normal이 중복되지만 작동합니다.

:command Down normal <C-n> 

지금, 나는 아래로 커서를 한 줄을 이동하려면 예 명령 :Down을 사용할 수 있습니다.

내 질문에 <C-n> 구문이 :normal 명령과 작동하지 않지만 :command 명령과 함께 작동하는 이유는 무엇입니까?

+0

': command Down '과 (과) 무슨 의미로 작동합니까? 시도한 후 ': 다운'하면 오류 메시지가 나타납니다. ''에': cmap' 또는': map! '을 이미 정의 했습니까? – benjifisher

+0

@benjifisher ': Down'을 입력하면 커서가 한 줄 아래로 이동한다는 의미에서 작동합니다. ''에': cmap' 또는': map! '을 정의하지 않았습니다. 오류 메시지는 무엇입니까? –

+0

': command down '그리고': Down'과 같이'E492 : Not an editor command :^N'이라는 에러 메시지를받습니다. 나는 여전히 vim 7.3을 사용하고 있기 때문에 아마도 7.4에서 작동 할 것이다. – benjifisher

답변

4

사용 :exec<c-x> 탈출 :

:exec "normal \<c-n>" 

실제로 명령이 :h :normal 도움말 문서에서 찾을 수 있습니다 : 예를 들어

to use |:execute|, which uses an 
expression as argument. This allows the use of 
printable characters to represent special characters. 

         Example: > 
           :exe "normal \<c-w>\<c-w>" 
-1

귀하의 질문은 아마 학문이다 (또는 다른 문제를 해결하려고 시도하고 있습니다.) 그러나 가치가있는 경우 이미 :+과을 수행 할 수 있습니다..

관련 문제