소스 코드 파일 이름이 "foo.c"라고 가정합니다. 편집하고 디버깅하는 동안 항상이 명령을 실행합니다 :-
:! gcc -g foo.c -o foo; gdb foo
": debug"를 입력하면 위 명령이 실행되도록 Vim에 사용자 지정 명령을 추가 할 수 있습니까? 어떻게하면 되나요?
소스 코드 파일 이름이 "foo.c"라고 가정합니다. 편집하고 디버깅하는 동안 항상이 명령을 실행합니다 :-
:! gcc -g foo.c -o foo; gdb foo
": debug"를 입력하면 위 명령이 실행되도록 Vim에 사용자 지정 명령을 추가 할 수 있습니까? 어떻게하면 되나요?
답변:
예. Vim 문서, 섹션 40.2, 명령 줄 매핑 :
Vim 편집기를 사용하면 고유 한 명령을 정의 할 수 있습니다. 다른 명령 줄 모드 명령과 마찬가지로 이러한 명령을 실행합니다. 명령을 정의하려면 다음과 같이 ": command"명령을 사용하십시오.
: 명령 DeleteFirst 1 삭제
이제 ": DeleteFirst"명령을 실행하면 Vim은 ": 1delete"를 실행하여 첫 번째 줄을 삭제합니다.
참고 : 사용자 정의 명령은 대문자로 시작해야합니다. ": X", ": Next"및 ": Print"는 사용할 수 없습니다. 밑줄은 사용할 수 없습니다! 숫자를 사용할 수 있지만 권장하지 않습니다.
그 줄을 당신의 ~/.vimrc
(이니셜 :
에서 마이너스로) 넣으면 vim을 시작할 때마다 정의됩니다. 또한 %:t
편집중인 파일을 참조하는 데 사용하십시오 (쓰기 ! gcc %:t
는로 대체 됨 ! gcc foo.c
).
이렇게하면 사용자 :Legend
가 일반 모드에서 입력 할 때 텍스트 블록이 커서 아래에 추가됩니다.
1 단계 :이 행을 ~ / legend_header.txt라는 파일에 넣습니다.
this text will be added
2 단계 :이 명령을 ~ / .vimrc 파일에 넣습니다 (파일이 없으면 작성).
"The following command puts the contents of ~/legend_header.txt
"under the cursor when the user types ":Legend" in normal mode.
command Legend :r ~/legend_header.txt
3 단계 : vi를 다시 시작하여 변경 사항을 적용합니다. 끝났습니다.
그것을 테스트
1 단계 : vi에서 새 파일을 엽니 다. vi에서 기본 "정상 모드"에 있어야합니다. 유형:Legend
2 단계 : 내용이 ~/legend_header.txt
커서가있는 곳에 추가되어야합니다.
command!
합니다.