LunarVim 설치 가이드 LunarVim이란? 2015년 neovim이 출시되고 나서 5년이 넘는 기간 동안 neovim이 제공하는 훌륭한 native API를 이용해서 수많은 플러그인들이 릴리즈 되어 왔습니다. LunarVim은 이 플러그인들을 모아서 IDE처럼 사용해보고자 2021년에 릴리즈된 opinionated neovim입니다. 왜 LunarVim을 써야 하나요? 해보신 분들은 아시겠지만 neovim을 손수 IDE만큼 기능을 갖출 수 있게 플러그인을 설치하는 것은 생각보다 쉽지 않습니다. 플러그인을 선별하는 것부터 에러없이 설치하고 config까지 세팅하는 것은 꽤나 시간과 정신력을 갉아먹는 일이죠. 그러므로 LunarVim은 다음과 같은 분들에게 추천드립니다: 프로그래밍에 이제 막 입문했는..
DAP 세팅 lunarvim(혹은 neovim)에서 DAP를 세팅하는 방법에 대해 알아봅니다. DAP란? DAP는 마이크로소프트에서 본인들의 제품인 vscode에 적용하기 위해 작성한 명세서로 LSP 와 같은 개념으로 이해할 수 있습니다. 다만 대부분의 텍스트 에디터에서 LSP는 중요한 기능이므로 first-class 취급을 받는데 반해 DAP는 상대적으로 등한시되는 부분이 분명히 존재합니다. 실제로 neovim에서 DAP는 built-in이 되어있지 않기도 하며 이로 인해 기본적인 세팅을 하는데 상당한 어려움이 존재하여 이에 대한 가이드를 작성합니다. DAP 구조 이해하기 DAP는 크게 아래 3개의 컴포넌트로 구성되어 있습니다. DAP Adapter 위에서도 언급하였듯이 DAP는 실체가 없는 명세서이므..
일반적인 환경이라면 ~/.vimrc에 다음과 같은 설정 한줄만으로 neovim의 y, d, c 등의 커맨드가 OS의 클립보드가 복사가 되어야 합니다. set clipboard+=unnamedplus:checkhealth를 통해 clipboard의 동작 여부를 확인해보면 제대로 동작하고 있다면 다음과 같이 나와야 합니다. ## Clipboard (optional) - OK: Clipboard tool found: win32yank하지만 WSL2의 환경에서 동작이 되지 않는 경우 다음과 같은 에러 메시지를 보게 됩니다. ## Clipboard (optional) - WARNING: No clipboard tool found. Clipboard registers (`"+` and `"*`) will not w..
ESC 클릭시에 한영 전환되도록 설정하는 스크립트는 많이 존재하는데 특정 프로그램 실행 중에만 한영 전환 되도록 하는 스크립트를 찾을 수 없어 해당 코드를 공유하고자 합니다. #If WinActive("ahk_exe notepad.exe") OR WinActive("ahk_exe notepad++.exe") OR WinActive("ahk_exe Code.exe") OR WinActive("ahk_exe studio64.exe") OR WinActive("ahk_exe idea64.exe") OR WinActive("ahk_exe webstorm64.exe") $Esc:: if(IME_CHECK("A")) Send, {VK15} Send, {Escape} return #If /* IME check */ ..
Capslock을 오래(0.1초 이상) 누르고 있으면 Ctrl로 동작하고 0.1초 이내로 짧게 누르는 경우 0.1초 이내에 Capslock 요청이 한 번 더 온다면 Esc로 동작, 짧게 눌렀고 요청이 한 번 더 오지 않는다면 한영전환(vk15)로 동작하게 된다. Ctrl을 누르는 경우 Modifier key로 동작하게 하기 위함(다른 키가 더 입력되기를 기다리는)이 대부분이기 때문에 오래 누르고 있는 경우 {Control Down}으로 인식하고 로직이 끝난 후에 {Control Up}을 진행한다. $Capslock:: KeyWait, Capslock, T0.1 if (ErrorLevel) ;long press Send, {Ctrl Down} else { KeyWait, Capslock, D T0.1 ;s..
문제점 vscode에서 vim 플러그인을 사용할때 다음과 같은 문제가 발생했다. 한글 입출력할때 글자가 씹히거나 깨지는 경우 한글 입력으로 설정되어 있을때 normal 모드 진입이 되지 않는 문제 대부분의 문제는 한글의 입출력과 관련돼서 발생했는데 구글링해본 결과 꽤나 역사가 깊은 버그인걸로 보였고 많은 사람들이 vim 대신 neovim 플러그인은 한글 관련된 버그가 발생하지 않는 점으로 추천하여 vim 플러그인 대신 neovim 플러그인을 사용하기로 결정하였다. 설치 바이너리 다운로드 및 설치 neovim을 사용하기 위해서는 바이너리 파일을 먼저 설치해야 한다. 다만 문제는 WSL2의 apt나 brew는 버전 업데이트가 되고 있지 않아 22.12.08 기준으로 0.4.3 버전으로 neovim 플러그인을..
Vimium-C 많은 사람들이 Vimium을 사용하면 좋을 것같다는 생각에 튜토리얼을 작성하게 되었다. 비개발자들에게도 매우 편리한 도구가 될 것이지만 Vim을 좋든 자든 사용해야 되는 개발자들에게 적당한 찍먹의 수단으로 사용할 수 있을 것으로 생각한다. Vimium이란? 개발자들에게 높은 러닝 커브로 악명높은 Vim이라는 도구가 있다. 이 Vim에서 사용하고 있는 키매핑을 브라우저에서도 그대로 사용할 수 있도록 익스텐션의 형태로 제공하는 것이 _Vimium_이다. Vim이 고통스러운 이유는 무작위로 매핑된 것만 같은 키조합들을 전부 외워서 써야한다는 점과 편집 모드와 이동 모드가 따로 존재한다는 점들을 들 수 있을 것이다. 하지만 Vimium에선 Vim의 좋은 점들만 직관적으로 키매핑을 해두어 크게 억..
위아래로 빠르게 이동하고 싶을때 Vim을 이용해서 위아래로 빠르게 이동하는 방법에 있어 정답이 딱 정해져있진 않고 상황에 맞게 사용할 수 있게 여러 커맨드를 익혀두고 이용하는 것이 좋다. 문장의 처음으로 가고 싶다면 G, 마지막은 gg를 이용한다. 단락별로 이동한다면 { }를 이용한다. 문장별로 이동하고 싶다면 ( )를 이용한다. { }보다 조금 더 세밀한 움직임 가능. 단어를 알고 있다면 /검색할단어와 n N을 이용해서 찾아갈 수 있다. , 를 이용해서 { } 커맨드보다 더 빠르게 이동할 수 있다. :number로 정확한 라인에 찾아갈 수도 있고 :+number :-number를 이용해서 relativenumber를 이용해 상대적인 라인으로 이동할 수 있다. :+ - 대신에 단순히 {number}j,k..
.gitignore 파일이 프로젝트 최상단 (== git이 관리하는 프로젝트의 root)에 존재하지 않는 경우 .gitignore 파일을 생성한다. $ vim .gitignore 그리고 파일 내부에 단순하게 ignore하길 원하는 file명이나 directory명을 입력한다. (상대 경로나 절대 경로 등으로 입력할 필요가 없다.) # 이렇게만 적용해도 된다. MyClass.java # 실제 경로 src/main/java/com/project/api/my-directory/MyClass.java 트래킹이 되어 있지 않은 상태라면 여기까지 설정 후 commit 커맨드를 누르면 ignore 되는 상태가 되는 것을 확인할 수 있다. 만약 이미 git이 해당 파일을 tracking 하고 있다면 다음 커맨드를 이용..
staging과 commit 그리고 push까지 한번에 할 수 있는 function을 만들어서 등록하고 사용하는 방법은 다음과 같다. .bashrc 파일 열기 vim ~/.bashrc G를 눌러 파일의 마지막으로 간 다음 function을 등록 function의 이름은 아무거나 상관없다. function lazygit() { git add . git commit -a -m "$1" git push } 변경된 .bashrc 파일을 source로 등록. source ~/.bashrc 사용 예시 lazygit "My commit msg" 다음과 같이 소스를 변경하면 "" (quotes)없이 커밋 메시지를 등록할 수 있다. git commit -a -m "$1" //to git commit -a -m "$*" ..
- Total
- Today
- Yesterday
- ModelAttribute
- IDE
- RequestParam
- 루나빔
- neovim
- 배포
- JavaScript
- lunarvim
- 도커
- 아키텍처
- RequestBody
- vim
- Dap
- 레디스
- RequestPart
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |