그래, 가끔 “Vim에서” GitHub을 보자!

vimrc 건드리기 좋은 목요일입니다. 😉

기술 블로그 담당자가 글을 내놓으라고 닥달하니, 예전에 만들었던 플러그인이나 한번 꺼내볼까 합니다:

https://github.com/junegunn/vim-github-dashboard

vim-github-dashboard 실행 화면

Vim 상에서 GitHub API를 이용해 dashboard 페이지를 보여주는 플러그인입니다. 왜 멀쩡한 브라우저를 놔두고 이런 짓을 한 것이냐 물으신다면 … 그것 참 좋은 질문이네요.

Vimscript 만 가지고는 API 결과를 받아오는 것이 불가능하므로 Ruby interface를 이용합니다만 (:help ruby) OS X 의 시스템 디폴트 Vim 에서 기본적으로 지원하기 때문에 사용하시는데 문제는 없을 겁니다.

제공하는 커맨드는 다음과 같습니다.

  • GHDashboard[!] [user]
    • 특정 유저의 dashboard 화면
  • GHActivity[!] [user|repo]
    • 특정 유저 혹은 repository 의 활동 내역

Public GitHub 의 경우 조회만 하는 경우는 인증이 필요 없기 때문에 느낌표를 붙여서 실행하시면 되겠습니다.

:GHD! junegunn
GHD 명령으로 사용자의 대시보드 보기

CTRL-N / CTRL-P 로 링크 사이를 이동할 수 있고, Enter key 나 o를 누르면 해당 페이지가 브라우저에서 열립니다.

매번 본인의 ID 를 입력하는 것이 번거롭다면 다음과 같은 설정을 vimrc 에 추가하세요.

let g:github_dashboard = { 'username': 'junegunn' }

GHA 커맨드도 마찬가지 방식으로 사용합니다.

:GHA! torvalds
GHA 명령으로 torvalds의 활동 보기

Linus 선생님이 무얼하며 지내시는지 볼 수도 있고요,

:GHA! torvalds/linux
GHA 명령으로 linux 프로젝트의 활동 보기

Linux에 무슨 일들이 벌어지고 있는지도 간단히 확인할 수 있습니다.

사내에서 사용하는 GitHub Enterprise에 접근하려면 프로파일을 지정해야 하는데요. g:github_dashboard#프로파일명 의 변수를 선언하면 GHD -프로파일명 과 같은 형태로 사용하실 수 있습니다.

다음과 같은 식으로 foo 프로파일을 정의하면 됩니다.

let g:github_dashboard#foo = {
  \ 'username':     'your-github-enterprise-username',
  \ 'password':     ACCESS_TOKEN,
  \ 'api_endpoint': 'https://your-github-enterprise-host-name/api/v3',
  \ 'web_endpoint': 'https://your-github-enterprise-host-name' }

(Access token 은 https://your-github-enterprise-host-name/settings/applications 에서 발급 가능)

이제 foo 프로파일을 사용하여 bar 사용자의 baz 프로젝트에서는 무슨 일이 벌어지고 있나 보려면 다음과 같이 하시면 됩니다. 인증이 필요하므로 ! 이 없는 커맨드를 실행합니다.

:GHA -foo bar/baz

멀쩡한 브라우저 놔두고 왜 vim에서 이런 짓(?)을 하냐는 최초의 질문에 대한 답변은 Emacs 아저씨의 말씀으로 대신하도록 하죠.

Playfully doing something difficult, whether useful or not, that is hacking.

그래도 굳이 사용해야 할 이유를 찾아 보자면, 내가 아닌 다른 사람의 대시보드 화면이나 특정 저장소의 활동 정보를 목록으로 볼 수 있는 페이지가 GitHub 에 없기 때문에 그런 용도로 사용해 보실 수는 있겠습니다.

이 글은 ranked.in 선정 한국 개발자 인기 1위한국 저장소 인기 1위 2관왕에 빛나는 “빔신” jg.choi가 사내 게시판에 올린 글을 저자의 동의를 얻어 옮긴 것입니다. 저자의 깃헙을 방문하시면 다양한 vim 플러그인과 유틸리티들, 그리고 빔신의 vimrc를 보실 수 있습니다.

Latest Posts