Mac에서 Neovim 사용을 위한 기본 설정Tools2024. 12. 4. 23:38
Table of Contents
1.Neovim, ripgrip 설치
# neovim 설치 시 최신 버전인 0.10.2 버전으로 설치
# lazy >= neovim 0.8.0 필수
brew install nvim
# 만일 최신 버전이 설치되지 않는 경우 소스 빌드로 설치
# neovim 소스코드 복사
git clone https://github.com/neovim/neovim.git
cd neovim
# 최신 릴리스로 이동
git checkout stable
# 빌드 및 설치
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install
# 라이브 검색을 위한 패키지 설치
brew install ripgrep
# hack nerd font 설치
# 다운로드 후 운영체제 설치
curl -LO https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/Hack.zip
# nerd font icon cheat sheet
https://www.nerdfonts.com/cheat-sheet
2.~/.config 폴더에 nvim 폴더 복사
3.복사 후 nvim 명령어로 실행 후 Lazy 기반 플러그인 자동 설치
4.Neovim 플러그인 소개
- alpha.lua: Neovim의 시작 화면을 꾸미는 플러그인
- comment.lua: 코드 주석 처리를 간단하게 만들어주는 플러그인
g + c + c 키 조합으로 한줄 주석
v 모드에서 코드 블럭 선택 후 g + c 키 조합으로 주석
- conform.lua: 코드 포맷팅을 자동화하는 플러그인
# 필요한 formmater 추가
return {
"stevearc/conform.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
local conform = require("conform")
conform.setup({
formatters_by_ft = {
lua = { "stylua" },
javascript = { { "prettierd", "prettier" } },
typescript = { { "prettierd", "prettier" } },
javascriptreact = { { "prettierd", "prettier" } },
typescriptreact = { { "prettierd", "prettier" } },
python = { { "iosort", "black" } }
},
format_on_save = {
timeout_ms = 500,
lsp_fallback = true,
},
})
end,
}
- gruvbox.lua: 인기 있는 컬러 스킴 플러그인
- indent-blankline.lua: 코드의 들여쓰기 레벨을 시각적으로 보여주는 플러그인
- lsp.lua: LSP (Language Server Protocol) 관련 설정을 담당하는 플러그인
# https://github.com/williamboman/mason-lspconfig.nvim
# 필요한 언어 lsd 서버 주소를 github에서 찾아 추가한다.
{
"williamboman/mason-lspconfig.nvim",
config = function()
require('mason-lspconfig').setup({
ensure_installed = { "lua_ls", "ts_ls", "pyright", "rust_analyzer", "bashls" }
})
end
},
shift + k 키 조합으로 code advisor 호출
g + d 키 조합으로 선택 함수 이동
오류, 경고 코드라인에서 space + c + a 키 조합으로 조치
- lualine.lua: 상태 라인을 사용자 정의할 수 있는 플러그인
- neo-tree.lua: 파일 탐색기 플러그인
space + e 키 조합으로 왼쪽 파일 탐색기 활성화 또는 비활성화
ctrl + h, ctrl + l 키 조합으로 왼쪽 탑색기와 오른쪽 편집기 이동
- nvim-autopairss.lua: 괄호와 따옴표 등을 자동으로 닫아주는 플러그인
- nvim-cmp.lua: 코드 자동 완성 플러그인으로, LSP, 스니펫, 버퍼 등과 통합되어 강력한 코드 완성 기능을 제공
- nvim-treesitter.lua: 코드 하이라이팅 및 구조 분석을 위한 플러그인
# 코드 하이라이팅 및 구조 분석이 필요한 언어 추가
return {
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local configs = require("nvim-treesitter.configs")
configs.setup({
ensure_installed = { "lua", "javascript", "python", "rust", "bash" },
sync_install = false,
highlight = { enable = true },
indent = { enable = true },
})
end
}
- nvim-ufo.lua: 코드 폴딩 관련 플러그인
- telescope.lua: 파일 탐색 및 검색 플러그인
space + f + f 파일 검색
space + f + g 파일 컨텐츠 검색
5.Mason으로 Neovim 필수 패키지 설치 목록
:Mason 명령어를 이용해서 mason.nvim 호출
이후 필요한 패키지를 검색해서 설치
설치 방법은 필요한 패키지를 선택 후 i 버튼을 이용해서 설치
설치된 패키지의 버전의 업데이트 방법은 u 버튼을 이용해서 업데이트 설치
반응형
'Tools' 카테고리의 다른 글
Neovim 에서 Flutter 플러그인 설정과 명령어 (0) | 2024.12.10 |
---|---|
Eclipse와 Subversion, Subclipes 호환성 문제 발생 시 조치 (0) | 2024.11.25 |
jupyter lab 실행 시 완료 후 결과가 나오질 않을 경우 (0) | 2023.10.05 |
git에서 user.name, user.email 요구 장애 해결 (0) | 2020.04.06 |
리눅스 환경에서 lombok 설치 후 getter/setter 장애 처리 방법 (0) | 2020.01.07 |
@kogun82 :: Ctrl+C&V 로 하는 프로그래밍
Korean BioInformation Center(KOBIC) Korea Research Institute of Bioscience & Biotechnology Address: #52 Eoeun-dong, Yuseong-gu, Deajeon, 305-806, KOREA +82-10-9936-2261 e-mail: kogun82@kribb.re.kr Blog: kogun82.tistory.com Homepage: www.kobic.re.kr
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!