QnA

vis ๊ฐ„๋‹จํ•œ ๋ฃจ์•„์Šคํฌ๋ฆฝํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ vis๋‚ด์—์„œ ๋™์ž‘ํ•˜๊ฒŒ ํ•˜๋Š”๊ฐ€? ์•„์ง์€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜ nvim์ฒ˜๋Ÿผ ์ดˆ๊ธฐํ™” ํŒŒ์ผ์—์„œ requireํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. luajit์ด ์•„๋‹Œ lua 3.x ๋ฒ„์ „์˜ API๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ํŠœํ† ๋ฆฌ์–ผ์ด๋‚˜ example์ด ์—†๋‹ค. vim / nvim lsp - lua language server ์˜ 3GB ๋„˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๊ณผ CPU ์˜ค๋ฒ„๋กœ๋“œ๋Š”? workspace๋ฅผ ํ•œ์ •ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ 1GB๋กœ ์ค„์—ˆ์œผ๋‚˜ ๋…ธํŠธ๋ถ์ด ๊ณ„์† ํ—‰ํ—‰๋Œ„๋‹ค. nvim์—์„œ lua๋กœ ์ฝ”๋”ฉํ•˜๋Š” ์ด์œ ๊ฐ€ ์‹ฌํ”Œํ•˜๊ณ  ๋น ๋ฅด๊ณ  ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์ด ์žฅ์ ์ธ๋ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์€ ๋„ˆ๋ฌด ์ง€๋‚˜์น˜๋‹ค. ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ–ˆ์œผ๋‚˜ ์กฐ๊ธˆ ๋‚˜์•„์กŒ์„ ๋ฟ ์—ฌ์ „ํ•˜๋‹ค. nvim์„ /usr/local์— ๋นŒ๋“œํ•˜๊ณ  ๊ธฐ์กด ํŒจํ‚ค์ง€๋ฅผ ์ง€์› ๊ณ  PATH๋„ ์žก์•˜๋Š”๋ฐ ์‹คํ–‰์ด ์•ˆ๋œ๋‹ค. $ which nvim ๊ฒฝ๋กœ๊ฐ€ /usr/local/bin/nvim์œผ๋กœ ๋‚˜์˜จ๋‹ค. $ /usr/local/bin/nvim --verion ํ•˜๋ฉด ์‹คํ–‰๋„ ์ž˜ ๋œ๋‹ค. $ nvim ํ•˜๋ฉด /usr/bin/nvim์ด ์—†๋‹ค๊ณ  ๋‚˜์˜จ๋‹ค. ์žฌ๋ถ€ํŒ…ํ•ด์„œ ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•˜๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค. ์˜›๋‚  Solaris์—์„œ๋Š” ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ๋Š”๋ฐโ€ฆ ์‚ฌ์šฉ ์ค‘ 80์ปฌ๋Ÿผ ์ด์ƒ ์ž‘์„ฑํ•˜๋ฉด ์ž๋™์œผ๋กœ ๊ฐœํ–‰์ด ๋˜๋Š” ๋ฌธ์ œ ~/.config/nvim/init.lua์— ๋‹ค์Œ ์„ค์ • vim.wo.wrap = true ์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ์—์„œ ์—”ํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ ํƒญ์œผ๋กœ ์™„์„ฑํ•˜๋ ค๋ฉด nvim-cmp ์„ค์ •์—์„œ mapping์— ["<Tab>"]๊ณผ ["<S+Tab>"]์„ ์„ค์ • ์ž์„ธํ•œ ์‚ฌํ•ญ์€ nvim cmp ์ž๋™์™„์„ฑ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜๊ฑฐ๋‚˜ settings.lua์ฐธ์กฐ nvim์—์„œ lua ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ์„ค์ • ์ค‘ ์Ÿ์•„์ง€๋Š” ์—๋Ÿฌ๋Š” ์–ด์ฐŒํ•ด์•ผ ํ•˜๋Š”๊ฐ€? ํ•˜๋‚˜์”ฉ ๊ณต๋ถ€ํ•ด์„œ ์ ์šฉํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•œ๋‹ค. ํ•œ ๋ฒˆ์— ๋งŽ์€ ์„ค์ •์„ ์ ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ž˜ ์ฝ์–ด ๋ณด๊ณ  ๊ตฌ๊ธ€๋ง ๋˜๋Š” ํ•ด๋‹น github์˜ issue ๋“ฑ์„ ์ฐธ๊ณ ํ•œ๋‹ค. nvim ๋ฒ„์ „๊ณผ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „์ด ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. nvim์„ ์ตœ์‹ ๋ฒ„์ „์œผ๋กœ ์„ค์น˜ ๋˜๋Š” ๋นŒ๋“œํ•˜๊ณ  ํ”Œ๋Ÿฌ๊ทธ์ธ๋„ ์ตœ์‹ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ๋ฉด ๋Œ€๋ถ€๋ถ„ ํ•ด๊ฒฐ๋œ๋‹ค. ์ด๊ฒƒ์„ ๋ชฐ๋ผ ์ •๋ง ๊ฐœ๊ณ ์ƒ.. vim์—์„œ๋Š” vimwiki ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๋ฉฐ ๋„˜๋‚˜๋“ค์–ด๋„ ์ž๋™ ์ €์žฅ์ด ๋˜์—ˆ๋Š”๋ฐ nvim์—์„œ๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š์•˜๋‹ค. ์™œ? vim์—์„œ nvim์œผ๋กœ ์˜ฎ๊ธด ํ›„ vimwiki์‚ฌ์šฉ ์‹œ ์ด๊ฒƒ์ด ๋งŽ์ด ๋ถˆํŽธํ–ˆ๋‹ค. ์ˆ˜ ๋งŽ์€ ์‚ฌ์ดํŠธ๋ฅผ ์กฐ์‚ฌํ•˜๊ณ  ์•Œ์•„ ๋ณด์•˜์ง€๋งŒ ๋˜‘๊ฐ™์€ ์„ค์ •์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์•ˆ๋จ. ํ•ด๊ฒฐ: nvim์„ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๋‹ค์Œ ์„ค์ •์„ ํ•ด ์ฃผ์—ˆ๋‹ค. md ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๊ณ  ๋ฒ„ํผ๋ฅผ ๋‚˜๊ฐˆ ๋•Œ ์ด๋ฅผ ์ž๋™์œผ๋กœ ์ €์žฅํ•œ๋‹ค. init.lua: vim.api.nvim_create_autocmd("BufLeave", {pattern = "*.md", command = "silent! wall"}) ๋งŒ์•ฝ์— ๋‚ด๊ฐ€ ๊ธ€์„ ์“ฐ๋Š” ๋ฐ ๋ฌธ์žฅ์ด ๊ธธ์–ด์งˆ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์€ ํ™”๋ฉด ๋์— ์˜ค๋ฉด ์ž๋™์œผ๋กœ ๋ผ์ธ์ด ๋‚ด๋ ค๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ž๋™ ์ค„๋ฐ”๊ฟˆ์ด ๋˜๋Š” ๊ฒƒ์„ ์›ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. Linux ์ผ๋ฐ˜ ์šฐ๋ถ„ํˆฌ์—์„œ default shell์„ zsh๋กœ ๋ฐ”๊พผ ํ›„ ํ•œ๊ธ€์ž…๋ ฅ(kime)์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ ํด๋”๋ฅผ ๊ตฌ์กฐ์  ๊ณ„์ธต์ ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€? tree ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ls -R๋„ ์–ด๋А์ •๋„ ๊ฐ€๋Šฅ github ์ž˜ ๋˜๋˜ github.io์˜ ๋‚ด ๋ธ”๋กœ๊ทธ๊ฐ€ ๊ฐ‘์ž๊ธฐ ์ •์ƒ์ ์œผ๋กœ ๋ณด์—ฌ์ง€์ง€ ์•Š๋Š”๊ฐ€? ...

2022-08-23 ยท (updated 2022-12-15) ยท 520 words