본문 바로가기
리눅스

Neovim (text editor) Configuration NvChad

by 다움위키 2024. 10. 8.

원문 보기: 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

  • 위의 명령을 실행하면, 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

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을 위한 가볍고 강력한 포매터 플럭인

Screenshots