문제
vim으로 더 많은 것을 개발하면서 Eclipse의 "템플릿"과 유사한 유용한 코드 블록을 복사하고 싶다는 생각이 들었습니다.
나는 각 코드 청크에 대해 별도의 파일을 만들고 그냥 읽어 들일 생각이었습니다.
:r code-fornext
하지만 그건 좀 원시적인 것 같아요.인터넷 검색에서 언급된 vim 매크로와 "지도"에 관한 내용을 찾았지만 간단해 보이는 것은 없습니다.
내가 찾고있는 것은 예를 들어입니다.Eclipse의 "템플릿"과 같은 것이므로 커서가 중앙에 있는 코드 청크를 팝업합니다.또는 한 줄에서 복잡한 삭제 및 이름 변경 작업을 기록할 수 있는 JEdit의 "매크로"를 사용하면 다른 10개 줄에서도 다시 재생할 수 있으므로 동일한 작업이 수행됩니다.
vim에 이 두 가지 기능이 있나요?
해결책
Vim에서 매크로를 기록하려면 명령 모드에서 q
키와 매크로를 할당하려는 다른 키.빠르게 매크로를 버리려면 보통 그냥 쳐요 qq
그리고 매크로를 q
열쇠.녹음 모드에 들어가면 키 입력을 실행해 보세요.완료되면 명령 모드로 돌아가서 다음을 누르십시오. q
녹음을 중지하려면 다시 누르세요.그런 다음 매크로를 수동으로 재생하려면 다음을 입력하면 됩니다. @q
.이전에 실행된 매크로를 재생하려면 다음을 입력하면 됩니다. @@
또는 10번 실행하려면 다음을 입력하면 됩니다. 10@q
또는 20@q
, 등..
요약하자면:
+----------------------------------+-------------------------------------+
| start recording a macro | qX (X = key to assign macro to) |
+----------------------------------+-------------------------------------+
| stop recording a macro | q |
+----------------------------------+-------------------------------------+
| playback macro | @X (X = key macro was assigned to) |
+----------------------------------+-------------------------------------+
| replay previously played macro | @@ |
+----------------------------------+-------------------------------------+
코드 청크와 관련하여 TextMate의 스니펫 기능을 모방한 snipMate라는 Vim 플러그인을 찾아 사용하기 시작했습니다.여기에서 플러그인을 얻을 수 있습니다:
http://www.vim.org/scripts/script.php?script_id=2540
그리고 snipMate 사용에 대한 짧은 기사(사용 중인 모습을 보여주는 짧은 스크린캐스트와 함께):
http://www.catonmat.net/blog/vim-plugins-snipmate-vim/
이것이 도움이 되기를 바랍니다!
다른 팁
vim.wikia에서 다음을 찾을 수 있습니다. 팁 카테고리 스니펫 및 약어 확장 전용입니다.복잡한 조각/템플릿 파일의 정의를 쉽게 해주는 플러그인 목록도 표시됩니다.
HTH,