久しぶりにvimの話。 こんな感じでneovimで、vim-testからpytestを実行します。

pluginと設定
今回は2つのpluginを使用します。
| name | description |
|---|---|
| vim-test/vim-test | 汎用テストRunner。様々なテストツールに対応。 |
| kassio/neoterm | neovim向けの高機能terminal |
自分は dein の tomlでplugin管理をしているので以下のような感じで追記します。
[[plugins]]
repo = 'kassio/neoterm'
[[plugins]]
repo = 'janko-m/vim-test'
depends = ['neoterm']
hook_add = '''
let g:neoterm_default_mod='belowright'
let g:neoterm_size=10
let g:neoterm_autoscroll=1
let g:neoterm_shell = '$SHELL -l'
let g:test#strategy = 'neoterm'
let g:test#preserve_screen = 1
let g:test#python#runner = 'pytest'
let g:test#python#pytest#executable = g:project_pytest
'''
少しだけ解説すると
let g:test#strategy = 'neoterm'
^ vim-testのstrategyとしてneotermを指定しています(ほかにもいろんなツールに対応しています)
^ この部分でtask runnerを指定しています。
^ この部分は g:project_pytest をinit.vimのほうで定義していて、実際にprojectで使うpathのpytest(venv/binのpytest)を指定しています。
これらを設定した状態で、vim-testのコマンド( :TestFile など)を実行すると、neotermが立ち上がり、pytestが実行されるようになります。
キー周りのカスタマイズはおいおい...。