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

Neovim ์„ค์น˜ ๋ฐ ์„ค์ •

20-08-08: alpine ์„ค์น˜ ์ถ”๊ฐ€ ๊ฐœ์š” https://github.com/neovim/neovim/releases ์—์„œ ์ตœ์‹  ์•ˆ์ • ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œ ๊ทธ๊ฐ„ ๋งŽ์€ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ์„ค์น˜ ๋ฐ ์—๋Ÿฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด neovim v0.7 ์ด์ƒ์„ ์„ค์น˜ํ•œ๋‹ค. ์•„๋ž˜ ๋‚ด์šฉ์€ ์šฐ๋ถ„ํˆฌ 22.04๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค. ์šฐ๋ถ„ํˆฌ PPA ํŒจํ‚ค์ง€๋กœ ํ˜„์žฌ neovim์€ v0.7.2์ด๋‹ค. NVIM์˜ ํŠน์ง• luaJIT์ด ๊ธฐ๋ณธ ๋‚ด์žฅ๋˜์–ด lua๋ฅผ ์„ค์ •์—์„œ ๋ชจ๋“ˆ๊นŒ์ง€ ์‰ฝ๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅ. terminal ๊ธฐ๋Šฅ์ด ์žˆ์–ด ๋ฐ”๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. :terminal ์ปค์„œ ์Šคํƒ€์ผ, ํฌ์ปค์Šค ์ด๋ฒคํŠธ, ๊ด„ํ˜ธ์— ๋ถ™์—ฌ ๋„ฃ๊ธฐ ๊ธฐ๋ณธ ์ง€์› ์ž๋™์™„์„ฑ, ๋งž์ถค๋ฒ• ๊ฒ€์‚ฌ, ํƒญ, ๊ตฌ๋ฌธ ์ƒ‰์ƒ์ง€์ •, ์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ ๊ฒ€์ƒ‰ ๋ฐ ๋ฐ”๊พธ๊ธฐ ๋“ฑ Asynchronous Plugin Architecture๋ฅผ ์ง€์›, ์žฌ์ปดํŒŒ์ผ ์—†์ด ๋ชจ๋“ˆ ์žฅ์ฐฉ ๊ฐ€๋Šฅ Parallel installation/update of plugins - ๋ณ‘๋ ฌ์‹์œผ๋กœ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜๊ฐ€ ๋งค์šฐ ๋น ๋ฆ„ Post-update hook - ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ํ›„์— ํ•ด์•ผ ํ•  ์ผ์„ ์ง€์ •ํ•ด ๋†“์œผ๋ฉด ์•Œ์•„์„œ ์ˆ˜ํ–‰ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ, ์ข…์†์„ฑ ๊ด€๋ฆฌ๊ฐ€ ํŽธ๋ฆฌํ•˜๋‹ค. ํŒจํ‚ค์ง€ ์„ค์น˜ Ubuntu ์„ค์น˜ appimage๋ฅผ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œํ•ด์„œ ์„ค์น˜ $ wget https://github.com/neovim/neovim/releases/download/v0.6.1/nvim.appimage $ mv nvim.appimage ~/bin/nvim $ chmod u+x ~/bin/nvim Ubuntu ppa ์ตœ์‹ ํŒจํ‚ค์ง€ ์„ค์น˜ $ sudo apt install software-properties-common -y $ sudo add-apt-repository ppa:neovim-ppa/stable -y $ sudo apt update $ sudo apt install neovim -y $ nvim --version Alpine ์„ค์น˜ $ doas apk update $ doas apk add neovim # nvim Install $ apk search nvim-* # Plugin check $ apk nvim-lualine nvim-treesitter # Plugin: lualine install $ nvim --version ## ์†Œ์Šค ๋นŒ๋“œ - Debian, Ubuntu * Requirements ```console $ sudo apt install build-essencial cmake ninja luarocks5.1 $ sudo luarocks5.1 install lpeg $ sudo luarocks5.1 install mpack Build $ git clone https://github.com/neovim/neovim $ cd neovim $ git checkout stable $ make CMAKE_BUILD_TYPE=RelWithDebInfo # or CMAKE_BUILD_TYPE=Release $ sudo make install $ strip /usr/local/bin/nvim $ /usr/local/bin/nvim --version ์†Œ์Šค ๋นŒ๋“œ - Alpine Requirements # apk add build-base cmake automake autoconf libtool pkgconf coreutils curl unzip gettext-tiny-dev Build # git clone https://github.com/neovim/neovim # cd neovim # git checkout stable # make CMAKE_BUILD_TYPE=RelWithDebInfo # or CMAKE_BUILD_TYPE=Release # sudo make install # strip /usr/local/bin/nvim # /usr/local/bin/nvim --version ์†Œ์Šค ๋นŒ๋“œ - Raspbian (2023-09-17) ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์˜ neovim ๋ฒ„์ „์ด ๋งค์šฐ ๋‚ฎ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” ์ปดํŒŒ์ผํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ตœ์‹ ๋ฒ„์ „์„ ์“ฐ๋Š” ์ œ์ผ ์ข‹์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณด์ธ๋‹ค. # Install latest CMake https://stackoverflow.com/a/56690743/13411047 sudo apt update sudo apt install -y libssl-dev wget -O /tmp/cmake.tar.gz "https://cmake.org/files/v3.19/cmake-3.19.1.tar.gz" tar -xvzf cmake.tar.gz rm cmake.tar.gz cd cmake-3.19.1/ cmake . make sudo make install # Requirements Install sudo apt-get install git sudo apt-get install libtool libtool-bin autoconf automake cmake g++ pkg-config unzip # source download git clone https://github.com/neovim/neovim.git cd neovim # compile & Install make CMAKE_BUILD_TYPE=RelWithDebInfo sudo make install ์ฃผ์š” ์„ค์ •ํŒŒ์ผ vimscript ์„ค์ • ๊ธฐ์ค€ ~/.config/nvim/init.vim ~/.local/share/nvim/site/autoload/plug.vim lua ์„ค์ • ๊ธฐ์ค€ ~/.config/nvim/init.lua ~/.config/nvim/lua/ Links neovim home: https://neovim.io/ building noevim: https://github.com/neovim/neovim/wiki/Building-Neovim

2022-09-01 ยท (updated 2023-08-08) ยท 396 words

Getting started using Lua in Neovim

2023-08-08: ํ”Œ๋Ÿฌ๊ทธ์ธ ์ˆ˜๋™ ์„ค์ • ์ถ”๊ฐ€, ์˜คํƒ€ ์ˆ˜์ • 2022-09-06: lua์˜ ๊ธฐ๋ณธ ์„ค์ •๋ฒ• ๋ฐ ํŒจํ‚ค์ง€ ์„ค์น˜ ์„ค์ • ์ •๋ฆฌ ์†Œ๊ฐœ nvim์€ vim๊ณผ ๋‹ค๋ฅด๊ฒŒ luajit ์ด ๊ธฐ๋ณธ ํƒ‘์žฌ๋˜์–ด ์žˆ๋‹ค. ์ด๋Š” vim์˜ ๊ฑฐ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ lua๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ๋˜ํ•œ ์ž์‹ ์˜ ์ฝ”๋“œ ๋˜๋Š” ๋ชจ๋“ˆ๋“ค์„ ์‰ฝ๊ฒŒ ์ด์‹ํ•˜๊ณ  ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ธ€์˜ ๋ชฉํ‘œ๋Š” ๊ธฐ์กด ~/.config/nvim/init.vim์˜ ์„ค์ •์„ ๋ชจ๋‘ init.lua๋กœ ๋Œ€์ฒดํ•˜๊ณ  ํ™•์žฅํ•˜๋Š” ๋ฐ ์žˆ๋‹ค. NVIM v0.7.2/ Build type: Release/ LuaJIT 2.1.0-beta3 Why Lua 5.1 instead of Lua 5.3+? ์•„๋ž˜๋Š” nvim ๊ณต์‹ FAQ ๋‚ด์šฉ์ด๋‹ค. ...

2022-08-27 ยท (updated 2023-08-08) ยท 996 words

NerdTree

2022.09.09 - tips ์ถ”๊ฐ€ ์†Œ๊ฐœ The NERDTree is a file system explorer for the Vim editor. vim ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ ํƒ์ƒ‰๊ธฐ์ด๋‹ค. ์„ค์น˜ ~/.vimrc ๋˜๋Š” ~/.config/nvim/init.vim ์„ค์ • Plug 'scrooloose/nerdtree' vim vim +PlugInstall +qall nvim nvim +PlugInstall +qall ์„ค์ • ๋ฐ ๊ธฐ๋Šฅ F8ํ‚ค๋กœ ์—ด๊ธฐ/๋‹ซ๊ธฐ " nerdtree nnoremap <F8> :NERDTreeToggle<CR> "ํ™”๋ฉด์— ๋„์šฐ๊ธฐ: F8ํ‚ค let g:NERDTreeWinPos = "right" "ํ™”๋ฉด ์˜ค๋ฅธ์ชฝ์— ๋„์šฐ๊ธฐ autocmd BufEnter * lcd %:p:h autocmd VimEnter * if !argc() | NERDTree | endif "vim ๋‹จ๋… ์‹คํ–‰์‹œ ์‹คํ–‰์‹œํ‚ค๊ธฐ h``j``k``l - ์ด๋™ enter - ํด๋”์—ด๊ธฐ, ํŒŒ์ผ์—ด๊ธฐ q - ๋‚˜๊ฐ€๊ธฐ h - ๋„์›€๋ง c - ์„ ํƒ๋œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ root๋กœ ๋งŒ๋“ค๊ธฐ m - ๋ฉ”๋‰ด I - ์ˆจ์€ํŒŒ์ผ(hidden file/dir) ๋ณด์ด๊ธฐ Tips shift + i - show hidden dir and files / - Search directories and files form cusor s - open file to split vertically ...

2022-08-26 ยท (updated 2022-09-09) ยท 131 words