Neovim 실력 향상 로드맵 — vim·neovim·lazyvim 글을 어떻게 읽을까
Vim 기본기 → Lua → Neovim 내부 → LazyVim 구조 → 플러그인 작성까지, 이 블로그의 vim/neovim/lazyvim 글을 단계별로 큐레이션.
Vim 기본기 → Lua → Neovim 내부 → LazyVim 구조 → 플러그인 작성까지, 이 블로그의 vim/neovim/lazyvim 글을 단계별로 큐레이션.
tmux 구조·설치 → 체감 옵션 → 플러그인 → 세션 부트스트랩 → 클립보드까지, 이 블로그의 tmux 글 5편을 단계별로 큐레이션.
README를 :help로 변환하는 panvimdoc, doc/*.txt vimdoc 포맷(태그·링크·모드라인), :helptags 생성. awesome-neovim 등록 요건인 헬프 문서를 자동으로 만드는 법.
외부 프로세스를 UI 멈춤 없이 돌리는 법. 0.10+ vim.system, 레거시 jobstart, 저수준 vim.uv(libuv), 그리고 콜백을 vim.schedule로 메인 루프에 되돌리는 이유.
augroup로 중복 등록 막기, callback이 받는 args, pattern vs buffer, 자주 쓰는 이벤트, nvim_exec_autocmds로 내 플러그인의 공개 이벤트 만들기까지.
scratch 버퍼 만들기, floating window 띄우기, extmark로 virtual text·하이라이트 붙이기. 거의 모든 플러그인이 화면에 뭔가 그릴 때 쓰는 API와 인덱스 함정을 한 장으로.
플러그인 Lua 코드에 나오는 vim.* 가 대체 뭔지 한 장으로. 옵션 4갈래(o/opt/bo/wo/g), vim.api와 vim.fn의 갈림길, 키매핑·커맨드·오토커맨드·유틸·스케줄링까지.
객체의 내부 상태를 캡슐화를 깨지 않고 스냅샷으로 저장했다가 나중에 되돌리는 패턴. undo/redo의 본체. Command의 역연산 방식과 비교한다.
GoF 23개 중 실무 빈도가 낮은 세 패턴을 한 곳에 모아 짧게 훑는다. 언제 쓰나, 핵심 구조, 그리고 왜 요즘 잘 안 쓰는지까지.
객체 구조는 그대로 두고, 그 위에서 수행할 연산을 별도 Visitor로 분리하는 패턴. 새 연산을 추가할 때마다 모든 클래스를 고치는 일을 막는다.