vimで書き込む権限のないファイルを開いて、それを変更する必要があると判断した場合、vimを終了せずに変更を書き込むことができます:w !sudo tee %
。これがどのように機能するかわかりません。これを分析していただけますか?
私はその:w
部分を理解しています、それはそれに関連付けられたファイル名がすでにあると仮定して、現在のバッファをディスクに書き込みますよね?コマンドを実行し、現在のバッファコンテンツを表すもの
も理解して!
いますか?しかし、それでもこれがどのように機能するかを理解していません。sudo tee
%
この構造:w !cmd
は、「コマンドを介してパイプされた現在のバッファーを書き込む」ことを意味します。たとえば:w !cat
、これを行うと、バッファがcat
。を介してパイプ処理されます。
これ%
がバッファに関連付けられたファイル名です
したがって:w !sudo tee %
、バッファの内容をsudo tee FILENAME
。にパイプします。これにより、バッファの内容がファイルに効果的に書き込まれます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加