원문 보기: https://dawoum.duckdns.org/wiki/Neovim_(text_editor)/Configuration_NvChad
NvChad는 lua로 작성된 Neovim 구성으로, 매우 아름다운 UI와 엄청나게 빠른 시작 시간 (약 0.02초 ~ 0.07초)을 갖춘 기본 구성을 제공하는 것을 목표로 합니다.
Pre-requisites
- Neovim 0.10.
- Nerd Font - 터미널에서 글꼴을 설정하십시오.
- 설정한 Nerd 글꼴이 Mono로 끝나면, 작은 아이콘이 생기므로, 그런 글꼴을 사용하지 마십시오!
- 예제 : D2CodingLigature Nerd Font Propo와 같은 글꼴을 설정하고
D2CodingLigature Nerd Font Mono와 같은 글꼴을 설정하지 마십시오.
- Ripgrep - Telescope를 이용한 grep 검색에는 필수입니다 (선택 사항).
Install
- git clone https://github.com/NvChad/starter ~/.config/nvim && nvim
- 위의 명령을 실행하면, lazy.nvim가 플럭-인을 다운로드하므로 완료 후에 :MasonInstallAll를 실행하십시오.
- rm -rf ~/.config/nvim/.git
Update
- Nvim 실행 후에 :Lazy sync를 실행하십시오.
Uninstall
- mv ~/.config/nvim ~/.config/nvim.nvchad
- rm -rf ~/.local/state/nvim
- rm -rf ~/.local/share/nvim
- rm -rf ~/.cache/nvim
Inbuilt features
이 내용은 원본 문서에서 동영상을 참조할 수 있습니다.
Base46
- Base46는 NvChad의 고성능 테마 플럭-인이고 68개의 테마가 있습니다.
How it works?
- 강조-표시 그룹을 가져옵니다
- 일부 계산을 수행합니다. 즉, 재정의된 강조-표시 그룹, 새로운 강조-표시 그룹, 테마 덮어쓰기, 사용자 정의 테마 등을 확인합니다.
- 이제, base46은 이 모든 것을 바이트코드로 컴파일합니다.
- 통합 파일은 기본적으로 로드되지 않습니다; 예를 들어, telescope, nvimtree 등의 강조-표시 그룹은 다른 파일에 저장됩니다.
- 강조-표시 그룹은 필요할 때 로드되는 지연 로드 방식입니다.
- 예제 : dofile(vim.g.base46_cache .. "cmp")
Theme switcher
- base46 플럭-인 + plenary.nvim을 사용하여 테마를 즉석에서 다시 로드하는 telescope.nvim을 탑재한 테마 전환기입니다.
Statusline
- 4개의 상태 표시줄 스타일을 갖춘 자체 상태 표시줄 모듈 (UI 플럭-인)을 보유하고 있습니다.
Tabufline
- NvChad의 tabufline 모듈 (UI 플러그인에서 제공)은 tabline & bufferline을 섞은 것입니다.
- 그것은 버퍼 및 탭을 관리하고, 해당 버튼을 클릭할 수 있습니다.
- 각 탭에는 자체 버퍼의 모음이 저장되어 있고, 탭라인은 해당 버퍼만 표시할 것입니다.
- Linux/Windows에서 각 창이 자체 작업 공간에 있는 것과 비슷한 작업 공간이라고 생각하시면 됩니다. 반면 Vim에서는 모든 각 탭에서 버퍼가 모든 탭에 표시됩니다!
Term
- Neovim 터미널 버퍼에서 명령을 토글하고 실행하기 위한 NvChad의 터미널 모듈
- 그것의 기능은 다음과 같습니다:
- 새로운 터미널 윈도우를 생성합니다.
- 토글-가능 터미널 윈도우를 생성합니다.
- 코드 실행기에 대한 터미널 윈도우를 생성합니다.
- 위의 모든 기능은 떠 있는 창, 수평 창, 수직 창을 허용합니다.
- 각 창에는 자체 cmd/size/cmd/highlight 그룹이 있을 수 있습니다.
- telescope 선택기 (:Telescope terms)와 함께 사용하면 터미널 버퍼 leader + pt가 표시됩니다.
- ui 플럭-인 문서를 확인하십시오.
Dashboard
- Nvdash는 NvChad의 최소 대시보드 모듈입니다. 현재로서는 매우 간단하지만, 앞으로 더 많은 기능이 추가될 예정입니다!
- 이를 실행하는 명령어는 :Nvdash이고 시작 시 비활성화되어 있습니다. 구문은 nvconfig.lua에서 확인하고 chadrc에서 재정의하십시오.
NvCheatsheet
- CSS의 메이슨리 레이아웃과 비슷한 레이아웃을 가진 자동-생성된 매핑 치트시트 모듈.
- 2 테마 ( grid & simple )가 있습니다.
- 토글하는 명령어 : NvCheatsheet 및 매핑 leader + ch
General Neovim plugins
- 이들 플럭인은 nvchad와 관련이 없고, 플럭인을 약간 조정하고 UI 관련 플럭인을 테마로 삼을 뿐입니다.
Telescope.nvim
- Telescope.nvim은 목록에 대한 확장성이 뛰어난 퍼지 파인더입니다. Neovim 코어의 최신 멋진 기능을 기반으로 구축되었습니다. Telescope는 모듈성을 중심으로 하여 쉬운 사용자 정의가 가능합니다.
- nvchad에서 2가지 telescope 스타일 ( bordered and borderless )이 있습니다.
Nvim-tree.lua
- nvim-tree.lua는 Lua로 작성된 Neovim용 파일 탐색기 트리입니다.
Nvim-cmp
- nvim-cmp는 Lua로 코딩된 Neovim의 자동-완성 플러그인입니다.
- nvchad에서 여러 cmp 스타일이 있습니다.
- 이것은 everblush 테마의 cmp 모양일 뿐이며, 57개 이상의 테마가 있습니다! 사용자 구성 (chadrc) 자체에서 cmp 아이콘, cmpkind txt 등을 숨길 수 있습니다!
Auto-completion & LSP
- nvim-lspconfig는 자동-완성에 대해 cmp와 함께 사용되고 스니펫 자동-완성에 대해 luasnip + friendly-snippets를 사용합니다!
Other plugins
- lazy.nvim - Neovim에 대한 현대 플럭인 관리자
- whichkey.nvim - 고정되는 키 바인딩을 만듭니다. WhichKey는 Neovim 0.5에 대해 lua 플럭인으로, 입력을 시작한 명령의 가능한 키 바인딩을 팝업으로 표시합니다.
- nvim-colorizer.lua - 가장 빠른 Neovim 컬러라이저, 16진수 색상, HSL 코드 등.
- nvim-treesitter - Nvim Treesitter 구성과 추상화 계층, 구문 강조-표시와 자동-들여쓰기에 사용합니다.
- blankline - Neovim의 들여쓰기 가이드, 즉 indentline 플럭인입니다.
- gitsigns.nvim - 버퍼에 대한 Git 통합
- nvim-autopairs
- mason.nvim - Neovim이 실행되는 모든 곳에서 실행되는 Neovim에 대한 휴대용 패키지 관리자. LSP 서버, DAP 서버, 린터, 및 포매터를 쉽게 설치하고 관리합니다.
- conform.nvim - Neovim을 위한 가볍고 강력한 포매터 플럭인