TL;DR

  • ์ฝ๊ธฐ ๋ชจ๋“œ์—์„œ ์ฃฝ์–ด๋ฒ„๋ฆฌ๋Š” vim ๋‚ด๋น„๊ฒŒ์ด์…˜์„ ๋˜์‚ด๋ฆฌ๋Š” Obsidian ํ”Œ๋Ÿฌ๊ทธ์ธ
  • j/k ์ค„ ๋‹จ์œ„, d/uยทCtrl+D/Ctrl+U ๋ฐ˜ ํŽ˜์ด์ง€, gg/G ์–‘ ๋ ์Šคํฌ๋กค
  • f๋กœ ํ™”๋ฉด์˜ ๋งํฌ์— ๋ผ๋ฒจ์„ ๋„์›Œ ํ‚ค๋ณด๋“œ๋งŒ์œผ๋กœ ์ด๋™ํ•˜๋Š” Vimium์‹ ๋งํฌ ํžŒํŠธ

Obsidian์—์„œ vim ํ‚ค ๋ฐ”์ธ๋”ฉ์„ ์ผœ๋†“๊ณ  ์“ด๋‹ค. ํŽธ์ง‘ํ•  ๋•Œ๋Š” j, k๋กœ ์ž˜ ๋Œ์•„๋‹ค๋‹ˆ๋Š”๋ฐ, ์ฝ๊ธฐ ๋ชจ๋“œ๋กœ ๋ฐ”๊พธ๋Š” ์ˆœ๊ฐ„ ๋‹ค ๋จนํ†ต์ด ๋œ๋‹ค.
๊ธ€์„ ์ฝ์„ ๋•Œ๋Š” ๊น”๋”ํ•˜๊ฒŒ ์ฝ๊ธฐ ๋ชจ๋“œ๋กœ ๋ณด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ๊ฐ€ ๋” ๋งŽ์•„์„œ, ์ฝ๋Š” ์ค‘์—๋„ ํ‚ค๋ณด๋“œ๋กœ ํœ™ํœ™ ๋„˜๊ธฐ๊ณ  ์‹ถ์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ฐพ์•„๋ดค๋”๋‹ˆ ๋งˆ์นจ ๋”ฑ ๋งž๋Š” ๊ฒŒ ์žˆ์—ˆ๋‹ค. vim-scrolling์ด๋ผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ธ๋ฐ, ์ฝ๊ธฐ ๋ชจ๋“œ์—์„œ๋„ j/k๋กœ ์Šคํฌ๋กคํ•˜๊ณ  gg, G๋กœ ์œ„์•„๋ž˜ ๋๊นŒ์ง€ ์ ํ”„๊ฐ€ ๋œ๋‹ค. ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ ๋”ฑ ๋“ค์–ด์žˆ์–ด์„œ ํ•œ์ฐธ ์ž˜ ์ผ๋‹ค.

๋‹ค๋งŒ ์“ฐ๋‹ค ๋ณด๋‹ˆ ๊ธฐ์กด ํฌ๋กฌ์—์„œ ์‚ฌ์šฉํ•˜๋˜ Vimium ์ต์Šคํ…์…˜๊ณผ ๋น„๊ตํ•˜์—ฌ ์‚ด์ง ์•„์‰ฌ์šด ๊ฒŒ ๋‘ ๊ฐœ ์žˆ์—ˆ๋‹ค.

ํ•˜๋‚˜๋Š” ๋ฐ˜ ํŽ˜์ด์ง€ ์Šคํฌ๋กค. Ctrl+D/Ctrl+U๋กœ๋งŒ ๋˜๋Š”๋ฐ ๋‚˜๋Š” ๊ทธ๋ƒฅ d/u๋กœ ๋ˆ„๋ฅด๋Š” ๊ฒŒ ํŽธํ–ˆ๋‹ค. ์ฝ๊ธฐ ๋ชจ๋“œ์—” ์–ด์ฐจํ”ผ ํŽธ์ง‘ ๊ธฐ๋Šฅ์ด ์—†์œผ๋‹ˆ d, u๋กœ ํ•ด๋„ ํฐ ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค (์›์ž‘์žํ•œํ…Œ ์ถ”๊ฐ€ํ•ด๋‹ฌ๋ผ๊ณ  ์ด์Šˆ๋„ ๋‚จ๊ฒจ๋ดค๋Š”๋ฐ ์›๋ณธ์€ vim ํ‘œ์ค€์— ์ถฉ์‹คํ•˜๊ฒŒ ๋‘๊ณ  ์‹ถ๋‹ค๋Š” ๋‹ต์ด ์™”๋‹ค)

๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋งํฌ์˜€๋‹ค. ์ฝ๋‹ค๊ฐ€ ๋งํฌ๋ฅผ ๋ˆ„๋ฅด๋ ค๋ฉด ๊ฒฐ๊ตญ ๋งˆ์šฐ์Šค๋กœ ์†์ด ๊ฐ”๋‹ค. ํฌ๋กฌ์—์„œ Vimium์œผ๋กœ f ๋ˆŒ๋Ÿฌ์„œ ๋งํฌ๋งˆ๋‹ค ๋ผ๋ฒจ ๋„์šฐ๊ณ  ํ‚ค๋ณด๋“œ๋กœ ์ ํ”„ํ•˜๋˜ ๊ฒŒ ์›Œ๋‚™ ํŽธํ–ˆ์–ด์„œ, ๊ทธ ๋А๋‚Œ์„ ์ฝ๊ธฐ ๋ชจ๋“œ์—๋„ ๋„ฃ๊ณ  ์‹ถ์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‘ ๊ฐœ๋ฅผ ๋ถ™์˜€๋‹ค.

  • Ctrl ์—†์ด d/u๋กœ๋„ ๋ฐ˜ ํŽ˜์ด์ง€ ์Šคํฌ๋กค
  • f๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ™”๋ฉด์— ๋ณด์ด๋Š” ๋งํฌ๋งˆ๋‹ค ๋ผ๋ฒจ์ด ๋œจ๊ณ , ๋ผ๋ฒจ์„ ์ž…๋ ฅํ•˜๋ฉด ๊ทธ ๋งํฌ๋กœ ์ ํ”„. ๋‚ด๋ถ€ ๋ฌธ์„œ๋Š” ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊นŒ์ง€ ๋œจ๊ณ , Enter๋กœ ์ด๋™(์™ธ๋ถ€ ๋งํฌ๋Š” URL์ด ์—ด๋ฆฐ๋‹ค), Esc๋กœ ์ทจ์†Œ.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์ฝ๋Š” ๋™์•ˆ ๋งˆ์šฐ์Šค์— ์† ์•ˆ ๋Œ€๊ณ  vim ํ‚ค๋งŒ์œผ๋กœ ๊ฑฐ์˜ ๋‹ค ๋œ๋‹ค. ๋”ฑ ์›ํ•˜๋˜ ๊ทธ๋ฆผ์ด๋‹ค.

์จ๋ณด๋ ค๋ฉด

์Šคํ† ์–ด์—” ์•ˆ ์˜ฌ๋ฆฐ ๊ฐœ์ธ์šฉ fork๋ผ ์ง์ ‘ ๋นŒ๋“œํ•ด์„œ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค.
https://github.com/DS-argus/obsidian-vim-scrolling

git clone https://github.com/DS-argus/obsidian-vim-scrolling vim-reading-nav
cd vim-reading-nav
npm install
npm run build

๋นŒ๋“œํ•˜๋ฉด ๋‚˜์˜ค๋Š” main.js, manifest.json, styles.css๋ฅผ ๋ณผํŠธ์˜ .obsidian/plugins/vim-reading-nav/์— ๋„ฃ๊ณ  Obsidian์„ ๋‹ค์‹œ ์ผœ๋ฉด ๋œ๋‹ค. ๋‘ ๊ฐ€์ง€๋งŒ ์ผœ์ ธ ์žˆ์œผ๋ฉด ๋œ๋‹ค โ€” Vim key bindings(์„ค์ • โ†’ ์—๋””ํ„ฐ), ๊ทธ๋ฆฌ๊ณ  ๋งํฌ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์“ฐ๋ ค๋ฉด Page Preview ์ฝ”์–ด ํ”Œ๋Ÿฌ๊ทธ์ธ.