Nextvi - Small and Simple Editor

vi๋Š” ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ชธ์œผ๋กœ ์ตํžˆ๋Š” ๊ฒƒ์ด๋‹ค. vi๋Š” ๋‹จ์ˆœํ•˜๊ณ  ์ผ๊ด€์„ฑ์ด ์žˆ๋‹ค. Intro ์žฅ์  vi์˜ ๊ธฐ๋ณธ ๋ช…๋ น์„ ์ œ๊ณตํ•œ๋‹ค. ๋‹จ์ˆœํ•˜๊ณ  ์šฉ๋Ÿ‰์ด ์ž‘์•„ ์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ ๋ฐ ์›๊ฒฉ์ง€์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ข‹๋‹ค. neatvi๋กœ ๋ถ€ํ„ฐ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. vim, nvim๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๊ฐ„๋‹จํ•œ ์„ค์ •๊ณผ ๋น ๋ฅธ ๋™์ž‘์ด ์žฅ์ ์ด๋‹ค. utf-8์„ ์ง€์›ํ•œ๋‹ค. ํ•œ๊ธ€ ์ž…์ถœ๋ ฅ ๊ฐ€๋Šฅ. ์‰˜๋ช…๋ น ์ถœ๋ ฅ์„ ex-mode(๋ช…๋ น๋ผ์ธ)์—์„œ ํ„ฐ๋ฏธ๋„ ๊นจ์ง ์—†์ด ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ข… ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์—†๋Š” ๋Œ€์‹  ex-mode์—์„œ ํ„ฐ๋ฏธ๋„ ํˆด๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ vim๋ณด๋‹ค๋Š” nvim์„ ๋” ์„ ํ˜ธํ•œ๋‹ค. lua์™€ ๊ฒฐํ•ฉ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ์˜ ์—ฐ๊ฒฐ์ด ์ •๋ง ์ข‹๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ ๋„ ๋งŽ๋‹ค. lua๋ฅผ ๊ณต๋ถ€ํ•ด์•ผํ•˜๊ณ  ๋˜ ์„ค์ •์— ์ ์‘ํ•˜๋ ค๋ฉด ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๋‹ค. ๋”๊ตฐ๋‹ค๋‚˜ ์ˆ˜๋งŽ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์žฅ์ฐฉํ•˜๊ฒŒ ๋˜๋ฉด ๋А๋ ค์ง€๊ณ  ๋ฌด๊ฑฐ์›Œ์ง„๋‹ค. ์„ค์ •์ด ์ž˜ ๋ชป ๋˜๋ฉด ๋ฐ”๋กœ ์žก๋А๋ผ ์‚ฝ์งˆ์„ ํ•ด์•ผํ•œ๋‹ค. ๋ฌผ๋ก  ์ž์‹ ๋งŒ์˜ ์„ค์ •์„ ์ž˜ ๋งŒ๋“ค์–ด์„œ ๋ฐฑ์—…ํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ์žฌ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค. ํ•˜์ง€๋งŒ nvim ์ž์ฒด์˜ ํŒจํ‚ค์ง€ ์‚ฌ์ด์ฆˆ์™€ ์ˆ˜ ๋งŽ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์ž‘๊ณ  ๊ฐ€๋ณ๊ฒŒ๋ผ๋Š” ๋ง์ด ๋ฌด์ƒ‰ํ•ด์ง„๋‹ค. ...

2024-04-19 ยท (updated 2025-06-14) ยท 1767 words

ํ”Œ๋Ÿฌ๊ทธ์ธ ์—†์ด vim์„ ์ตœ์†Œ ์„ค์ •์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ

์›๊ฒฉ์ง€์—์„œ vi(m)์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ„๋‹จํ•œ ํŽธ์ง‘์€ ๊ดœ์ฐฎ์œผ๋‚˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ํ•  ๋•Œ์—๋Š” ๋ถˆํŽธํ•˜๋‹ค. ํ•˜์ง€๋งŒ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ๋งŽ์€ ์„ค์ •์„ ํ•  ๊ฒฝ์šฐ ๋ฒˆ๊ฑฐ๋กญ๊ธฐ๋„ ํ•˜๊ณ  ๋ฌด๊ฑฐ์›Œ์ง€๊ธฐ๋„ ํ•œ๋‹ค. ํ•œ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ ๋กœ์ปฌ์˜ ํ™˜๊ฒฝ์—์„œ scp๋ฅผ ์ด์šฉํ•ด ํŽธ์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. nvim scp ์ฐธ์กฐ. ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์•„์ฃผ ๋ถˆํŽธํ•˜์ง€ ์•Š๋Š” ์„ ์—์„œ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด ๊ฒฝ์šฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ฌ์šฉ์„ ํ•˜์ง€ ์•Š๊ณ , ์ตœ์†Œํ•œ์˜ ์„ค์ •๋งŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์žฅ์ ์€ ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๋ฉด์„œ ํ™˜๊ฒฝ์„ค์ •๋„ ์ตœ์†Œํ•œ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•˜๋‹ค. ํŠนํžˆ ์›๊ฒฉ์ง€๊ฐ€ ์ €์‚ฌ์–‘ ์ปดํ“จํ„ฐ์ด๊ฑฐ๋‚˜ ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ๋“ฑ์ผ ๋•Œ ์ ๋‹นํ•˜๋‹ค. Setup how to setup # Install vim or nvim sudo apt install vim # Setup for (v)vim vi ~/.vimrc # Use vi ~/myproject/myfile.c .vimrc " " minimal vimrc with no (extra) plugins " "load system defaults if filereadable(expand('$VIMRUNTIME/defaults.vim')) unlet! g:skip_defaults_vim source $VIMRUNTIME/defaults.vim endif "regular settings "---------------- " ui set number set ruler set wildmenu set showcmd set showmatch " encoding/format set encoding=utf-8 set fileformats=unix,dos,mac " searching set hlsearch set incsearch set ignorecase set smartcase " indent set shiftwidth=4 set tabstop=4 set softtabstop=4 set autoindent " key timeout values set esckeys set ttimeoutlen=20 set timeoutlen=1000 " allow syntax and filetype plugins syntax enable filetype plugin indent on runtime macros/matchit.vim " autocmds "--------- augroup general autocmd! "keep equal proportions when windows resized autocmd VimResized * wincmd = "save cursor position in a file autocmd BufReadPost * if line("'\"") > 1 && line("'\"") \ <= line("$") | exe "normal! g'\"" | endif augroup END augroup languages autocmd! autocmd BufNewFile,BufRead *.bash set syntax=sh autocmd FileType python xnoremap <leader>r <esc>:'<,'>:w !python3<CR> autocmd FileType go set noexpandtab autocmd FileType html :syntax sync fromstart autocmd FileType html,javascript,css,json,yaml,sh \ setlocal ts=2 sts=2 sw=2 expandtab augroup END REFERENCE A minimal Vimrc - https://madjam.dev/posts/a-minimal-vimrc/

2023-09-16 ยท 265 words

nvim-scp - nvim์œผ๋กœ ์›๊ฒฉ ํŒŒ์ผ ํŽธ์ง‘

Intro ์›๊ฒฉ์ง€์— ์ง์ ‘ ๋กœ๊ทธ์ธํ•ด์„œ ํŽธ์ง‘ํ•  ๊ฒฝ์šฐ ๊ทธ ๊ณณ์˜ vim ๋˜๋Š” nvim ์„ ์„ค์น˜, ์„ค์ •์„ ํ•ด์ฃผ์–ด์•ผ ํŽธํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ„๋‹จํžˆ ์ˆ˜์ •ํ•˜๋Š” ์ •๋„๋ฉด ๊ธฐ๋ณธ์ ์ธ vi ์ •๋„๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ทธ๊ฒƒ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ข€ ๋” ์ž์„ธํ•œ ์ˆ˜์ • ๋˜๋Š” ์ฝ”๋”ฉ์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ถˆํŽธํ•˜๋‹ค. ๋กœ์ปฌ์—์„œ ์ž์‹ ์ด ์„ค์ •ํ•ด ๋†“์€ (n)vim์œผ๋กœ ์›๊ฒฉ์ง€ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด๋‹ค. ์กฐ์‚ฌํ•œ ๊ฒฐ๊ณผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ๋งŽ์€๋ฐ scp๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ณต์žกํ•˜์ง€ ์•Š๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์“ฐ๊ธฐ ์ข‹๋‹ค. ๊ทธ ๋ฐ–์˜ ๋ฐฉ๋ฒ•์œผ๋กœ nvim server/client mode๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, rsync, tmux, distant.nvim ๋“ฑ์ด ์žˆ๋‹ค. Howto ๋จผ์ € ๋กœ์ปฌ์— ssh, scp ๋“ฑ์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋‹น์—ฐํžˆ ๋กœ์ปฌ์— ์ž์‹ ์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์„ค์น˜ ์„ค์ •๋œ (n)vim๋„ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์›๊ฒฉ์ง€์— ssh๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ๋„ ํ•„์š”ํ•˜๋‹ค. ssh์›๊ฒฉ๋กœ๊ทธ์ธ์„ ํ‚ค์ธ์ฆ์œผ๋กœ ํ•ด ๋†“์œผ๋ฉด ๋”์šฑ ํŽธ๋ฆฌํ•˜๋‹ค. (ssh-keygen์œผ๋กœ ์ƒ์„ฑ, local:id_rsa.pub -> remmote:authorized_keys ์ถ”๊ฐ€) $ vim scp://user@server-name[:port]//path-to-file.txt ๋˜๋Š” (n)vim์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ...

2023-09-07 ยท (updated 2023-09-08) ยท 164 words

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

Vis - Structural Regular Expressions

Intro Tutorial Sam Command Language Links sam structural regular expression http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf sam command tutorial http://doc.cat-v.org/bell_labs/sam_lang_tutorial/sam_tut.pdf

2022-12-07 ยท 15 words