書き込み権限のないファイルをvimで開き、それを変更する必要があると判断した場合は、vimを終了せずに変更を書き込むことができます。:w !sudo tee %
これがどのように機能するのか理解できません。これを分解できますか?
私はこの:w
部分を理解しています。すでに関連付けられているファイル名があるとし、現在のバッファをディスクに書き込みます。そうですか?また、コマンドが実行され、現在のバッファ内容を表すことが
わかります。そうですか?しかし、まだこれがどのように機能するのか理解していません。!
sudo tee
%
ベストアンサー1
構造とは、:w !cmd
「現在バッファへの書き込み」を意味します。管路たとえば、これにより:w !cat
バッファをパイプできますcat
。
%
それはファイル名バッファに関連付けられている
したがって、:w !sudo tee %
バッファの内容はパイプで接続されますsudo tee FILENAME
。これにより、バッファの内容がファイルに効果的に書き込まれます。