VIM 스크립팅에 대한 좋은 가이드?
저는 10 년 이상 VIM을 사용해 왔지만 실제로 VIM 스크립팅을 사용하지는 않았습니다 (항상 VIM이 Emacs보다 약한 영역이라고 주관적으로 믿었습니다).
최근에 "VIM 스크립트에서 일반 모드 명령을 실행할 수 있습니다"라는 깨달음이 내 마음을 "아하"로 만들었고 갑자기 VIM 스크립트의 일부가 왜 그런지 깨닫기 시작했습니다.
normal ma10jd'a20kp
훨씬 더 우아합니다
Marker m = currentLocation();
advanceLines(10);
Buffer b = delete(currentLocation(), m);
advanceLines(-20);
insertBuffer(b);
이제 질문은-vim 스크립팅을 배울 수있는 좋은 리소스는 무엇입니까?
감사!
제가 드릴 수있는 최고의 조언은 다음과 같은 내용을 읽는 것입니다.
:help usr_41.txt
기본에 대한 좋은 개요를 제공합니다. 그런 다음하고 싶은 일을 찾아서 함수를 만드십시오. 이 작업을 수행하는 동안 다음을 많이 사용하십시오.
:help function-list
모든 내장 함수가 무엇인지 알 수 있습니다. 대부분은 다른 스크립팅 언어와 상당히 유사합니다 (가혹한 구문 임에도 불구하고). 따라서 파이썬에서 텍스트를 조작 한 경험이 있거나 어떤 것이 든 유용 할 것입니다.
또한 vim 스크립트 페이지 와 Google 에서 지식을 확장하는 데 도움이되는 기존 스크립트의 예를 확인하십시오.
마지막으로 (그리고 아마도 가장 중요한), stackoverflow 또는 Vim 메일 링리스트 에 물어 보는 것을 두려워하지 마십시오 . 당신이 가질 수있는 모든 문제에 대해 많은 지원이있을 것입니다.
Vimscript the Hard Way 알아보기도 확인해 볼 가치가 있습니다.
http://learnvimscriptthehardway.stevelosh.com/
알이 좋은 대답을 했어요 . 질문과 관련된 몇 가지 팁이있는 vim.wikia 도 추가 하겠습니다 .
참고로.
나는 그것이 ma10jd'a20kp
더 우아 하다고 말하지 않을 것입니다 . 다음과 같은 문제가 있습니다.
- 유지 관리가 매우 어렵습니다 (줄 수가 매개 변수가된다면 어떨까요?).
- 사람들은 사용하는 법을 배운 적이없는 키를 재정의하는 것을 좋아합니다
:normal!
. - 일부 일반 모드 명령은 사이드 케이스에서 이상한 동작을합니다 (예 :
<esc>
커서가 첫 번째 열에있을 때). - 마크 a 와 이름없는 레지스터-다른 스크립트를 엉망으로 만들 거나 심지어 사용자가 스크립트에 의해 값이 변경되지 않을 것으로 예상 할 수 있습니다.
저도 비슷한 상황에 있습니다. 여전히 내 "읽기"목록에 있지만 오늘 Vim 편집기 Scripting을 찾았 습니다. IBM DeveloperWorks의 기사는 일반적으로 매우 훌륭하므로 확인해 볼 가치가있을 것입니다.
참조 URL : https://stackoverflow.com/questions/2153892/good-guide-on-vim-scripting
'Nice programing' 카테고리의 다른 글
XSL "포함"지시문이 있습니까? (0) | 2021.01.10 |
---|---|
일반 배열을 포함하는 객체의 GetHashCode 재정의 (0) | 2021.01.10 |
대화 상자를 통한 Android 공유 (0) | 2021.01.10 |
Glassfish 또는 Tomcat 앞에서 Apache Web Server를 사용하는 이유는 무엇입니까? (0) | 2021.01.10 |
JS : 자식 창이 닫힐 때 듣기 (0) | 2021.01.10 |