[[ðArticles]] > [[ð2025 Articles]]
![[2025-06-15-1.webp|cover-picture]]
[[ðç®æãäºåæµïŒ VSCodeãNeovimè²ã«ã³ãŒãã£ããŒãããŠã¿ã]] ã®åŸç·šã§ãã
## ãããã
ååã[[Neovim]]ãš[[VSCode]]ã®äºåæµã§æ¥œããå¿«é©ã«éçºã§ããããã«ã[[VSCode]]ã[[Neovim]]è²ã«ã³ãŒãã£ããŒãããŠã¿ãèšäºãæžããŸããã
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" />
<span class="link-card-v2-site-name">Minerva</span>
</div>
<div class="link-card-v2-title">
ðç®æãäºåæµïŒ VSCodeãNeovimè²ã«ã³ãŒãã£ããŒãããŠã¿ã
</div>
<div class="link-card-v2-content">VSCodeã®Neovim颚ã«ã¹ã¿ãã€ãºãããŒããŒãæäœãUIã®ã·ã³ãã«åãVSCode Neovimæ¡åŒµã®å°å
¥æ¹æ³ãªã©ããNeovimã¡ãããšVSCodeã¡ããã察話圢åŒã§ãå±ãããŸãã</div>
<img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/%F0%9F%93%98Articles/attachments/2025-06-02.webp" />
<a data-href="ðç®æãäºåæµïŒ VSCodeãNeovimè²ã«ã³ãŒãã£ããŒãããŠã¿ã" class="internal-link"></a>
</div>
%%[[ðç®æãäºåæµïŒ VSCodeãNeovimè²ã«ã³ãŒãã£ããŒãããŠã¿ã]]%%
ããããèšäºã®ããªã¥ãŒã ãåœåæ³å®ããŠããåè¿ãã«ãªã£ãŠããŸã£ããããæ¥éœåç·šãšåŸç·šã«åããããšã«ããŸããã
> 1èšäºã§çµããããã€ããã§ããããæ³å以äžã®åéã«ãªã£ãŠããŸã£ãã®ã§ç¶ãã¯åŸç·šãšããŸããè»è·¡ã·ãªãŒãºå¶äœè
ã®æ°æã¡ãåããæ°ãããŸããð€£
ãã®ãããåç·šãäžèªããããšã«èªãã§ããã ããšã¹ã ãŒãºã«æ¬ç·šãžå
¥ãããšæããŸãã
## åæ
### 察象èªè
åç·šãšã¯å°ã察象èªè
ãå€ãããŸãã
| 察象 | ãªã¹ã¹ã¡åºŠ |
| -------------------------------------- | ----- |
| [[Neovim]]å©çšè
ã§ããã[[VSCode]]ã仿¹ãªã䜿ã£ãŠããæ¹ | âââ |
| [[Neovim]]ã®æäœæ§ãåãå
¥ããŠ[[VSCode]]ã匷åããã人 | âââ |
| [[VSCode]]ã®ç°å¢ã匷åãããæ¹ | ââ |
### ç°å¢
PCã¯[[MacBook Pro M4 Pro]]ã䜿ã£ãŠããŸãããŸãã[[OS]]ãããŒã«ã®ããŒãžã§ã³ã¯ä»¥äžã®éãã§ãã
| 察象 | ããŒãžã§ã³ |
| ---------- | ------- |
| [[macOS]] | 15.5 |
| [[VSCode]] | 1.100.3 |
### é²è¡
åç·šã«åŒãç¶ãã[[Neovimã¡ãã]]ãš[[VSCodeã¡ãã]]ã®å¯Ÿè©±åœ¢åŒãã¡ã€ã³ã«é²è¡ããŠãããŸãã
## åé
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããŠããã£ããäŒæ©ããšã£ãããããããåéããããïŒ ã³ãŒã¡ãã([[VSCodeã¡ãã]])ã®èª¿åã¯ã©ãããªïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> çããã®ãšã³ãŒããŒã®ãããã¹ãããªããŸãããåŒãç¶ããããããé¡ãããŸãããããªã¡ãã([[Neovimã¡ãã]])ã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããããããããäŒæ©åã«äœããã£ããã軜ãããããããŠããããïŒ
> [!info] åç·šã§ãã£ãããš
>
> - Neovimã£ãœãèŠãç®ã«ãã
> - äžèŠãªã³ã³ããŒãã³ããé衚瀺ã«ãã
> - ãšãã£ã¿ã®è¡šç€ºãæå°éã«ãã
> - ããŒããšã¢ã€ã³ã³ã®å€æŽ
> - Neovimã®è¡ã泚ã
> - VSCode Neovimã®ã€ã³ã¹ããŒã«
> - VSCodeã®èšå®
> - Neovimã®èšå®
> - LSPãç¡å¹åãã
> - lazy.nvimã§äžèŠãªãã©ã°ã€ã³ãç¡å¹åãã
> - ããŒãããã®èª¿æŽ
> - UIã«é¢ããããŒããããå¥ã§èšå®ãã
> - ãšãã£ã¿ä»¥å€ã§å©çšãããããããŒãèšå®ãã
> - ããã©ã«ãã§ã¯å©çšã§ããªãããŒããã
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> èŠãç®ãã¹ãããªãããŠã[[Neovim]]ã®æäœã[[VSCode]]ã§ã䜿ããããã«ãããã§ãããããã©ã°ã€ã³ã®èª¿æŽãããŒãããåšãã¯çµæ§å€§å€ã ã£ããªãšæããŸãã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããããã«æ¯ã¹ããšã仿¥ã®è©±ã¯[[VSCode]]ã®ã³ãã³ãããã©ã°ã€ã³ã®è©±ãã¡ã€ã³ã«ãªããšæããããçè§£ãããããšæããã[[Neovim]]ãšçŽæ¥é¢ä¿ãªããã®ãå€ãããïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> **[[Neovim]]ã«èå³ããªããŠãã[[VSCode]]ãã«ã¹ã¿ãã€ãºãããæ°æã¡ãããæ¹ã«ã¯åèã«ãªã話ãå€ã**ãšããããšã§ããããŠããæ¥œãã¿ã«ãªã£ãŠããŸããã
## Lazygitã䜿ã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããŸãã¯[[Git]]æäœãããã£ã¡ãããã[[Neovim]]ã§ã¯[[lazygit.nvim]]ãŠãããã©ã°ã€ã³ããã£ãŠãããã䜿ããš[[Neovim]]ãèµ·åãããŸãŸ[[Lazygit]]ãéããŠæäœãã§ãããã ãïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ã¡ãã£ãšåŸ
ã£ãŠãã ãããããªã¡ããã[[Lazygit]]ã£ãŠãªããªã®ã§ããããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããã[[VSCode]]ã§éçºãããŠãããšããŸã銎æã¿ããªãããã[[Lazygit]]ãšããã®ã¯[[Git]]æäœã«ç¹åãã[[TUI]]ããŒã«ã®ããšã ãã
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" />
<span class="link-card-v2-site-name">GitHub</span>
</div>
<div class="link-card-v2-title">
GitHub - jesseduffield/lazygit: simple terminal UI for git commands
</div>
<div class="link-card-v2-content">
simple terminal UI for git commands. Contribute to jesseduffield/lazygit development by creating an account on G ...
</div>
<img class="link-card-v2-image" src="https://opengraph.githubassets.com/7d9561ecdbd946f66187cab6d8d25ed53b12b0d8aaf177020dbd686896e147f9/jesseduffield/lazygit" />
<a href="https://github.com/jesseduffield/lazygit"></a>
</div>
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãªãã»ã©...ãã¿ãŒããã«ã ãš `git commit -m "hogehoge"` ã¿ããã«ã³ãã³ããæã€ããšããã§ããªããšæã£ãŠããŸãããã[[GUI]]ã®ãããªæäœãã§ãããã§ããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããéœåºŠé·ãã³ãã³ããæã€å¿
èŠããªãããããŒããŒãã§æäœãå®çµãããããã¿ãŒããã«ãšã®çžæ§ã¯ãããã·ãªãã ãïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãŠãã¯ãã£ãš[[Git Graph]]ãšãã[[VSCode Extension]]ã䜿ã£ãŠããŸãããããã§ãã©ã®ããã«ããã°ããã®ã§ããããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> [[LazyGit VSCode]]ãšãã[[VSCode Extension]]ãã€ã³ã¹ããŒã«ããã°OKã ãïŒ
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://marketplace.visualstudio.com/favicon.ico" />
<span class="link-card-v2-site-name">marketplace.visualstudio.com</span>
</div>
<div class="link-card-v2-title">
LazyGit VSCode - Visual Studio Marketplace
</div>
<div class="link-card-v2-content">
Extension for Visual Studio Code - Native integration of LazyGit directly in a VSCode window
</div>
<img class="link-card-v2-image" src="https://tompollak.gallerycdn.vsassets.io/extensions/tompollak/lazygit-vscode/0.1.16/1749198854669/Microsoft.VisualStudio.Services.Icons.Default" />
<a href="https://marketplace.visualstudio.com/items?itemName=TomPollak.lazygit-vscode"></a>
</div>
```json
// settings.json
{
// éããšãã£ã¿ãç°ãªãã®ã§éãèšå®
"lazygit-vscode.configPath": "~/git/github.com/tadashi-aikawa/toki/mnt/lazygit/vscode-config.yml",
// åå²ãšãã£ã¿ã§éããæã«ã察å¿
"lazygit-vscode.autoMaximizeWindow": true,
// Lazygitãèµ·åãããå
šç»é¢è¡šç€º. hideRestoreã¯ããšããšé衚瀺ã§ã衚瀺ãããŠããŸãã®ã§æå®ããªã
"lazygit-vscode.panels": {
"sidebar": "hide",
"panel": "hide",
"secondarySidebar": "hide"
},
}
```
```lua
-- lua/keymaps.lua
if vim.g.vscode then
-- Space g ã§èµ·åããå Žå
vim.keymap.set("n", "<space>g", function()
vscode.action("lazygit-vscode.toggle")
end)
end
```
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> `lua/keymaps.lua` ãžèšå®ãå¿
èŠãªçç±ãå¿ãã¡ãã£ãã [[ðç®æãäºåæµïŒ VSCodeãNeovimè²ã«ã³ãŒãã£ããŒãããŠã¿ã#UIã«é¢ããããŒããããå¥ã§èšå®ãã]] ã確èªããŠã¿ãŠãïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãã... æ®éã«[[Lazygit]]ã䜿ããšããšã¯èšå®ãã¡ã€ã«ãéããã§ããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããããæ°ã¥ãããïŒ `os.editPreset` ã« `vscode` ãèšå®ãããã`promptToReturnFromSubprocess` ã `false` ã«ããªããã°ãããªããããå¥ã®èšå®ãã¡ã€ã«ãå¿
èŠãªãã ãã
```yaml
# lazygit/vscode-config.yml
# ãã®2ã€ã®èšå®ãå¿
èŠ
os:
editPreset: "vscode"
promptToReturnFromSubprocess: false
# ããšã¯éåžžã®Lazygitãšåãèšå®
```
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãªãã»ã©... [[VSCode]]ãããã[[Lazygit]]ã䜿ããªããã°æå®ããªããŠãè¯ãããã§ããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããã¿ããªæåã¯ããèšããã ãããã§ããäžåºŠ[[Lazygit]]ã䜿ãåããŠããŸã£ããé¢ããããªããªããšæããïŒ ãã£ããã ãããå°ãåç»ã§ç޹ä»ãããïŒ
![[20250615_13_38_53.mp4|frame]]
*LazyGit VSCode ã§ gitæäœ*
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãã... äœãåãããªããšã¯åãã£ãæ°ãããŸãã
> (æäœãéãããŠäœãããŠããã®ãå
šç¶åãããªãã£ããã©...)
## oil.nvimã䜿ã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> 次ã¯[[oil.nvim]]ã®ãããªãšã¯ã¹ãããŒã©ãŒãå
¥ãã¡ãããïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãããªã€ã«...ïŒ
> (æ²¹ãããªãã§ããã...)
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããã³ãŒã¡ããã¯å€åç¥ããªãããã[[oil.nvim]]ã¯[[Neovim]]ã®ææ³ã«æ²¿ã£ãŠãããã¡ããŒã¹ã§ãã¡ã€ã«ããã©ã«ãã管çã§ããåããšã¯ã¹ãããŒã©ãŒãªãã ãïŒ
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" />
<span class="link-card-v2-site-name">GitHub</span>
</div>
<div class="link-card-v2-title">
GitHub - stevearc/oil.nvim: Neovim file explorer: edit your filesystem like a buffer
</div>
<div class="link-card-v2-content">
Neovim file explorer: edit your filesystem like a buffer - stevearc/oil.nvim
</div>
<img class="link-card-v2-image" src="https://opengraph.githubassets.com/bdbe247ec5e2bcd50e618a70cbfbd30b65002b54cfde1e23908ffcb2d692e1f5/stevearc/oil.nvim" />
<a href="https://github.com/stevearc/oil.nvim"></a>
</div>
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãããªãã§ãããç¥ããªãã£ãã§ããã§ã[[VSCode]]ã¯æšæºã®ãšã¯ã¹ãããŒã©ãŒãã€ããŠãŸãããç¡çã«[[Neovim]]ã£ãœããæ±ããªããŠããããããªæ°ãããŸãããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããã[[Lazygit]]ãšåãã§ã¿ããªæåã¯ããèšããã ãããã§ãäžåºŠ[[oil.nvim]]ã«èº«äœã銎æãããããšãä»ã®ãšã¯ã¹ãããŒã©ãŒã䜿ããªããŠèããããªããªããã ãïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãª... ãªãã»ã©ã...ã
> ([[Neovim]]ã®ææ³... ãšããããããããŠãã«ã¯åããªãã...)
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> [[oil.code]]ãšãã[[VSCode Extension]]ãã€ã³ã¹ããŒã«ããã°ã[[VSCode]]ã§[[oil.nvim]]ã£ãœãããšãã§ããããã«ãªããïŒ
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://marketplace.visualstudio.com/favicon.ico" />
<span class="link-card-v2-site-name">marketplace.visualstudio.com</span>
</div>
<div class="link-card-v2-title">
oil.code - Visual Studio Marketplace
</div>
<div class="link-card-v2-content">
Extension for Visual Studio Code - Provides an Oil.nvim like experience for VSCode.
</div>
<a href="https://marketplace.visualstudio.com/items?itemName=haphazarddev.oil-code"></a>
</div>
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ã¬ãã¥ãŒãã€ã³ã¹ããŒã«æ°ãå°ãªãã§ãã...ã倧äžå€«ãªã®ã§ããããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããããŸã æ°ãããã©ã°ã€ã³ã ãã[[Neovim]]ã§[[oil.nvim]]ã䜿ã£ãŠãã人ãšã¿ãŒã²ãããçãããã ãšæããã詊ãã«äœ¿ã£ãŠã¿ãŠæ°ã«å
¥ã£ããã³ãŒã¡ãããã¬ãã¥ãŒããŠã¿ãŠãïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ããããŸããã
> (ããã¯äœ¿ããªããšãããªãæµãã«ãªã£ãŠããã®ã§ã¯...)
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããèšå®ã玹ä»ãããã
```json
// settings.json
{
"oil-code.hasNerdFont": true,
// ãããtrueã«ããªããšãåæã«vimã®ããŒããããç¡å°œèµã«è¿œå ãããŠããŸã
"oil-code.disableVimKeymaps": true,
// èµ·ååŸãäœãéãããŠããªãå Žåã§ããèªåã§ã«ã¬ã³ããã£ã¬ã¯ããªãéããªã
"oil-code.disableOpenCwdNothingOpen": true,
}
```
```lua
-- lua/keymaps.lua
-- space o ã§èµ·åããå Žå
vim.keymap.set("n", "<space>o", function()
vscode.action("oil-code.open")
end)
vim.api.nvim_create_autocmd("FileType", {
pattern = "oil",
callback = function(event)
-----------------------------------------------
-- Oil.Codeã®ã¿ããéããããšãã ãèšå®ããããŒããã
-----------------------------------------------
local opts = { buffer = event.buf, noremap = true, silent = true }
vim.keymap.set("n", "<CR>", function()
vscode.action("oil-code.select")
end, opts)
vim.keymap.set("n", "<C-CR>", function()
vscode.action("oil-code.selectVertical")
end, opts)
-- æ°Žå¹³æ¹åã«å±éããã³ãã³ãã¯ãªãã®ã§è€æ°ã³ãã³ããåæã§é£ç¶ããã
vim.keymap.set("n", "<C-s>", function()
vscode.call("workbench.action.splitEditorDown")
vscode.call("oil-code.selectTab")
vscode.call("workbench.action.previousEditorInGroup")
vscode.call("workbench.action.closeActiveEditor")
end, opts)
vim.keymap.set("n", "-", function()
vscode.action("oil-code.openParent")
end, opts)
vim.keymap.set("n", "_", function()
vscode.action("oil-code.openCwd")
end, opts)
vim.keymap.set("n", "<C-l>", function()
vscode.action("oil-code.refresh")
end, opts)
end,
})
```
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> çµæ§èšå®ãå€ãã§ããã[[oil.nvim]]ã䜿ã£ãããšããªãã®ã§ã€ã¡ãŒãžã沞ããªãã§ãã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããããã ããããããã[[oil.code]]ãå°ãæäœåç»ã玹ä»ãããïŒ
![[20250615_17_44_25.mp4|frame]]
*oil.code ã§ãã¡ã€ã«ãéãããã³ããŒããã*
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãã...ãã²ãšãŸããŠãã®ç¥ã£ãŠãã[[VSCode]]ã®ãšã¯ã¹ãããŒã©ãŒãšã¯å
šç¶éããããªã®ãåãããŸããã
> (ããªã¡ããã®ãªã¹ã¹ã¡ã¯ã¬ãã«ãé«ããããã...)
## TODO Commentsã䜿ã
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ... ãµã
ã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> (ã³ãŒã¡ãããã¡ãã£ãšç²ããŠããã®ããª... ããã)
> 次ã¯[[Todo Comments]]ãšããã³ã¡ã³ããç®ç«ãããæ©èœãå
¥ããŠã¿ããïŒ
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" />
<span class="link-card-v2-site-name">GitHub</span>
</div>
<div class="link-card-v2-title">
GitHub - folke/todo-comments.nvim: â
Highlight, list and search todo comments in your projects
</div>
<div class="link-card-v2-content">
â
Highlight, list and search todo comments in your projects - folke/todo-comments.nvim
</div>
<img class="link-card-v2-image" src="https://repository-images.githubusercontent.com/366156426/09850900-b3b8-11eb-91d2-4c2099dd3541" />
<a href="https://github.com/folke/todo-comments.nvim"></a>
</div>
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãµããµãã`TODO` ã `FIXME` ã®ãããªã³ã¡ã³ãããã€ã©ã€ãããŠããããã§ããã
> (ãããªããŠãã§ãå
¥ããããã...)
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããã[[Better Comments]]ãšãã[[VSCode Extension]]ãã€ã³ã¹ããŒã«ãããšå®çŸã§ãããïŒ ãã ã[[Todo Comments]]ã«ãããããªãèšå®ã¯èªåã§æžãå¿
èŠããããããããã ãèŠæ³šæã ãã
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://marketplace.visualstudio.com/favicon.ico" />
<span class="link-card-v2-site-name">marketplace.visualstudio.com</span>
</div>
<div class="link-card-v2-title">
Better Comments - Visual Studio Marketplace
</div>
<div class="link-card-v2-content">
Extension for Visual Studio Code - Improve your code commenting by annotating with alert, informational, TODOs, ...
</div>
<img class="link-card-v2-image" src="https://aaron-bond.gallerycdn.vsassets.io/extensions/aaron-bond/better-comments/3.0.2/1659144495902/Microsoft.VisualStudio.Services.Icons.Default" />
<a href="https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments"></a>
</div>
```json
// settings.json
{
"better-comments.tags": [
{ "tag": "FIXME", "color": "#FFFFFF", "backgroundColor": "#DC2626" },
{ "tag": "DANGER", "color": "#FFFFFF", "backgroundColor": "#DC2626" },
{ "tag": "WARN", "color": "#000000", "backgroundColor": "#FBBF24" },
{ "tag": "HINT", "color": "#000000", "backgroundColor": "#10B981" },
{ "tag": "TODO", "color": "#CDCDCD", "backgroundColor": "#2563EB" },
{ "tag": "INFO", "color": "#CDCDCD", "backgroundColor": "#2563EB" }
],
}
```
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãããããã®èšå®ãªããŠãã§ãçè§£ã§ãããã§ãã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> [[VSCode]]ã§ç¢ºèªãããšããããªãã€ã©ã€ãã«ãªããïŒ
![[2025-06-15-18-03-50.avif]]
## ãã¡ãžãŒãã¡ã€ã³ããŒã®èè€
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããŠãã³ãŒã¡ãããå
æ°ã«ãªã£ãŠããããšã ããæåŸã®ãé¡ã«è¡ãããïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ã€ãã«æåŸãªãã§ãã... ãããããé¡ãããŸãã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> æåŸã¯[[ãã¡ãžãŒãã¡ã€ã³ããŒ]]ã«ã€ããŠã ãïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> [[ãã¡ãžãŒãã¡ã€ã³ããŒ]]ã£ãŠèšããšãå
¥åããã¯ãŒãã«ãã¡ã€ã«åããã¡ã€ã«ã®äžèº«ããããããäžèЧããªã¹ãã¢ããã§ãããã€ã§ãããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããç®çã®ãã¡ã€ã«ãç®æãéããããšãã«äŸ¿å©ã ããïŒ [[Neovim]]ã ãš[[telescope.nvim]]ãæåãªãã ãã©ããããã¯æè¿ã ãš[[snacks.picker]]ãšããã®ã䜿ã£ãŠãããïŒ
### ããã©ã«ãã®ãã¡ãžãŒãã¡ã€ã³ããŒã¯ïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãã¡å
ã§èããŸããã©ãæšæºã®[[ãã¡ãžãŒãã¡ã€ã³ããŒ]][^1]ã§ã¯ãã¡ãªã®ã§ããããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããæ°ã«ãªããããæšæºã®[[ãã¡ãžãŒãã¡ã€ã³ããŒ]]ã¯ãããŒã¯ãŒãã®ãããå
·åã¯ã€ã€æããªãã ãã©ãéžæäžã®ãã¡ã€ã«ããã¬ãã¥ãŒãããªããã ããã
![[20250615_18_59_38.mp4|frame]]
*Neovimã®snacks.pickerã䜿ã£ãŠãã¬ãã¥ãŒè¡šç€º*
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> [[snacks.picker]]ãåããŠèŠãŸããããããã¯äŸ¿å©ã§ããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããããã[[VSCode]]ã«ãããããæ©èœãèšå®ããã£ããæããŠãïŒ
### FindItFasterã¯ïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> å®ã¯äžåºŠ [[FindItFaster]] ã£ãŠãã[[VSCode Extension]]ã䜿ã£ãŠããããšããããã ãã
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://marketplace.visualstudio.com/favicon.ico" />
<span class="link-card-v2-site-name">marketplace.visualstudio.com</span>
</div>
<div class="link-card-v2-title">
FindItFaster - Visual Studio Marketplace
</div>
<div class="link-card-v2-content">
Extension for Visual Studio Code - Find it, but faster! Leveraging fzf and rg.
</div>
<img class="link-card-v2-image" src="https://tomrijndorp.gallerycdn.vsassets.io/extensions/tomrijndorp/find-it-faster/0.0.39/1726465450078/Microsoft.VisualStudio.Services.Icons.Default" />
<a href="https://marketplace.visualstudio.com/items?itemName=TomRijndorp.find-it-faster"></a>
</div>
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> [[fzf]]ãš[[ripgrep]]ã[[bat]]ã䜿ã£ãŠæšæºãããé«éãªæ€çŽ¢ãæäŸããŠãããã§ãããããã ãèŠããšè¯ãããã«èŠããŸãã...ã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããããã ãã¿ãŒããã«ã§ã³ãã³ããå®è¡ããéžæãããã[[VSCode]]ã§éãçŽãããã«ãªã£ãŠããããã**UIã®åŠçãé
ãèŠããŠããŸã£ã**ãã ããã
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãªãã»ã©ããããæ€çŽ¢é床ãéããŠããã³ãã³ãå®è¡ãã衚瀺ãŸã§ã®äœæé床ãäžãã£ãŠããŸã£ããå¬ãããªãã§ããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããšã¯ãåå²ããŠè€æ°ã®[[ãšãã£ã¿ã°ã«ãŒã (VSCode)|ãšãã£ã¿ã°ã«ãŒã]]ã䜿ã£ãŠãããšãã¯ã衚瀺ãããé åãçããªã£ãŠèŠã«ãããªã£ãŠããŸããšããã®ããããã
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãã¬ãã¥ãŒèœåã¯çæ³éããªã ããã£ãŠãæããã§ããã
### Search Previewã¯ïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãã1ã€ã®åè£ãšã㊠[[Search Preview]] ãšãã[[VSCode Extension]]ããã£ããã ãã
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://marketplace.visualstudio.com/favicon.ico" />
<span class="link-card-v2-site-name">marketplace.visualstudio.com</span>
</div>
<div class="link-card-v2-title">
Search Preview - Visual Studio Marketplace
</div>
<div class="link-card-v2-content">
Extension for Visual Studio Code - Preview files while searching, telescope style
</div>
<img class="link-card-v2-image" src="https://zaidalsaheb.gallerycdn.vsassets.io/extensions/zaidalsaheb/search-preview/0.3.0/1745489786666/Microsoft.VisualStudio.Services.Icons.Default" />
<a href="https://marketplace.visualstudio.com/items?itemName=zaidalsaheb.search-preview"></a>
</div>
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> è©äŸ¡ãé«ããŠè¯ãããã§ããã説ææã«ãã[[telescope.nvim]]ã®ããã«ãã¬ãã¥ãŒæ©èœãæããã[[Quick Open (VSCode)|Quick Open]]ããšæžãããŠããŠãããã§ããããããªããã§ããããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããããæããããæ©èœã®æ¹ã¯éåžžã«è¯ãã£ããã ãã©ã2ç¹ã»ã©åããããããªãåé¡ããã£ããã ããã®1ã€ã **ãã¬ãã¥ãŒãããã¡ã€ã«ã¯ãã¹ãŠã¿ããæ®ã£ãŠããŸã** ãšããããšãªãã ããã
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãªãã»ã©ããšããããšã¯ãâã6åæŒããŠæ±ºå®ããããæ°ãã«7ã€ã®ã¿ããéããŠããŸããã§ããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããããããã¯ç¡é§ãªã¿ããéãããæ®ããŠããã®ãå«ã ãããããã¯çµæ§ã¯ãªãã£ã«ã«ã ã£ããã ïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> éã«ãã¿ããããã€éããŠãæ°ã«ããªã人ã§ããã°å€§äžå€«ããã§ããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããããã1ã€ã®åé¡ã¯ **å
ãã¡ã€ã«ã®ã«ãŒãœã«äœçœ®ãä¿æãããªã** ãšããããšãªãã ããã
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> [[Search Preview]]ããæ°ãããã¡ã€ã«ãéããããšã«ãåã®äœçœ®ã«æ»ãããšããŠãæ»ããªããšããããšã§ããããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããã**å¿
ããã¡ã€ã«ã®å
é ã«ç§»åããŠããŸã**ãã ãïŒ [[ãã±ãŒã·ã§ã³ãªã¹ã (Vim)|ãã±ãŒã·ã§ã³ãªã¹ã]]ãæèãã[[Vimmer]]ãšããŠããã¯èŽåœçãªå¶éãªãã ãã
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãããã«ãä»ã®ãã¡ã€ã«ãç·šéäžã«ãå°ãä»ã®ãã¡ã€ã«ã確èªããããªã£ãŠç§»åããããšãå
ã®äœçœ®ã«ç°¡åã«æ»ããªãã®ã¯å€§å€ã§ãããã
> ([[ãã±ãŒã·ã§ã³ãªã¹ã (Vim)|ãã±ãŒã·ã§ã³ãªã¹ã]]ïŒïŒ)
## å
šææ€çŽ¢ã®ãã¬ãã¥ãŒ
### Quick Search
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> [[ãã¡ãžãŒãã¡ã€ã³ããŒ]]ã[[Neovim]]è²ã«ã³ãŒãã£ããŒãããã®ã¯å¿ãæããããã©ãå
šææ€çŽ¢ã ãã¯å°ãæµæã§ãããã ïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãã¬ãã¥ãŒã§ãããšããããšã§ããããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããã[[VSCode]]ã®v1.89ãã远å ãããæ©èœ [[Quick Search]] ã䜿ãã ãã§ãããã ãïŒ
![[20250615_19_57_52.mp4|frame]]
*Quick Search ã§ deno ãæ€çŽ¢*
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãããã¡ãããšãã¬ãã¥ãŒã§ããŠãŸããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããããã ã**[[Quick Search]]ã§ç§»åããåŸã¯[[ãã±ãŒã·ã§ã³ãªã¹ã (Vim)|ãã±ãŒã·ã§ã³ãªã¹ã]]ããããããªã** ãšããåé¡ãçºçãããã ãããã¯[[Search Preview]]ãšåãã ããã
### grug-far.nvim ã£ãœãçµæè¡šç€º
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãšããã§ããªã¡ããã**æåŸ** ãšèšã£ãŠããé·ããªãã§ããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããããæ¬åœã«ããã§æåŸã«ããããå®ã¯[[Neovim]]çéã§æè¿[[grug-far.nvim]]ãšãããã©ã°ã€ã³ãåºãŠãããã ãïŒ
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" />
<span class="link-card-v2-site-name">GitHub</span>
</div>
<div class="link-card-v2-title">
GitHub - MagicDuck/grug-far.nvim: Find And Replace plugin for neovim
</div>
<div class="link-card-v2-content">
Find And Replace plugin for neovim. Contribute to MagicDuck/grug-far.nvim development by creating an account on ...
</div>
<img class="link-card-v2-image" src="https://opengraph.githubassets.com/338893d2269ad2d653359d8858a1465d7e2833380b39750370361ed34eaef3ae/MagicDuck/grug-far.nvim" />
<a href="https://github.com/MagicDuck/grug-far.nvim"></a>
</div>
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãããªãã§ããããã®[[grug-far.nvim]]ãã©ã°ã€ã³ãã©ãé¢ä¿ããã®ã§ããããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããããã説æãããã[[Neovim]]ã§ã¯å
šææ€çŽ¢ããçµæãç·šéããå Žåã[[vimgrep (Vim)|vimgrep]]ããã©ã°ã€ã³ã§æ€çŽ¢ããçµæã[[ã¯ã€ãã¯ãã£ãã¯ã¹ãªã¹ã (Vim)|ã¯ã€ãã¯ãã£ãã¯ã¹ãªã¹ã]]ã«éã£ãŠãããã1ã€1ã€ç·šéãããã[[quicker.nvim]]ã§[[ã¯ã€ãã¯ãã£ãã¯ã¹ (Vim)|ã¯ã€ãã¯ãã£ãã¯ã¹]]ã®[[ãããã¡ (Vim)|ãããã¡]]ãç·šéããªããã°ãããªããã ã
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ïŒïŒïŒïŒïŒ
> ã©ãªããªããšã©ãïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> (ãããŸãã)
> ç°¡åã«èšããšãäžçŽè
以äžãã§ãªããšé£ããæäœãªãã ããã[[grug-far.nvim]]ãã©ã°ã€ã³ã¯ãåå¿è
ãã§ãç°¡åã«æäœã§ãããšããç¹ã§ç»æçãªãã ãïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãªãã»ã©ãç°¡åã«å
šææ€çŽ¢çµæãç·šéã»çœ®æã§ãããã©ã°ã€ã³ãªãã§ããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããå®ã¯[[VSCode]]ã§ããããèšå®ãããããšã§[[grug-far.nvim]]ã®ããã«æ€çŽ¢çµæã衚瀺ã§ãããã ãïŒ
```json
// settings.json
{
// -- [â
ããã¯å¿
é ] å
šææ€çŽ¢ã§éãã¿ãã¯1ã€
"search.mode": "reuseEditor",
// [以äžã¯ä»»æ]
// -- æ€çŽ¢çµæãåºãããèªåã§çµæåŽã«ã«ãŒãœã«ããã©ãŒã«ã¹
"search.searchEditor.focusResultsOnSearch": true,
// -- Enterãªãã§æ€çŽ¢ããªã
"search.searchOnType": false,
}
```
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> `search.mode` ã倿Žããã ãã§å€ããã®ã§ããããã£ãããªã®ã§ãŠãããã£ãŠã¿ãŸãã
![[2025-06-15-20-33-23.avif]]
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãããããªã¡ããã®å¥œããããªç»é¢ãåºãŠããŸãããã«ãŒãœã«ã該åœç®æã«ããã㊠`Go to Definition` ãå®è¡ããã°è©²åœç®æã«ãç§»åã§ããŸããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããçµæã®[[ãšãã£ã¿ (VSCode)|ãšãã£ã¿]]ã¯[[ãã±ãŒã·ã§ã³ãªã¹ã (Vim)|ãã±ãŒã·ã§ã³ãªã¹ã]]ã«ãç»é²ãããããã`<C-i>` ã `<C-o>` ã§è¡ã£ããæ¥ãããã§ãããã ãïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ã¡ãªã¿ã«ãæ€çŽ¢çµæã[[ãšãã£ã¿ (VSCode)|ãšãã£ã¿]]ã§ç·šéãäžæ¬çœ®æãã§ããã®ã§ããããïŒ
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããããæ®å¿µãªãã察å¿ããŠããªãã¿ãããªãã ãããç·šéãäžæ¬çœ®æãããããªã£ãããã³ãŒã¡ããã[[Neovim]]ã«ããŠ[[grug-far.nvim]]ã䜿ãããïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ãŸ... ååãã«æ€èšããŸããã
> (ãŠã㯠`Search: Replace in Files` ã§ååããª...ã)
## ã¯ããŒãžã³ã°
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ããã§ä»æ¥ã®ã話ã¯çµããã ãïŒ é·ãæéã€ããã£ãŠãããŠããããšãïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> ããããããŠãã®æ¹ããè²ã
å匷ã«ãªããŸãããããããšãããããŸããã
> [!right-bubble] ![[neovim-chan-face1.webp]]
>
> ãããåŸã¯éå¶ã®äººã«ä»»ãã¡ãããšããŠãåããã®éšå±ã§æ©ãã¯ããé£ã¹ãããïŒ
> [!left-bubble] ![[vscode-chan-face1-transparent.webp]]
>
> (éå¶ã®äºº...ïŒ èª°ã®ããšã ããïŒ)
> åãããŸãããããã§ã¯ã§ããªãã£ãã話ãšããã§ãããšå¬ããã§ãã
<p style="text-align: center; font-size: 150%; font-weight: bold; letter-spacing: .3rem;">
Fin
</p>
---
é·ãããåãã«ãä»ãåãããã ãããããšãããããŸããã
ä»ã®æä»£ã¯[[AI]]ã«é¢ããæ
å¢ãç®ãŸããããå€åããŠããŸããäºå®ããããæžããŠããéã«ã[[Anthropic]]ã®[[Claude Code]]ãèå
ãæµŽã³ãŠãããç§ã詊ãã«äœ¿ã£ãŠã¿ããšããã**ã¯ãããŠ[[Vibe Coding]]ãšãããã®ãè¯å®çã«æãããã**ãããã«ã¯åãã£ãã§ãã[^2]
ãããšåæã«ã**[[AI]]ã®æ
å¢ã«ãã£ãŠäœ¿ãã¹ããšãã£ã¿ã決ããããŠããŸãæä»£**ã«ããå
¥ã£ãŠãããšãæããŸãããã®ãããªæä»£ã§çãæãã«ã¯ã1ã€ã®ãšãã£ã¿ã ããæ¥µããã®ã§ã¯ãªããå¿
èŠã«å¿ããŠè€æ°ã®ãšãã£ã¿ã䜿ãããªãèœåãããªãã¡äºåæµãäžåæµãæ±ããããã®ã§ã¯ãªãããšæã£ãŠããŸãã
ããããã®èšäºãèªãã§ããã1人ã§ãå€ãã®[[Neovim]]æå¥œå®¶ã®æ¹ããããããã£ãããšããŠ[[VSCode]]ãšã®äºåæµãç®æãããšã«ãªãã®ã§ãããããšãŠãå¬ããæããŸãã
[^1]: [[Quick Open (VSCode)|Quick Open]]ã®ããš
[^2]: [[Claude Code]]ã䜿ã£ã[[Vibe Coding]]ã«ã€ããŠã¯å¥éå·çäºå®ã§ã