source ~/.bashrc
ファイルの編集が終わるたびに(つまり、コマンドの実行vim
後)、それを実行したいと思います。:wq
vim
vim
このように設定または動作さbash
せるにはどうすればよいですか?
答え1
ファイルを作成した後、vimがコマンドを実行できるようにするフックがあります。たとえば、保存後にvimのrcファイルを自動的にリロードするためにここでそれを使用しています。
autocmd BufWritePost $MYVIMRC source $MYVIMRC
残念ながら、これはあなたがしたいことに全く役に立ちません。これは、実行中のコマンドがvimプロセスの子プロセスとして実行されるためです。そこで何をしても、親環境は影響を受けません。
実際に必要なのはシェルレベルです。まず、あなたがしていることを見てください。
vim ~/.bashrc
source ~/.bashrc
しかし、実際には、最初の操作が成功した場合にのみ後者だけが必要です。
vim ~/.bashrc && source $_
これで、簡単に入力できる便利なコマンドが必要です。
function vbrc () {
vim ~/.bashrc && source $_
}
bashrcファイルを編集するには、実行するとvbrc
編集が完了するとファイルが選択されます。
bashrcの変更をテストするもう一つの便利な方法は、vimでシェルをサブプロセスとして実行することです。これにより、シェルに保存されている変更をすばやくテストできます。シェルを終了すると、ファイルが再編集されます。
:!bash
ファイルを保存するたびに、ライブシェルの内部で結果を確認するように強制的に保存フックに接続することもできます。明らかに、これはrcを積極的に開発する場合にのみ有用であるため、vimrcではなく手動で有効にする必要があるかもしれません。
autocmd BufWritePost ~/.bashrc !bash
答え2
簡単なアプローチ:
vim ~/.bashrc && source $_
エイリアスを作成できます。
alias vimbashrc='vim ~/.bashrc && source $_'
これはbash
またはで機能しますzsh
。他のシェルでは、.bashrc
これを機能させるにはソース名を明示的に指定する必要があります。
alias vimbashrc='vim ~/.bashrc && source ~/.bashrc'