nvim ๊ธฐ๋ณธ ์ œ๊ณต ๊ธฐ๋Šฅ๋“ค

Intro ์ด๋ฌธ์„œ๋Š” ํ˜„์žฌ ์ตœ์‹  ๋ฒ„์ „ nvim 0.8.1์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค. nvim์˜ ๊ธฐ๋ณธ ๋‚ด์žฅ ๊ธฐ๋Šฅ์œผ๋กœ๋„ ๋งค์šฐ ํ›Œ๋ฅญํ•œ ๋งŽ์€ ๊ฒƒ๋“ค์ด ์ œ๊ณต๋œ๋‹ค. ์ค‘์š”ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋œ ๊ฒƒ๋“ค๋„ ๋งŽ๋‹ค. ์ค‘๋ณต๋˜๊ฑฐ๋‚˜ ๋ถˆํ•„์š”ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŽ์ด ์„ค์น˜ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๊ธฐ๋ณธ ์ œ๊ณต ๊ธฐ๋Šฅ์„ ์ถฉ๋ถ„ํžˆ ์‚ดํŽด๋ณด๊ณ  ๊ฐ€๋ณ๊ณ  ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๋“ฏ. Features lsp(Language Server Protocol) ๋‚ด์žฅ treesitter ๋‚ด์žฅ ๋งจํŽ˜์ด์ง€์™€ ํ„ฐ๋ฏธ๋„์—๋ฎฌ๋ ˆ์ดํ„ฐ: :Man, :terminal vim๊ณผ ์ฐจ์ด ๋น„๊ต: :help nvim-from-vim ํ›Œ๋ฅญํ•œ defaults ๊ธฐ๋Šฅ๋“ค(์•„๋ž˜ Defaults ์„น์…˜ ์ฐธ์กฐ) Defaults help๋กœ ํ™•์ธ :help defaults command-line highlighting commands: :checkhealth nvim์˜ ์ƒํƒœ ๊ฒ€์‚ฌ :dr[op] {file} Edit the first {file} in a window :Man {name} manpage view :match can be invoked before highlight group is defined :source reset config works with lua :write with ++p flag creates parent directories :terminal terminal support ๋งจํŽ˜์ด์ง€ ๋ณด๊ธฐ - man.lua๋กœ ๋™์ž‘ํ•œ๋‹ค. :Man printf printf() ํ•จ์ˆ˜ ๋งจํŽ˜์ด์ง€ ๋ณด๊ธฐ(์ˆ˜ํ‰) :vertical Man printf ์ฐฝ ์ˆ˜์ง๋ถ„ํ•  ๋ณด๊ธฐ :Man {sect} {name} ์„น์…˜ ์ง€์ • ๋งจํŽ˜์ด์ง€ :help Man ๊ด€๋ จ ๋„์›€๋ง ๋ณด๊ธฐ Links neovim.io https://neovim.io/

2022-12-17 ยท 143 words

Alpine - Lua Language Server Install

25-07-27: Alpine Linux 3.2x ๊ธฐ์ค€์œผ๋กœ luajit-nvim-lspconfig ์ฐธ๊ณ  23-08-08: nvim ๋ฒ„์ „์ด 3.18๋Œ€๋กœ ์˜ฌ๋ผ์˜ค๊ณ , Community Repository๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํŒจํ‚ค์ง€๋กœ ๊ฐ„๋‹จํžˆ ์„ค์น˜ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์ตœ์ ํ™”๋‚˜ ์ปดํŒŒ์ผ ์ž์ฒด์— ์˜๋ฏธ๋ฅผ ๋‘์ง€ ์•Š๋Š”๋‹ค๋ฉด ํŒจํ‚ค์ง€๋กœ ์„ค์น˜ํ•˜์ž. PREINSTALL clang ๋ฐ luajit ๋ฐ ๊ฐœ๋ฐœ ํˆด ์„ค์น˜ ํ•„์ˆ˜: build-base, clang, clang-extra-tools(clangd), cmake, luajit, luajit-dev # apk add --no-cache build-base clang clang-extra-tools lld compiler-rt compiler-rt-static cmake git luajit luajit-dev bash bash-completion grep rlwrap bat fd curl wget rsync sqlite jq tree ninja ์„ค์น˜ - alpine 3.16.3 ํ˜„์žฌ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€ ์—†์Œ # git clone https://github.com/ninja-build/ninja && cd ninja # cmake -Bbuild-cmake # cmake --build build-cmake # ./build-cmake/ninja_test # cp ./build-cmake/ninja /usr/local/bin/ # which ninja # PATH ํ™•์ธ lua-language-server ์„ค์น˜ # cd /usr/local/ # git clone --depth=1 https://github.com/sumneko/lua-language-server # cd lua-language-server # git submodule update --depth 1 --init --recursive # cd 3rd/luamake # ./compile/install.sh # cd ../.. # ./3rd/luamake/luamake rebuild # ./bin/lua-language-server --version # cat<<EOF > /usr/local/bin/lua-language-server #!/usr/bin/env bash exec "/usr/local/lua-language-server/bin/lua-language-server" "$@" EOF # chmod 755 /usr/local/bin/lua-language-server # which lua-language-server # PATH ํ™•์ธ clangd ์„ค์น˜ clangd๋Š” c,c++์„ ์ง€์›ํ•œ๋‹ค. clangd๋Š” clang-extra-tools ํŒจํ‚ค์ง€์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. Links ninja build howto https://github.com/ninja-build/ninja lua-language-server - Getting Started https://github.com/sumneko/lua-language-server/wiki/Getting-Started#command-line

2022-11-21 ยท (updated 2025-07-27) ยท 179 words

lua-dev.nvim - nvim์—์„œ lua ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ํ”Œ๋Ÿฌ๊ทธ์ธ

Intro lua๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ ํ•จ์ˆ˜๋‚˜ ์ž๋™์™„์„ฑ์„ ๋„์™€์ฃผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‹ค. nvim์˜ lua ๋‚ด์žฅํ•จ์ˆ˜ ๋ฐ api๋„ ์ง€์›ํ•œ๋‹ค. ๋‹ค๋ฅธ lsp ์„œ๋ฒ„์˜ ์„ค์น˜์™€ ์„ค์ •๋ณด๋‹ค ์–ด๋ ค์›Œ์„œ ๋งŽ์ด ๊ณ ์ƒํ–ˆ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ lua-language-server๋ฅผ ์ œ๋Œ€๋กœ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์„œ๋ฒ„๋ฅผ ์ปดํŒŒ์ผ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋‹ค์šด ๋ฐ›์•„ ์“ฐ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. Requirements nvim-cmp :์ž๋™์™„์„ฑ ํ”Œ๋Ÿฌ๊ทธ์ธ nvim-lsp :Language Server Protocol ํ”Œ๋Ÿฌ๊ทธ์ธ cmp-nvim-lsp : lsp ์ž๋™์™„์„ฑ ์ง€์› ํ”Œ๋Ÿฌ๊ทธ์ธ sumneko lua-language-server : Lua lsp server ํ”„๋กœ๊ทธ๋žจ (lua 5.1 ~ 5.4, luaJit ๋ชจ๋‘ ์ง€์›) lua-language-server Install ์•„๋ž˜์—์„œ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋‹ค์šด๋กœ๋“œ (๋ฆฌ๋ˆ…์Šค 64bit๊ธฐ์ค€) https://github.com/sumneko/lua-language-server/releases ์ ๋‹นํ•œ ์œ„์น˜์— ์„ค์น˜ $ mkdir ~/data/lua-language-server && cd lua-language-server $ tar xvfz ~/Download/lua-language-server-3.5.5.tar.gz . $ cat <<EOF > ~/bin/lua-language-server # ์‹คํ–‰์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ #!/usr/bin/bash exec "~/data/lua-language-server/bin/lua-language-server" "$@" EOF $ chmod u+x ~/bin/lua-language-server # ~/bin ์ด PATH์— ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ $ lua-language-server --version # ์—๋Ÿฌ ์—†์ด ๋ฒ„์ „์ด ์ถœ๋ ฅ๋˜๋ฉด ์„ฑ๊ณต lua-dev Install ๋จผ์ € nvim-cmp nvim-lsp, cmp-nvim-lsp๊ฐ€ ์„ค์น˜ ๋ฐ ์„ค์ •๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ...

2022-09-12 ยท (updated 2022-10-31) ยท 245 words

nvim-tree - File Explorer

Cut, copy, paste, rename, delete, create ์‚ฌ์šฉ๋ฒ• ์ถ”๊ฐ€ Git Integration Diagnostic Integration (LSP, COC) Live Filtering ๊ฐœ์ธํ™” ์„ค์ • ์†Œ๊ฐœ ๋น ๋ฅด๊ณ  ์‚ฌ์šฉ์ด ํŽธ๋ฆฌํ•˜๋ฉฐ nvim์—์„œ NerdTree๋ฅผ ๋Œ€์ฒดํ•  ๋งŒํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‹ค. ๊ธฐ๋Šฅ์ด ์•„์ฃผ ๋งŽ๋‹ค. ์กฐ๊ธˆ์”ฉ ๊ณต๋ถ€ํ•ด์„œ ํ™œ์šฉํ•˜์ž. ์„ค์น˜ Add plugin set to ~/.config/nvim/lua/plugins.lua use 'kyazdani42/nvim-web-devicons' -- web-devicons (optional) use 'kyazdani42/nvim-tree.lua' -- file explorer Install Package in command line mode :w :luafile % :PackerInstall Add nvim-tree setup to ~/.config/nvim/lua/settings.lua -- nvim-tree ์„ค์ • require'nvim-tree'.setup() -- ์„ค์ • ๋กœ๋“œ ๋ฐ ์ดˆ๊ธฐํ™” nmap('<F2>',':NvimTreeToggle<CR>') -- ํ† ๊ธ€ ํ‚ค๋งต ์„ค์ • Source settings.lua in command line mode :w :luafile % ๊ธฐ๋ณธ ํ‚ค๋งคํ•‘ ์ž์ฃผ ์“ฐ๋Š” ๊ฒƒ๋งŒ ์š”์•ฝํ•˜๊ณ  ์ž์„ธํ•œ ๊ฒƒ์€ ์•„๋ž˜ ์ฃผ์†Œ ์ฐธ์กฐ. ...

2022-09-10 ยท 189 words

AstroNvim

Intro neovim(nvim)์— ๋‹ค์–‘ํ•œ ์„ค์ •๊ณผ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•˜์—ฌ ๊ฐœ๋ฐœํ™˜๊ฒฝ IDE๋ฅผ ๊ตฌ์„ฑ Lua ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅด๊ณ  ์พŒ์ ํ•˜๋‹ค. ์ž๋™์™„์„ฑ, ํŒŒ์ผํƒ์ƒ‰, ๊ฒ€์ƒ‰๊ธฐ๋Šฅ, snipet๋“ฑ ํ•„์š”ํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ์ด ๊ธฐ๋ณธ ์ œ๊ณต๋œ๋‹ค. ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉ์ž ์ •์˜๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. Install $ mv ~/.config/nvim ~/.config/nvim.bak # ๊ธฐ์กด nvim ์„ค์ •์„ ๋ฐฑ์—… $ mv ~/.local/share/nvim/site ~/.local/share/nvim/site.bak # ๊ธฐ์กด ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐฑ์—… $ git clone https://github.com/AstroNvim/AstroNvim ~/.config/nvim # ๋ณต์‚ฌ $ nvim +PackerSync # ์„ค์น˜ Setup Install LSP (Language Server Protocol) - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ง€์› ์„ค์น˜ ๋‚˜์ค‘์— ์ถ”๊ฐ€ ์„ค์น˜์‹œ Space + l + I ๋งตํ‚ค ์‚ฌ์šฉ :LspInstall clangd - c, c++ :LspInstall rust-analyzer - rust :LspInstall luau-lsp - lua :LspInstall marksman - markdown :LspInstall jedi-language-server - python3 Install Language Parser ...

2022-09-03 ยท 410 words