웹사이트 검색

소프트웨어 개발자를 위한 유용한 Vim 편집기 플러그인 - 3부: a.vim


지금까지 Vim용 프로그래밍 관련 플러그인을 다루는 이 기사 시리즈에서는 Pathogen 플러그인 관리자를 사용하여 Vim 플러그인 설치의 기본 사항에 대해 논의했으며 Syntastic이라는 총 3개의 플러그인을 다루었습니다. 이제 이 세 번째이자 마지막 부분에서는 a.vim이라는 또 다른 매우 유용한 플러그인에 대해 논의할 것입니다.

이 튜토리얼에서 언급된 모든 예제, 명령 및 지침은 Ubuntu 16.04에서 테스트되었으며 우리가 사용한 Vim 버전은 7.4입니다.

A.vim

소프트웨어 개발에 종사하고 C 및 C++와 같은 프로그래밍 언어로 작업하는 경우 소스 파일과 헤더 파일 사이를 몇 번이나 전환해야 하는지 알 수 없다는 데 동의할 것입니다. 내가 말하려는 것은 매우 자주 수행되는 매우 기본적인 작업이라는 것입니다.

GUI 기반 IDE를 사용할 때 파일 간에 전환하기는 쉽지만(마우스 클릭 몇 번만 하면 되므로) Vim과 같은 명령줄 IDE를 사용하는 경우 상황이 약간 어려워집니다. 그러나 지금쯤 짐작하셨겠지만 특히 소스 파일과 헤더 파일 사이를 전환할 때 작업을 더 쉽게 해주는 플러그인(a.vim)이 있습니다.

사용법을 살펴보기 전에 이 플러그인의 설치 프로세스가 이 기사 시리즈에서 논의한 다른 플러그인을 설치하는 방법과 다르다는 점을 언급할 가치가 있습니다. 다음은 이 경우와 관련된 단계입니다.

  • 먼저 여기로 이동하여 두 개의 파일(a.vim 및 alternate.txt)을 다운로드해야 합니다.\n
  • 다음으로 ~/.vim/bundle/avim, ~/ 디렉토리를 만듭니다. vim/bundle/avim/doc, ~/.vim/bundle/avim/plugin~/.vim/bundle/autoload.
  • 디렉토리 생성이 완료되면 a.vim을 ~/.vim/bundle/avim/plugin~/.vim/bundle/autoload에 넣습니다. , 및 alternate.txt를 ~/.vim/bundle/avim/doc에 넣습니다.

그게 다야. 앞서 언급한 모든 단계가 성공적으로 완료되면 플러그인이 시스템에 설치됩니다.

플러그인 사용은 매우 간단합니다. :A 명령을 실행하기만 하면 됩니다. 현재 파일이 소스 파일(예: test.c)이면 플러그인이 해당 헤더 파일(test.h)을 엽니다. (그 반대의 경우도 마찬가지입니다).

분명히, 동일한 이름을 가진 해당 파일이 존재할 때마다는 아닙니다. 이 경우 :A를 실행하면 해당 이름으로 새 파일이 생성됩니다. 예를 들어 test.h가 존재하지 않으면 해당 이름의 파일이 생성되어 열립니다.

이 동작을 비활성화하려는 경우 홈 디렉토리에 있는 .vimrc 파일에서 g:alternateNoDefaultAlternate 변수(0이 아닌 값 지정)를 설정할 수 있습니다. .

계속해서 소스 파일에서 대응하지 않는 헤더 파일을 참조하는 것도 매우 일반적입니다. 예를 들어 test.c에 있고 test.h가 아닌 다른 헤더 파일(예: mem.h)로 전환하려는 경우 Vim에서 :IH 명령을 실행하면 됩니다. 말할 필요도 없이 을 열어야 하는 파일의 실제 이름으로 바꿔야 합니다.

지금까지 논의한 모든 기능은 열려고 하는 파일이 현재 파일과 동일한 디렉터리에 있다고 가정합니다. 그러나 동의하시겠지만 항상 그런 것은 아닙니다. 내가 말하려는 것은 많은 프로젝트에서 소스 파일과 해당 헤더 파일의 위치가 항상 같은 디렉토리가 아니라는 것입니다.

이러한 상황을 처리하려면 g:alternateSearchPath 변수를 사용해야 합니다. 이 변수에 대한 공식 문서의 내용은 다음과 같습니다.

"이 플러그인은 구성할 소스 및 헤더 파일을 찾는 데 사용하는 검색 경로를 허용합니다. 검색 경로는 g:alternateSearchPath 변수를 설정하여 지정합니다. 기본 설정은 다음과 같습니다."

g:alternateSearchPath = 'sfr:../source,sfr:../src,sfr:../include,sfr:../inc' 

"이것은 해당 파일이 전환되는 현재 파일과 관련된 모든 ../source, ../src. ../include 및 ../inc에서 검색됨을 나타냅니다. g:alternateSearchPath 변수의 값 접두사 및 디렉토리의 쉼표로 구분된 목록입니다. "sfr:" 접두사는 경로가 파일에 상대적임을 나타냅니다. 다른 접두사는 디렉토리가 현재 작업 디렉토리에 상대적임을 나타내는 "wdr:"입니다. 및 \abs:\는 절대 경로를 나타냅니다. 접두사가 지정되지 않으면 \sfr:\이 사용됩니다.\

이 플러그인의 앞서 언급한 모든 기능이 이미 "와우"라고 감탄하게 만들었다면 그게 다가 아닙니다. 플러그인이 제공하는 또 다른 매우 유용한 기능은 소스와 해당 헤더 파일을 동시에 볼 수 있도록 Vim 화면을 분할하는 기능입니다.

또한 가장 적합한 항목에 따라 화면을 가로 및 세로로 분할할 수 있습니다. 화면을 가로로 나누려면 :AS 명령을 사용하고, 세로로 나누려면 :AV 명령을 사용하십시오.

열린 파일 사이를 전환하려면 :A 명령을 사용하십시오.

플러그인을 사용하면 동일한 Vim 창 내의 별도 탭에서 해당 파일을 열 수도 있습니다. :AT 명령을 실행하여 이를 수행할 수 있습니다.

물론 :AV, :AS 및 :AT와 같이 :IHV, :IHS 및 :IHT 명령도 사용할 수 있습니다.

결론

사용할 수 있는 프로그래밍 관련 Vim 플러그인이 많이 있지만 이 세 부분으로 구성된 시리즈에서 논의한 플러그인은 소프트웨어 개발 작업에 올바른 플러그인을 활성화한 경우 편집기가 얼마나 강력해졌는지에 대한 아이디어를 제공하기에 충분해야 합니다. .

물론 여기서는 프로그래밍 부분에만 집중했습니다. 매일 텍스트 편집기로 Vim을 사용하는 분들은 Vims 텍스트 편집 기능을 추가하고 더 좋게 만드는 플러그인이 많이 있다는 것을 알아야 합니다. 그러나 이 논의는 다른 날로 미루십시오.