初心者がVS Codeからの移行先としてのNeovimの環境構築をする
CUIエディタを使いたくなってきたので, Neovimの環境構築をしてみる。
環境はWSL 2 (Ubuntu 20.04.6 LTS on Windows 10 x86_64)
linuxbrew経由でインストールする
brew install neovim
v0.8.3がインストールされた
Neovimを起動した直後の画面:
vim-jetpackリポジトリのinstallationのNeovim for Linux and macOS
に書いてあるコマンドを実行する
curl -fLo ~/.local/share/nvim/site/pack/jetpack/opt/vim-jetpack/plugin/jetpack.vim --create-dirs https://raw.githubusercontent.com/tani/vim-jetpack/master/plugin/jetpack.vim
~/.config/nvim/init.vim
に, vim-jetpackリポジトリのUsage
のVim-plug styleに書いてあるコードを書き込む
packadd vim-jetpack
call jetpack#begin()
Jetpack 'tani/vim-jetpack', {'opt': 1} "bootstrap
Jetpack 'https://github.com/dense-analysis/ale'
Jetpack 'junegunn/fzf.vim'
Jetpack 'junegunn/fzf', { 'do': {-> fzf#install()} }
Jetpack 'neoclide/coc.nvim', { 'branch': 'release' }
Jetpack 'neoclide/coc.nvim', { 'branch': 'master', 'do': 'yarn install --frozen-lockfile' }
Jetpack 'vlime/vlime', { 'rtp': 'vim' }
Jetpack 'dracula/vim', { 'as': 'dracula' }
Jetpack 'tpope/vim-fireplace', { 'for': 'clojure' }
call jetpack#end()
Neovimを起動すると, 以下の写真の通りSome packages are not synchronized. Run :JetpackSync
と下部に表示されるので実行してみる
先程のinit.vimを作成した後Neovimを起動した直後の画面:
:JetpackSyncと実行して動作が完了した直後の画面:
[coc.nvim] build/index.js not found, please install dependencies and compile coc.nvim by: yarn install
と下部に表示されてしまう。
以下の記事を参考にNeovimで: call coc#util#install()
と実行するも, 次回起動時に先程のメッセージが表示されてしまう
以下の記事を参考にfind -type d -name "coc.nvim"
を実行し, 出力されたパスにcdしてyarn install
を実行した後Neovimを起動すると先程のメッセージは表示されなくなった
Nimを書ける環境を整える
プラグインマネージャの導入が済んだので, 以下の記事を参考にNimを書ける環境を整える
必要なプラグインのインストール
設定ファイルを以下のように編集した後Neovimを起動して:JetpackSync
を実行
packadd vim-jetpack
call jetpack#begin()
Jetpack 'tani/vim-jetpack', {'opt': 1} "bootstrap
Jetpack 'https://github.com/dense-analysis/ale'
Jetpack 'junegunn/fzf.vim'
Jetpack 'junegunn/fzf', { 'do': {-> fzf#install()} }
Jetpack 'neoclide/coc.nvim', { 'branch': 'release' }
Jetpack 'neoclide/coc.nvim', { 'branch': 'master', 'do': 'yarn install --frozen-lockfile' }
Jetpack 'vlime/vlime', { 'rtp': 'vim' }
Jetpack 'dracula/vim', { 'as': 'dracula' }
Jetpack 'tpope/vim-fireplace', { 'for': 'clojure' }
+ Jetpack 'alaviss/nim.nvim'
+ Jetpack 'prabirshrestha/asyncomplete.vim'
call jetpack#end()
自動補完を有効化する
設定ファイルを以下のように編集する
packadd vim-jetpack
call jetpack#begin()
Jetpack 'tani/vim-jetpack', {'opt': 1} "bootstrap
Jetpack 'https://github.com/dense-analysis/ale'
Jetpack 'junegunn/fzf.vim'
Jetpack 'junegunn/fzf', { 'do': {-> fzf#install()} }
Jetpack 'neoclide/coc.nvim', { 'branch': 'release' }
Jetpack 'neoclide/coc.nvim', { 'branch': 'master', 'do': 'yarn install --frozen-lockfile' }
Jetpack 'vlime/vlime', { 'rtp': 'vim' }
Jetpack 'dracula/vim', { 'as': 'dracula' }
Jetpack 'tpope/vim-fireplace', { 'for': 'clojure' }
Jetpack 'alaviss/nim.nvim'
Jetpack 'prabirshrestha/asyncomplete.vim'
call jetpack#end()
+ au User asyncomplete_setup call asyncomplete#register_source({
+ \ 'name': 'nim',
+ \ 'whitelist': ['nim'],
+ \ 'completor': {opt, ctx -> nim#suggest#sug#GetAllCandidates({start, candidates -> asyncomplete#complete(opt['name'], ctx, start, candidates)})}
+ \ })
GitHub Copilotを使えるようにする
必要なプラグインのインストール
設定ファイルを以下のように編集した後Neovimを起動して:JetpackSync
を実行
packadd vim-jetpack
call jetpack#begin()
Jetpack 'tani/vim-jetpack', {'opt': 1} "bootstrap
Jetpack 'https://github.com/dense-analysis/ale'
Jetpack 'junegunn/fzf.vim'
Jetpack 'junegunn/fzf', { 'do': {-> fzf#install()} }
Jetpack 'neoclide/coc.nvim', { 'branch': 'release' }
Jetpack 'neoclide/coc.nvim', { 'branch': 'master', 'do': 'yarn install --frozen-lockfile' }
Jetpack 'vlime/vlime', { 'rtp': 'vim' }
Jetpack 'dracula/vim', { 'as': 'dracula' }
Jetpack 'tpope/vim-fireplace', { 'for': 'clojure' }
Jetpack 'alaviss/nim.nvim'
Jetpack 'prabirshrestha/asyncomplete.vim'
+ Jetpack 'github/copilot.vim'
call jetpack#end()
au User asyncomplete_setup call asyncomplete#register_source({
\ 'name': 'nim',
\ 'whitelist': ['nim'],
\ 'completor': {opt, ctx -> nim#suggest#sug#GetAllCandidates({start, candidates -> asyncomplete#complete(opt['name'], ctx, start, candidates)})}
\ })
セットアップ
手順
- Neovimを起動して
:Copilot setup
を実行 - 認証コードをコピー
- Enterを押すとブラウザが自動的に開かれるので, コピーした認証コードをそこにペーストして認証
- ブラウザが開かれなかった場合はリンクをクリックして手動で開き認証
ファイラを使えるようにする
fern.vimというファイラ系プラグインを導入する
プラグインのインストール
設定ファイルを以下のように編集した後Neovimを起動して:JetpackSync
を実行
packadd vim-jetpack
call jetpack#begin()
Jetpack 'tani/vim-jetpack', {'opt': 1} "bootstrap
Jetpack 'https://github.com/dense-analysis/ale'
Jetpack 'junegunn/fzf.vim'
Jetpack 'junegunn/fzf', { 'do': {-> fzf#install()} }
Jetpack 'neoclide/coc.nvim', { 'branch': 'release' }
Jetpack 'neoclide/coc.nvim', { 'branch': 'master', 'do': 'yarn install --frozen-lockfile' }
Jetpack 'vlime/vlime', { 'rtp': 'vim' }
Jetpack 'dracula/vim', { 'as': 'dracula' }
Jetpack 'tpope/vim-fireplace', { 'for': 'clojure' }
Jetpack 'alaviss/nim.nvim'
Jetpack 'prabirshrestha/asyncomplete.vim'
Jetpack 'github/copilot.vim'
+ Jetpack 'lambdalisue/fern.vim'
call jetpack#end()
au User asyncomplete_setup call asyncomplete#register_source({
\ 'name': 'nim',
\ 'whitelist': ['nim'],
\ 'completor': {opt, ctx -> nim#suggest#sug#GetAllCandidates({start, candidates -> asyncomplete#complete(opt['name'], ctx, start, candidates)})}
\ })