少し前にjokerさんの ↑ の記事を参考にして、docker環境でvimからrspec実行できるようにして、最高に快適になりました。
ありがとうございます。
記事ではdirenv使って環境変数でコンテナ名を指定してフィルターしているみたいですが、自分はリポジトリ増えたり、docker環境とそうでない環境が混在してきたらでいいかなと思ったのでとりあえず雑に設定...
nnoremap <Leader>tn :TestNearest<CR> nnoremap <Leader>tf :TestFile<CR> let test#strategy = 'neoterm' let test#ruby#rspec#executable = 'rspec' function! DockerTransformer(cmd) abort let container_id = system("docker ps | grep app | grep rails | awk '{print $1}'") return 'docker exec -t ' . container_id . ' bundle exec ' . a:cmd endfunction let g:test#custom_transformations = {'docker': function('DockerTransformer')} let g:test#transformation = 'docker'
let container_id = system("docker ps | grep app | grep rails | awk '{print $1}'")
これでrails起動しているコンテナIDを取得するようにしました。(grepの条件はターゲットにしているコンテナを一意に特定できる条件)
ご参考まで。