Saya mencoba menggunakan :wq
untuk menyimpan file teks yang telah saya edit di Vim, tetapi ketika saya masuk :wq
saya mendapatkan kesalahan
E45: 'readonly' option is set (add ! to override)`
Ketika saya menambahkan !
untuk :wq
suka :wq!
, saya mendapatkan ini:
"/etc/dhcp/dhcpd.conf"
"/etc/dhcp/dhcpd.conf" E212: Can't open file for writing
File yang ingin saya edit ada dhcpd
di /etc/dhcpd
jalur.
Bagaimana saya bisa melakukan ini?
:x
atauZZ
keluar dan menyimpan. Itu akan menulis hanya pada perubahan.Jawaban:
Anda perlu membuka file menggunakan izin pengguna super sebagai berikut:
mengedit file dengan menekan idan kemudian simpan dan keluar dengan menekan Escdan kemudian
:wq
atau:x
atau hanya:w
untuk menyimpan.Terima kasih kepada Riking untuk menyarankan
sudoedit
: Anda dapat menggunakansudoedit /path/to/file/filename
untuk mengedit file yang dimiliki oleh root daripada menggunakansudo <editor> /pat/to/file/filename
. Ini berguna untuk mesin tingkat perusahaan atau mesin produksi sejak sudoedit log ke/var/log/auth.log
.Jika Anda ingin mengubah editor default untuk sudoedit, lakukan hal berikut:
dan kemudian tekan Returndan pilih editor pilihan Anda dan tekan lagi Return.
Lihat juga: Diskusi tentang redit tentang mengapa sudoedit mungkin menguntungkan
sumber
sudoedit
untuk situasi ini - ini membuat salinan sementara, menjalankan editor, dan menyalin hasilnya. Jika sebelumnya Anda memilihnano
untuk perintah itu, jalankanEDITOR=vi sudoedit /etc/file
.sudoedit
, bahkan tidak tahu itu ada. Namun, temui ini saat googlingsudoedit
. Saya akan menyarankannya, tetapi serahkan kepada pengguna jika mereka merasa perlu menggunakannya.sudoedit
juga mengambil padaEDITOR
variabel, lebih mudah untuk mengatur itu daripada mengkonfigurasi alternatif/etc
terdiri dari semua file konfigurasi sehingga untuk mengedit file di bawah/etc
Anda memerlukan izin pengguna super tetapi kadang-kadang kami lupa untuk menggunakannyasudo
. tetapi pada saat itu kita juga bisa menggunakanlalu masukkan kata sandi administrator Anda
untuk keluar dengan sukses
sumber
cmap w!! w !sudo tee > /dev/null %
ke Anda.vimrc
untuk memungkinkan menyimpan melalui metode ini dengan:w!!
. Jika Anda tertarik mengapa metode ini berfungsi, lihat stackoverflow.com/questions/2600783/…