Vim 플러그인 · 3 min read · Nov 30, 2025

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

지금까지 Vim에 대한 프로그래밍 관련 플러그인을 다룬 이 시리즈의 기사에서 우리는 Pathogen 플러그인 관리자를 사용한 Vim 플러그인 설치의 기초를 논의했으며, Tagbar, delimitMate 및 Syntastic이라는 총 세 가지 플러그인을 다루었습니다. 이제 이 세 번째이자 마지막 부분에서는 a.vim이라는 또 다른 매우 유용한 플러그인에 대해 논의하겠습니다.

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

A.vim

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

GUI 기반 IDE를 사용할 때는 파일 간 전환이 쉽지만(마우스 클릭 몇 번으로 가능), Vim과 같은 명령줄 IDE를 사용할 경우 상황이 조금 어려워집니다. 그러나 이제 여러분이 추측했듯이, 소스 파일과 헤더 파일 간 전환을 쉽게 해주는 플러그인 - a.vim -이 존재합니다.

사용법으로 넘어가기 전에, 이 플러그인의 설치 과정이 이 기사 시리즈에서 논의한 다른 플러그인 설치 방법과 다르다는 점을 언급할 가치가 있습니다. 이 경우 관련된 단계는 다음과 같습니다:

  • 먼저, 여기로 가서 두 개의 파일(a.vim 및 alternate.txt)을 다운로드해야 합니다.
  • 다음, 다음 디렉토리를 생성합니다: ~/. 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 명령을 사용하여 수직으로 분할합니다.

Vim.a 수직 분할 화면

vim.a 수평 분할 화면

:A 명령을 사용하여 열려 있는 파일 간 전환을 합니다.

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

Vim의 탭과 a.vim.

물론, :AV, :AS, 및 :AT와 마찬가지로 :IHV, :IHS, 및 :IHT 명령도 사용할 수 있습니다.

결론

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

물론, 여기서는 프로그래밍 부분에만 집중했습니다. Vim을 일상적인 텍스트 편집기로 사용하는 분들을 위해, Vim의 텍스트 편집 기능을 추가하고 더욱 향상시키는 수많은 플러그인이 있다는 것을 알아야 합니다. 그러나 이 논의는 다른 날로 미루겠습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.