Ini adalah masalah kegunaan yang sering terjadi pada saya:
Saya membuka file sistem read-only dengan vim, bahkan mengeditnya, karena saya tidak cukup perhatian, atau karena vim pada sistem dikonfigurasi dengan buruk. Setelah perubahan saya selesai, saya terjebak harus menulisnya dalam file sementara atau kehilangan mereka, karena: w! tidak akan bekerja
Apakah ada perintah vim (: W !!!) yang memungkinkan Anda untuk menulis buffer saat ini sebagai pengguna super? (Vim akan meminta sudo atau kata sandi su Anda secara alami)
sudoedit
perintah. Pertanyaan ini lebih fokus pada lupa untuk mengetiknya di tempat pertama dan mengangkat setelah memulai editor.Jawaban:
Penjelasan: Dengan
!
, Anda dapat menjalankan program. Dengan mengawalinya dengan: w, konten file (hal-hal yang Anda miliki di vim, bukan file asli, lebih tepatnya: buffer) akan diberikan ke perintah pada input standar.%
diganti dengan nama file, dan>/dev/null
menghindari konten yang lagi dicetak ke layar (yang merupakan perilaku biasatee
).Saya telah menemukan cara yang lebih pendek.
dd
tidak mencetak ke stdout sehingga Anda dapat menyimpan hal nol.
Sama untuk
:r
, yang menyisipkan output dari perintah yang diberikan, sehingga Anda dapat misalnya memasukkan tanggal saat ini ke file Anda dengan menggunakan:r !date
sumber
Mencoba:
sumber