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

Git-Crypt - github์— ๋™๊ธฐํ™”ํ•  ๋•Œ ์ž๋™ ์•”ํ˜ธํ™”

Intro Github์— ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆด ๋•Œ ์•”ํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ํˆด ์˜ฌ๋ฆด ๋•Œ์—๋Š” ์•”ํ˜ธํ™”ํ•ด์„œ ์˜ฌ๋ฆฌ๊ณ  ๋‹ค์šด๋กœ๋“œ ์‹œ์—๋Š” ๋ณตํ˜ธํ™” ํ•ด์ค€๋‹ค. ๋ณด์•ˆํ‚ค๋‚˜ ํŒจ์Šค์›Œ๋“œ, ์ค‘์š” ์„ค์ • ์ •๋ณด ๋“ฑ์ด ๊ณต๊ฐœ์šฉ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋น„๊ณต๊ฐœ์šฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆด ๋•Œ์—๋„ ์œ ์šฉํ•˜๋‹ค. ์•„์šธ๋Ÿฌ vimwiki๋‚˜ ์ง€๊ทนํžˆ ๊ฐœ์ธ์ ์ธ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•  ๋•Œ github๋ฅผ ์ด์šฉํ•  ๊ฒฝ์šฐ์—๋„ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค. Github ์ž์ฒด๊ฐ€ ํ•ดํ‚น๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ , github์˜ ์ž๋ฃŒ๋Š” ๋ชจ๋‘ ๊นƒํ—ˆ๋ธŒ์˜ ์žฌ์‚ฐ์ด๋ฏ€๋กœ ๋‚ด ์ž๋ฃŒ๋ฅผ ๋ณดํ˜ธํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์•„๋ฌด๋ฆฌ ๋น„๊ณต๊ฐœ์šฉ์ด๋ผ ํ• ์ง€๋ผ๋„ ๊บผ๋ฆผ์งํ•˜๊ธฐ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ์ด๋ ‡๊ฒŒ ํ•ด ๋‘๋ฉด ์ข‹์€ ์ ์€ PC๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ์ž‘์—… ์žฅ์†Œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ๋ชจ๋‘ ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐœ์ธ์ž๋ฃŒ๋ฅผ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ๊ฐœ์ธ์ž๋ฃŒ๋ฅผ ์—๋ฒ„๋…ธํŠธ๋‚˜ ๊ตฌ๊ธ€๊ณ„์ •์— ์ €์žฅํ•ด๋„ ๋˜๊ฒ ์ง€๋งŒ ์ด๊ณณ๋„ ๊ทผ๋ณธ์ ์œผ๋กœ ๋ณด์•ˆ์ƒํƒœ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ๋˜ํ•œ ๊ฐœ๋ฐœ์ž, ์ž‘๊ฐ€ ๋“ฑ์€ ์†์‰ฝ๊ฒŒ github๋ฅผ ํ†ตํ•ด ์ €์žฅ์†Œ๋ฅผ ๋‘๊ณ  ์ž‘์—…์„ ํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•˜๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์ž‘๊ณ  ๊ฐ€๋ณ๊ณ  ์˜์กด์„ฑ๋„ ์—†๋Š” git-crypt๋ฅผ ํ™œ์šฉํ•˜๊ฒŒ ๋œ ๊ฒƒ์ด๋‹ค. ์•„๋ž˜ ์ƒ์ˆ ํ•˜๊ฒ ์œผ๋‚˜ ์ €์žฅ์†Œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์“ธ ๊ฒฝ์šฐ ๊ทธ ๋งŒํผ ๊ด€๋ฆฌํ•  ํ‚ค๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ  ๋”ฐ๋กœ ๋ณด๊ด€ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. ์•”ํ˜ธํ™”๊ฐ€ ํ•„์š”ํ•œ ํŒŒ์ผ์€ ๊ฐ€๊ธ‰์  ํ•œ ์ €์žฅ์†Œ์— ๋ชจ์œผ๊ณ  ํ•˜๋‚˜์˜ ํ‚ค๋งŒ ๋”ฐ๋กœ USB๋‚˜ ๊ธฐํƒ€ ์žฅ์†Œ์— ๋ณด๊ด€ํ•ด ๋‘๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค. ๋งŒ์•ฝ git-crypt์— ์˜ํ•ด ์ƒ๊ธด ํ‚ค๋„ ๊นƒํ—ˆ๋ธŒ์— ์ €์žฅํ•œ๋‹ค๋ฉด ์ž๊ธฐ ๋ชจ์ˆœ์— ๋น ์ง€๋ฏ€๋กœ ๋ณ„๋„๋กœ ๋ฐฑ์—… ๋ณด๊ด€ํ•ด์•ผ ํ•œ๋‹ค. Install $ sudo apt install git-crypt # Ubuntu, Debian $ doas apk add git-crypt # Alpine Using git-crypt ์ฃผ์˜์‚ฌํ•ญ: git-crypt๋ฅผ ์ ์šฉํ•˜๊ธฐ ์ „์˜ ๋ฐ์ดํ„ฐ๋Š” ์•”ํ˜ธํ™” ํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ github์—์„œ ์ƒˆ๋กœ์šด ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค๊ณ  ์•„๋ž˜ ์ ˆ์ฐจ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ์•„๋ž˜ your_secret_file ๊ณผ your_secret_directory๋Š” ์ €์žฅ์†Œ ๋‚ด์˜ ์•”ํ˜ธํ™”ํ•  ํŒŒ์ผ ๋˜๋Š” ํด๋”. $ git clone git@github.com:<github_user>/<your_progject_name> $ cd <your_project_name> $ git-crypt init $ cat <<EOF > .gitattributes your_secret_file_name filter=git-crypt diff=git-crypt *.key filter=git-crypt diff=git-crypt your_secret_dir/** filter=git-crypt diff=git-crypt EOF $ echo "hello world" > your_secret_file $ echo "hello world" > your_secret_dir/file1 $ git add . && git commit "update files" && git push ์ž์‹ ์˜ ๊นƒํ—ˆ๋ธŒ ์ €์ •์†Œ์— ๊ฐ€์„œ ์˜ฌ๋ฆฐ ํŒŒ์ผ์ด ์•”ํ˜ธ์™€ ๋˜์—ˆ๋Š”์ง€ ๋กœ๊ทธ์ธํ•ด์„œ ํ™•์ธํ•œ๋‹ค. ๋ณดํ†ต์˜ ๊ฒฝ์šฐ ์œ„ ์„ค์ •์ด ์ž˜ ๋˜์—ˆ์œผ๋ฉด ํ‰์ƒ์‹œ ๋Œ€๋กœ git์„ ์‚ฌ์šฉํ•˜๋ฉด ์ €์žฅ์†Œ ๊ด€๋ฆฌ๊ฐ€ ๋œ๋‹ค. ์ƒ์„ฑ๋œ ์•”ํ˜ธํ‚ค ๊ด€๋ฆฌ ์œ„์˜ git-crypt init ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋ฉด .git/git-crypt/keys๋กœ ์ดˆ๊ธฐํ™”๋˜๊ณ  ํ‚ค๊ฐ€ ์ƒ์„ฑ, ๋ณด๊ด€๋œ๋‹ค. Symmetric Mode: ์ƒ์„ฑ๋œ ํ‚ค๋Š” ๋กœ์ปฌ์—๋งŒ ์กด์žฌํ•˜๋ฏ€๋กœ ์ด ํ‚ค๋ฅผ USB ๋“ฑ์— ์ €์žฅํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ๋‹ค๋ฅธ ๊ณณ์—์„œ ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ๋ฅผ ๋‹ค์šด ๋ฐ›์€ ํ›„ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. GPG Mode: ๋˜ํ•œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํ‚ค๋ฅผ ์ถ”๊ฐ€์‹œ์ผœ ๊ทธ ์‚ฌ์šฉ์ž๊ฐ€ ์ €์žฅ์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. (์ž์‹  ํฌํ•จ) GPG Mode - ์ž์‹  ๋˜๋Š” ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ $ git-crypt add-gpg-user <USER_ID> # ์ฃผ ์‚ฌ์šฉ์ž๋ชจ๋“œ: USER_ID is Public GPG key ID ... $ git clone git@github.com:<github_user>/<your_progject_name> # ํ—ˆ๋ฝ๋ฐ›์€ ์‚ฌ์šฉ์ž๋ชจ๋“œ $ cd <your_project_name> $ git-crypt unlock Symmetric Mode - ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ์ž(๋ณดํ†ต ์ž๊ธฐ์ž์‹ )์ด ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• $ git-crypt export-key <path_to_your_keyfile> # ์ฃผ ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ฅผ ๋ฐฑ์—…ํ•˜๊ธฐ ... $ git clone git@github.com:<github_user>/<your_progject_name> # ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋ณตํ˜ธํ™” ํ•˜๊ธฐ $ cd <your_project_name> $ git-crypt unlock <path_to_your_keyfile> # ๋ฐฑ์—…ํ•ด๋‘” ํ‚คํŒŒ์ผ์„ ์ด์šฉํ•ด ๋ณตํ˜ธํ™”ํ•˜๊ธฐ ์ฐธ๊ณ ์‚ฌํ•ญ .gitattributes ํŒŒ์ผ ์ž์‹ ์€ ์•”ํ˜ธํ™”๋˜์„œ๋Š” ์•ˆ๋œ๋‹ค๊ณ  ๋ฉ”๋‰ด์–ผ์— ๋‚˜์™€ ์žˆ๋‹ค. .gitattributes ํŒŒ์ผ์— dir/**์—์„œ **์ด ๋‘ ๊ฐœ์ธ ์ด์œ ๋Š” ์ดํ•˜ ์„œ๋ธŒ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ๋„ ์ ์šฉ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ƒ๋‹นํžˆ ๋งŽ์€ ํŒŒ์ผ์ด๋‚˜ ํด๋”์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š๋‹ค. ์†Œ์ŠคํŒŒ์ผ์ด๋‚˜ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ์•”ํ˜ธํ™” ํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•˜๊ณ  ์ด์ง„ํŒŒ์ผ์ด๋‚˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์—๋Š” ๊ทธ๋ฆฌ ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค. ํŒŒ์ผ์ด๋ฆ„์ด๋‚˜ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€์ •๋ณด๋Š” ์•”ํ˜ธํ™”ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์ฆ‰ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์•”ํ˜ธํ™” ํ•œ๋‹ค. REFERENCE Git-Crypt Home - https://www.agwa.name/projects/git-crypt/ git-crypt github - https://github.com/AGWA/git-crypt managing secrets with git crypt - https://dzone.com/articles/managing-secrets-with-git-crypt

2023-08-27 ยท 483 words

vimium-c - Vim like Using firefox

์„ค์น˜ ํŒŒ์ด์–ดํญ์Šค์˜ ํ™•์žฅ๊ธฐ๋Šฅ ๊ฒ€์ƒ‰ : vimium-c ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ์‚ฌ์šฉ๋ฒ• ? : ๋„์›€๋ง ๋ณด์ด๊ธฐ/์ˆจ๊ธฐ๊ธฐ Navigating the current Page: ? show the help dialog for a list of all available keys h scroll left j scroll down k scroll up l scroll right gg scroll to top of the page G scroll to bottom of the page d scroll down half a page u scroll up half a page f open a link in the current tab F open a link in a new tab r reload gs view source i enter insert mode -- all commands will be ignored until you hit Esc to exit yy copy the current url to the clipboard yf copy a link url to the clipboard gf cycle forward to the next frame gF focus the main/top frame Navigating to new pages: o Open URL, bookmark, or history entry, on an English letter "o" O Open URL, bookmark, history entry in a new tab, on an English letter "O" b Open bookmark B Open bookmark in a new tab Nvigating your history: H go back in history L go forward in history Manipulating tabs: J, gT go one tab left K, gt go one tab right g0 go to the first tab. Use `ng0` to go to n-th tab, on `g` and a number character of `0` g$ go to the last tab ^ visit the previously-visited tab t create tab yt duplicate current tab x close current tab X restore closed tab (i.e. unwind the `x` command) T search through your open tabs W move current tab to new window <a-p> pin/unpin current tab Using marks: ma, mA set local mark "a" (global mark "A") `a, `A jump to local mark "a" (global mark "A") `` jump back to the position before the previous jump -- that is, before the previous gg, G, n, N, / or `a Additional advanced browsing commands: ]], [[ Follow the link labeled "next or ">" ("previous" or "<">) - helpful for browsing paginated sites <a-f> open multiple links in a new tab gi focus the first (or n-th) text input box on the page. Use <tab> to cycle through options. gu go up one level in the URL hierarchy gU go up to root of the URL hierarchy ge edit the current URL gE edit the current URL and open in a new tab zH scroll all the way left zL scroll all the way right v enter visual mode; use p/P to paste-and-go, use y to yank V enter visual line mode REFERENCE vimium - https://github.com/gdh1995/vimium

2023-08-26 ยท 428 words

Update Raspbian from an Older Version to Buster - ๋ผ์ฆˆ๋น„์•ˆ ์—…๊ทธ๋ ˆ์ด๋“œ

์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ–ˆ๋˜ ์Œ์•…ํ”Œ๋ ˆ์ด(mpd) ์ „์šฉ raspbian์„ ์žฌ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฌผ๋ก  ์ž˜ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ค‘์š” ์„ค์ •ํŒŒ์ผ์„ ๋จผ์ € ๋ฐฑ์—…ํ•ด๋‘๊ณ  ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค. ๊ทธ๊ฐ„์˜ ์„ค์ •๊ณผ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ , ์žฌ์„ค์น˜ ํ•˜์ง€ ์•Š๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. mpc๋‚˜ ๊ธฐํƒ€ ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์ด ์ตœ์‹  mpd (์ตœ์†Œ 0.21 Version)๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์„ ๊ณ„๊ธฐ๋กœ ์ด ๋ฌธ์„œ๋ฅผ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ˜„์žฌ์˜ stretch๋ฅผ buster๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค. ์ค‘๊ฐ„ ์ค‘๊ฐ„์— ๋ฌผ์–ด๋ณด๋Š” ๊ฒƒ์ด ๋งŽ์œผ๋‹ˆ ์ง€์ผœ๋ณด๊ณ  ํ™•์ธํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ์‹œ๊ฐ„์€ 30์—ฌ๋ถ„ ์ •๋„ ์†Œ์š”๋œ๋‹ค. ์–ธ์  ๊ฐ€ ์ƒˆ๋กœ ์„ค์น˜ํ•  ๋•Œ๋Š” ์ตœ์‹  raspios๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์„ค์ •ํ•œ ํ›„์— ๋ฌธ์„œ๋กœ ์ •๋ฆฌํ•  ์˜ˆ์ •์ด๋‹ค. Howto ์•„๋ž˜ ๋‘ ํŒŒ์ผ์„ stretch -> buster๋กœ ๋ณ€๊ฒฝ $ sudo vi /etc/apt/sources.list $ sudo vi /etc/apt/sources.list.d/raspi.list $ sudo apt update $ sudo apt dist-upgrade $ sudo reboot ... $ cat /etc/os-release Reference Update Raspberry Pi - https://phoenixnap.com/kb/update-raspberry-pi

2023-08-26 ยท 116 words

Comment.nvim - nvim ์ฃผ์„์ฒ˜๋ฆฌ ํ”„๋กœ๊ทธ๋žจ

Intro ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ ๊ฐ ์–ธ์–ด๋ณ„ ์ฃผ์„์ฒ˜๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ ์ œ๊ฑฐ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ด€๋ จ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ค‘์— ๊ฐ€์žฅ ์ธ๊ธฐ๊ฐ€ ๋งŽ๊ณ  ์‚ฌ์šฉ์ด ํŽธ๋ฆฌํ•˜๋‹ค. Features Supports treesitter. Supports commentstring. Read :h comment.commentstring Supports line (//) and block (/* */) comments Dot (.) repeat support for gcc, gbc and friends Count support for [count]gcc and [count]gbc Left-right (gcw gc$) and Up-Down (gc2j gc4k) motions Use with text-objects (gci{ gbat) Supports pre and post hooks Ignore certain lines, powered by Lua regex Install With packer.nvim use { 'numToStr/Comment.nvim', config = function() require('Comment').setup() end } Manual Install $ cd ~/.local/share/nvim/site $ git clone https://github.com/numToStr/Comment.nvim $ cp Comment.nvim/plugin/Comment.lua plugin/ $ cp -r Comment.nvim/lua/Comment lua/ $ vi ~/.config/nvim/init.lua ... lua require('Comment').setup() :so % REFERNCE Comment.nvim Github: https://github.com/numToStr/Comment.nvim

2023-08-10 ยท 119 words