Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© DeNA Co., Ltd. 1 2025/03/21(金) DeNA.vim @ TechCon 2025 uhooi / 川口 真央 snacks.nvim 内のセットアップ不要な プラグインを紹介🍿
Slide 2
Slide 2 text
© DeNA Co., Ltd. 2 uhooi / 川口 真央 ● iOS アプリエンジニア ● Swift と Neovim が好き ● ポケカと蟲神器にハマっている ● 最近は謎解きもしている 株式会社ディー・エヌ・エー @uhooi @the_uhooi © DeNA Co., Ltd. 自己紹介
Slide 3
Slide 3 text
© DeNA Co., Ltd. 3 snacks.nvim、使っていますか?🙋
Slide 4
Slide 4 text
© DeNA Co., Ltd. 4 ● https://github.com/folke/snacks.nvim ● Neovim 用の QOL を上げる小さなプラグインの集まり ● 2025/03/21 現在、30つのプラグインがある ● 私にとっては snack🍿というより dinner🍝 「snacks.nvim」とは?
Slide 5
Slide 5 text
© DeNA Co., Ltd. 5 今回はセットアップ不要な プラグインを18つすべて紹介します!
Slide 6
Slide 6 text
© DeNA Co., Ltd. 6 1 ● https://github.com/folke/snacks.nvim/blob/main/docs/animate.md ● アニメーションライブラリ ● 試せていない animate
Slide 7
Slide 7 text
© DeNA Co., Ltd. 7 2 ● https://github.com/folke/snacks.nvim/blob/main/docs/bufdelete.md ● ウィンドウのレイアウトを崩さずにバッファを削除する ● 試せていない bufdelete
Slide 8
Slide 8 text
© DeNA Co., Ltd. 8 3 ● https://github.com/folke/snacks.nvim/blob/main/docs/debug.md ● コード内で使えるユーティリティ関数 ● 試せていない debug
Slide 9
Slide 9 text
© DeNA Co., Ltd. 9 4 ● https://github.com/folke/snacks.nvim/blob/main/docs/dim.md ● 他のスコープを暗くして、アクティブなスコープに焦点を合わせる ● 類似プラグイン ○ twilight.nvim ○ limelight.vim ○ goyo.vim dim
Slide 10
Slide 10 text
© DeNA Co., Ltd. 10 4 ● Snacks.dim() (Snacks.dim.enable()) ○ 他のスコープを暗くする dim
Slide 11
Slide 11 text
© DeNA Co., Ltd. 11 4 ● Snacks.dim.disable() ○ 他のスコープを明るくする dim
Slide 12
Slide 12 text
© DeNA Co., Ltd. 12 5 ● https://github.com/folke/snacks.nvim/blob/main/docs/git.md ● Git のユーティリティ git
Slide 13
Slide 13 text
© DeNA Co., Ltd. 13 5 git ● Snacks.git.blame_line() ○ git blame の内容をポップアップウィンドウで表示する
Slide 14
Slide 14 text
© DeNA Co., Ltd. 14 6 ● https://github.com/folke/snacks.nvim/blob/main/docs/gitbrowse.md ● Web ブラウザで Git リポジトリを開く(例: GitHub) gitbrowse
Slide 15
Slide 15 text
© DeNA Co., Ltd. 15 6 gitbrowse ● Snacks.gitbrowse() (Snacks.gitbrowse.open()) ○ Git リポジトリの対象行を Web ブラウザで開く
Slide 16
Slide 16 text
© DeNA Co., Ltd. 16 7 ● https://github.com/folke/snacks.nvim/blob/main/docs/indent.md ● インデントガイドとスコープを可視化する(デフォルト: 有効) ● 類似プラグイン ○ indent-blankline.nvim ○ mini.indentscope ○ hlchunk.nvim indent
Slide 17
Slide 17 text
© DeNA Co., Ltd. 17 7 ● Snacks.indent.disable() ○ インデントガイドの可視化を無効にする indent
Slide 18
Slide 18 text
© DeNA Co., Ltd. 18 7 ● Snacks.indent.enable() ○ インデントガイドの可視化を有効にする indent
Slide 19
Slide 19 text
© DeNA Co., Ltd. 19 8 ● https://github.com/folke/snacks.nvim/blob/main/docs/layout.md ● レイアウト ● 試せていない layout
Slide 20
Slide 20 text
© DeNA Co., Ltd. 20 9 ● https://github.com/folke/snacks.nvim/blob/main/docs/lazygit.md ● lazygit のラッパー ● 試せていない lazygit
Slide 21
Slide 21 text
© DeNA Co., Ltd. 21 10 ● https://github.com/folke/snacks.nvim/blob/main/docs/notify.md ● 通知を送る関数 notify
Slide 22
Slide 22 text
© DeNA Co., Ltd. 22 10 ● Snacks.notify('{string}') ○ 対象の文字列を通知する notify
Slide 23
Slide 23 text
© DeNA Co., Ltd. 23 10 notify ● レベル別に4つの関数がある ○ Snacks.notify.error() ○ Snacks.notify.info() ○ Snacks.notify.notify() ○ Snacks.notify.warn()
Slide 24
Slide 24 text
© DeNA Co., Ltd. 24 11 ● https://github.com/folke/snacks.nvim/blob/main/docs/profiler.md ● Neovim 用の低オーバーヘッドの Lua プロファイラー ● いくつかの関数を他のプラグインで上書きしているとエラーになるため 試せていない profiler
Slide 25
Slide 25 text
© DeNA Co., Ltd. 25 12 ● https://github.com/folke/snacks.nvim/blob/main/docs/rename.md ● 別プラグインをサポートする、LSP 統合ファイルのリネーム ● 試せていない rename
Slide 26
Slide 26 text
© DeNA Co., Ltd. 26 13 ● https://github.com/folke/snacks.nvim/blob/main/docs/scratch.md ● スクラッチバッファ ● 試せていない scratch
Slide 27
Slide 27 text
© DeNA Co., Ltd. 27 14 ● https://github.com/folke/snacks.nvim/blob/main/docs/terminal.md ● ターミナルウィンドウ ● 類似プラグイン ○ toggleterm.nvim ○ ugaterm.nvim terminal
Slide 28
Slide 28 text
© DeNA Co., Ltd. 28 14 ● Snacks.terminal.toggle() ○ ターミナルウィンドウの表示/非表示を切り替える terminal
Slide 29
Slide 29 text
© DeNA Co., Ltd. 29 15 ● https://github.com/folke/snacks.nvim/blob/main/docs/toggle.md ● 各プラグインのトグル ● Snacks.toggle.xxx() でトグルする toggle
Slide 30
Slide 30 text
© DeNA Co., Ltd. 30 15 toggle ● Snacks.toggle.dim() ○ dim をトグルする ○ なぜか効かない
Slide 31
Slide 31 text
© DeNA Co., Ltd. 31 16 ● https://github.com/folke/snacks.nvim/blob/main/docs/util.md ● ユーティリティ ● 試せていない util
Slide 32
Slide 32 text
© DeNA Co., Ltd. 32 17 ● https://github.com/folke/snacks.nvim/blob/main/docs/win.md ● フローティングウィンドウや分割ウィンドウの管理 ● 試せていない win
Slide 33
Slide 33 text
© DeNA Co., Ltd. 33 18 ● https://github.com/folke/snacks.nvim/blob/main/docs/zen.md ● zen mode で集中してコーディングする zen
Slide 34
Slide 34 text
© DeNA Co., Ltd. 34 18 ● Snacks.zen() (Snacks.zen.zen()) ○ zenn mode を切り替える zen
Slide 35
Slide 35 text
© DeNA Co., Ltd. 35 18 ● Snacks.zen.zoom() ○ ズームを切り替える zen
Slide 36
Slide 36 text
© DeNA Co., Ltd. 36