D.ohnald

vear : vim += bear

나는 bear 앱을 무척 좋아한다. 옵시디언 등 다른 메모 앱이 많이 생겼지만 여전히 bear를 쓴다. 보기에 제일 예쁘고, 모바일을 포함한 동기화와 사용 편의를 생각할 때 bear에서 벗어나고 싶지 않다.

그리고 나는 vim을 좋아한다. 많은 앱에서 vim 모드를 켜고 사용한다. 글을 쓸 때도 vim을 쓰는 경우가 많다.

vim의 단점은 모바일이다. 모바일에서는 vim을 이용할 수 없다. vimwiki로 콘텐츠를 관리하다가 포기하고 bear를 계속 쓰는 이유다.

bear의 단점은 vim이다. vim 모드를 제공하지 않아 글을 쓰다가 불편해지는 순간들이 생긴다.

어떤 사람은 vim을 포기하지 못해 bear를 포기했는데Switching from Bear to vim-based notes | chmanie.com 나는 둘 다 포기할 수 없다. 둘 다 이용할 수는 없을까 고민하다가 vim에서 bear를 이용하는 방법을 떠올렸다.

x-callback-url

맥 생태계의 많은 앱은 x-callback-url을 제공하고, 이를 이용해 사용자들이 직접 api를 호출하며 활용할 수 있다. x-callback-url을 잘 엮으면 vim을 쓰면서 bear 콘텐츠를 관리할 수 있겠다는 생각이 들어 api 문서를 확인하고 생각을 코드로 옮겼다.

터미널에서 x-callback-url을 활용할 수 있는 xcall 앱이 필요하다. 그리고 x-success의 응답 json을 해석하기 위해 jq도 필요하다. 콘텐츠 조회를 위해 fzf도 추가했다(johngrib님의 fav-dir vim plugin을 보며 참고했다). 시간이 더 많거나 지식이 많으면 vim plugin으로 만들 수도 있겠지만 그러기엔 지식이 부족하고 살기 바빠서 쉘 스크립트 두 개와 vimrc에 코드를 추가해 작업했다. 나는 지금 상태로도 잘 쓸 수 있지만 누군가가 더 발전시켜준다면 좋겠다.

사용방법

vear 코드가 있는 디렉토리에서 vear를 입력하면 최근 n 일 변경 데이터를 검색해서 노출한다(search api). 여기에서 항목을 선택하면 콘텐츠를 가져와(open_note api) 문서로 저장하고 vim으로 보여준다. 편집을 하고 저장을 누르면 bear에 저장한다(add-text api). 문서를 닫으면 문서 파일을 삭제한다. github에 코드를 공개했다. https://github.com/dohnald/vear

미리보기 추가 #@2022/08/30#

미리보기를 넣기 위해 여러 방법을 고민하다가 shell script를 하나 더 만들었다. 이제 리스트에서 미리보기도 할 수 있다! readme에 화면 캡쳐를 추가했다.


피드백은 트위터로 주세요