LoginSignup
0
1

vimでファイル保存時に、リモートとローカルディレクトリを同期

Posted at

最近、IP制限付きのサーバーサイドの開発増えてきたので、ノマドワーカーにとってはIPが固定されない環境に居るので固定開発環境を準備しないといけない。

踏み台サーバーを用意し固定IPを振って、そのサーバー経由で開発リソース接続して開発できるようにする。

サーバーに入って開発vimで開発してもよいし、ローカルでも開発してよいのだが、今回は、ローカルで作業してリモートへ同期するようにしたいので、vimerとしてvimで出来るようにする。

vscodeとかでも良いけど、結局、サーバーサイドエンジニアリングをする場合、vi系のエディターは必須なのでvimでやる。

ローカルでもリモートでもどちらでも開発できるようにすることができるようになる。

vimの設定解説

~/.vimrc~/.config/nvim/init.vim のどちらかに書きを記述。

autocmd BufWritePost で保存時に実行実行するコマンドを設定する。

環境変数を使いたいので、 execute を使って、 rsync のコマンドを設定する。

/WORKING_DIR_PATH/ は、 BufWritePost を実行する作業ディレクトリを設定。

init.vim
autocmd BufWritePost /WORKING_DIR_PATH/* echo 'File changed. Running rsync.' | execute '!rsync -avz --exclude=.git --exclude=venv/ --exclude-from=.gitignore -e "ssh -i ' . $PEM . '" ./ ' . $RMT_SVR_USER . '@' . $RMT_SVR . ':' . $RMT_SVR_DIR
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1