vscode-vim について、少しもっさりしてきていたので neovim の拡張機能に移行しました。
VSCodeおすすめの拡張機能になります。
今回は VSCode-Neovim のセットアップ方法についてご説明いたします。
特になんといってものメリットは、vimの資産たちのプラグインが使えるものがあるということです!
Neovim インストール
neovim については 0.5 版以上のものが必要です。
それぞれの環境で以下のコマンドで neovim をインストールしてください。
windows をお使いの方は choco などがおすすめ
choco install neovim --pre
ubuntu
sudo apt update
sudo apt upgrade
sudo apt install neovim
mac
brew install neovim
以下のコマンドでエディタが起動すれば、インストール完了です。
nvim
この先のために、vim plug もインストールしておきましょう。
vim-plug
ubuntu mac
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
windows
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force
VSCode で neovim 拡張機能のインストール
cli 環境で以下を入力
code --install-extension asvetliakov.vscode-neovim
もしくは、VSCode で Quick Open(Ctrl+P)を開き以下のコマンドを入力する。
ext install asvetliakov.vscode-neovim
neovim のパス環境を設定する。
nvim のパスを確認し、settings.json に出力されたものを設定する。
nvim のパスは ubuntu などでは以下のコマンドで確認できる。
which nvim
windows の nvim パス確認コマンド
gcm nvim | fl
上記で出力された結果を settings.json に追記する。
"vscode-neovim.neovimExecutablePaths.linux": "/usr/bin/nvim",
Open Settingsをし、GUIでも設定可能です。
ctrl+shift+p などで Reload Window を実行する
vscode の挙動が vim のキーバインドになっていることを確認する。
neovim 設定ファイルの場所を vscode に登録する。
vim の vimrc は neovim では init.vim になります。
init.vim ファイルが既存であればそちらのパスを vscode に登録し、なければ作って登録します。
登録は settings.json に以下のように追記します。
"vscode-neovim.neovimInitVimPaths.linux": "~/.config/nvim/init.vim",
また、init.vim が既存である方は vscode で有効になるプラグラインもあれば、無いプラグインもあると思います。
そんなときは以下のように init.vim の設定を分岐させれば ok です。
if exists('g:vscode')
" VSCode extension
call plug#begin()
Plug 'tpope/vim-commentary' "コメントプラグイン
Plug 'tomasiser/vim-code-dark' "vimのカラースキーマ
Plug 'leafgarland/typescript-vim' "Typescriptのカラースキーマ
Plug 'rhysd/clever-f.vim'
Plug 'tpope/vim-surround'
Plug 'terryma/vim-expand-region'
call plug#end()
xmap gc VSCodeCommentary
nmap gc VSCodeCommentary
omap gc VSCodeCommentary
nmap gcc VSCodeCommentaryLine
nnoremap fp call VSCodeNotify('workbench.action.quickOpen')
nnoremap fgs call VSCodeNotify('workbench.view.scm')
map v (expand_region_expand)
map (expand_region_shrink)
set clipboard=unnamed,unnamedplus
else
call plug#begin()
" Plug 'junegunn/fzf.vim'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'neoclide/coc.nvim', { 'branch': 'release' }
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-commentary' "コメントプラグイン
Plug 'tomasiser/vim-code-dark' "vimのカラースキーマ
Plug 'lambdalisue/fern.vim' "ファイラー
Plug 'lambdalisue/fern-git-status.vim' "ファイルツリーにgit差分表示
Plug 'lambdalisue/fern-renderer-nerdfont.vim' "ファイラーのアイコン用2
・
・
・
endif
vscode-neovim おすすめのプラグインについて
vscode で使用可能なプラグインは yutkat さんが zenn でまとめています。
超融合!時空を超えた絆 Neo Vim(VSCode)を試してみた
特に上記の中でも私は以下をおすすめします。
- vim-surround
- clever-f
- vim-expand-region
vim-surround
vim-surround については vscode-vim でもありましたね。
単語の周りだったりにカッコやクオテーションをコマンドで入力しやすくするものです。
例) word → コマンド ysiw’ → ‘word’
となるようなものです。
clever-f
こちらは横移動を協力にしてくれるプラグインです。
例えば vim では標準で f で文字検索を横に展開するのですが、それを f コマンドのみで実施できるものになります。
詳しくはリンク先をチェック
vim-expand-region
こちらはビジュアルモードの選択範囲をショートカットコマンドで広げられるプラグインになります。
vim のビジュアルモードで選択した単語を ctrl+shift+f などを押すとビジュアルモードで選択された単語がそのまま検索できたりするので、vscode の使い勝手も少し良くなるのかなと思います。
ファイルツリーの操作を vim のキーバインドにする。
vscode-vim ではファイルツリー操作がデフォルトで jk などで移動できたのですが、neovim ではインストールするだけでは移動できません。
以下の内容を settings.json に追記し、vscode 既存のキーバインドを無効にする必要があります。
"workbench.list.automaticKeyboardNavigation": false,
これでjやkなどでファイルツリーの移動が可能になります。
jj のコマンドでエスケープを入力する。
以下の設定を keybindings.json に追記してください。
{
"command": "vscode-neovim.compositeEscape1",
"key": "j",
"when": "neovim.mode == insert && editorTextFocus",
"args": "j"
},
まとめ
いかがだったでしょうか。
neovim を使うとより一層スピーディーな開発体験が得られると思います。
なにかあれば随時記事を更新します。
よく vim ライフを。
コメント