Saya sedang melakukan beberapa skrip dengan Vim dan saya baru saja mulai menggunakan sudoedit
.
Masalahnya adalah, ketika saya :w
ia menulis ke file temp, jadi pengujian skrip tidak dapat dilakukan kecuali saya keluar dari editor.
Bagaimana saya bisa memaksa pembaruan yang asli, atau apakah saya kehilangan poin sudoedit
?
Jawaban yang Diterima:
sudoedit
memungkinkan Anda untuk mengedit file dengan editor yang berjalan di id pengguna Anda sendiri. Ini menyalin file ke file sementara yang kemudian dapat ditulis oleh editor Anda. Segera setelah editor ditutup, file yang diedit akan disalin kembali.
Tidak ada kemungkinan bawaan untuk menulis kembali perubahan secara otomatis saat editor masih berjalan.
Jadi, Anda membutuhkannya
- jalankan editor pada id pengguna lain (mis.
sudo vi /file/to/edit
) - salin file secara manual kembali ke shell (terpisah) (
sudo cp /tmp/... /file/to/edit
) atau dari dalam vim:!sudo cp % /file/to/edit
. Dari vim Anda juga dapat memulai shell dengan:sh
atau letakkan vim di latar belakang dengan Ctrl+Z dan pulihkan denganfg
. - gunakan https://stackoverflow.com/questions/260783/how-does-the-vim-write-with-sudo-trick-work
- buat versi
sudoedit
Anda sendiri yang menulis perubahan kembali segera setelah file sementara diubah. Ini harus mudah dilakukan dengan beberapa skrip. Inotify dapat membantu Anda mendeteksi perubahan (lihat misalnya Bisakah skrip bash dihubungkan ke file? )
Vimrc – Bagaimana Cara Memblokir Komentar?
Apa yang Dilambangkan P Dan E Dalam Keluarga Panggilan Exec?