この記事はもともと別場所にて公開していました。
Vim のプラグインでいくつか気に食わないのがあったので、久しぶりに全部見直した。
#dein の代わりに vim-plug を使う
Vim プラグインのインストール例として上がってるのをよく見るから。なんか速いらしい。Vim8 付属のやつでもよかったけど、やっぱりプラグインマネージャは欲しいかなぁという感覚。
dein のhook_add
に対応する機能がautocmd User ...
だと思うのだけど、
on
かfor
を使っているときしか使えならしいのでちょっと不便だ。
ここを見てautocmd VimEnter
を使った。
#ale の代わりに vim-lsp を使う
mattn さんのこの記事を見て以来使いたかったので移行。 ale には F#のサポートが無いからという理由もある。 coc.nvim も見たけど機能盛り盛りでよくわからなくなりそうなので敬遠。
:LspInstallServer fsharp-language-server
しても LSP サーバが起動してくれないバグがある。これは F# LSP Server の導入方法がまずくて、FSharpLanguageServer
の起動を行う
~/.local/share/vim-lsp-settings/servers/fsharp-language-server/fsharp-language-server
の中身を
$DIR/src/FSharpLanguageServer/bin/Release/netcoreapp3.0/FSharpLanguageServer $*
に書き換えれば動く。
vim-lsp-settings に PR でも送ろうかと思ったけど、環境によって書き換える方法が良う分からん。
dotnet run
させろという感じだが、これはfsharp-language-server
くんが対応していなくてダメ。
エラー内容を表示するためには
let g:lsp_diagnostics_enabled = 1
let g:lsp_diagnostics_echo_cursor = 1
すればいいが、1 行しか出ないので複数行ある場合は若干見にくい。
ale は formatter も兼ねていたが vim-lsp は LSP 付属の formatter しかなく不便なので、別途 neoformat を入れる。保存するときに自動的にNeoformat
をかけるのは README に書いてある方法でいいが、
ALE のようにフラグで挙動を変えるためにはひと工夫必要だった:
augroup neoformat
autocmd!
autocmd BufWritePre * if get(g:, 'neoformat_autosave', 1) == 1 && get(b:, 'neoformat_autosave', 1) == 1 | Neoformat | endif
augroup END
#colorscheme は変わらず vim-hybrid
一番見やすい。hybrid の前は molokai を使っていたが、環境によっては見にくくてやめた。
#vim-polyglot を入れた
F#に色をつけてくれたりして便利。vim-sensible も一緒に付いてくるらしい。
#NERDTree をやめそこねた
そこかしこで「NERDTree 使わなくても生きていける」みたいな記事を見るし、実際 NERDTree の基本的な機能しか使っていないのでやめようと思ったが、 netrw の手触りが NERDTree と違いすぎて諦めた。 netrw はリモートのファイルもいじれる強みがあるのだけど、まぁほとんど使ったこと無いしいいか。
2020/12/03 追記:部分一致でファイル絞り込むやつが欲しくなったのでmattn さんのこの記事を参考にして CtrlP を入れた。
#Gundo の代わりに simnalamburt/vim-mundo を使う
いつのまにか Gundo の更新がほとんど止まっていた。代わりに Gundo フォークのvim-mundoを使う。 Gundo は場合によってはめちゃめちゃ重くなるので、vim-mundo でそれが軽減されるといいなぁ。ほかにmbbill/undotreeというのも見つけた。 vim-mundo が重ければこちらを試す。
#vim-go の代わりに vim-goimports を使う
mattn さんのこの記事を見て影響された。まぁ Go 言語書くのはほとんど ISUCON のときだけなのであまり関係ない気もするが……。
2020/12/04 追記:よく考えたら neoformat を入れたので goimports はそちらで起動すればよく、vim-goimports は必要なさそう。
#変わらず使っているもの
-
vim-jp/vimdoc-ja
- 日本語はいいぞ。
-
kana/vim-tabpagecd
- タブごとにカレントディレクトリ変えるやつ。
- あんまり紹介されているのを見ないけど便利。
-
thinca/vim-singleton
- Vim の多重起動を防ぐやつ
- あんまり紹介されているのを見ないけど便利。
- andymass/vim-matchup
-
itchyny/lightline.vim
- うまく設定を読み込んでくれないかなにかで、NORMAL のときの色が黒になってしまってめっちゃ見にくい。README に書いてある対処法も効果がなかったので要調査。
-
2020/12/03 追記:
autocmd VimEnter * colorscheme ...
と Vim のカラースキームを指定しているとデザインが壊れるらしい。これを外に出したら動くようになった。