Saya sudah mencari ini banyak dan setiap jawaban tentang Vim di Linux. Apakah ada cara untuk menyimpan file read-only langsung dari Vim di Windows?
Saya sudah mencari ini banyak dan setiap jawaban tentang Vim di Linux. Apakah ada cara untuk menyimpan file read-only langsung dari Vim di Windows?
Jawaban:
Seperti pada versi vi / vim lainnya, Anda dapat menggunakan :w!
untuk memaksa penulisan, selama Anda memiliki izin untuk mengganti properti hanya-baca.
Misalnya, jika Anda telah menetapkan file sebagai hanya-baca, yang di atas akan berfungsi. Jika Windows itu sendiri atau seorang administrator telah mengaturnya hanya-baca, Anda akan memerlukan opsi lain.
Seperti yang dikomentari @ dash-tom-bang, salah satu contoh yang baik adalah di dalam Program Files, di mana file dilindungi secara default. Artikel berbasis pengetahuan Microsoft ini menjelaskan cara kerjanya dalam praktik.
gvim
sebagai Run as Administrator
? Mungkin itu akan menyelesaikan tujuan Anda ... atau mungkin saja file itu dikunci oleh aplikasi lain ...
run as administrator
menyelesaikan sub-prosesnya yang melibatkan tugas administratif untuk dilakukan ... Silakan lihat di windows.microsoft.com/en-in/windows/… .... jika tidak, matikan UAC
pengaturan ... .
:w!
tidak dapat terbang dan Anda harus menjalankan gVim sebagai administrator atau menjalankan Vim dalam prompt perintah yang dijalankan sebagai administrator.
Anda dapat menggunakan plugin SudoEdit saya .
Ada kemungkinan lain yang belum diatasi dalam jawaban lain: vim akan menolak untuk menyimpan file jika dibuka dan dikunci oleh aplikasi Windows lain. Banyak aplikasi Windows biasa (Office, misalnya) mengunci file yang dibuka. Jika ini masalahnya, tidak ada masalah dengan izin atau: w! akan membantumu. Anda hanya perlu menutup file di aplikasi lain, dan kemudian Anda dapat menyimpannya dari vim. Sangat disayangkan bahwa vim tidak dengan jelas memberi sinyal situasi ini kepada pengguna.
Untuk win7: Mulai> Jalankan> Cmd (sebagai Admin), dan jalankan perintah ini untuk membuat pohon dir dapat ditulisi oleh admin:
cd parent/folder
:: /f file, /a admin, /r recurse, /d y = nopromt
takeown /F . /A /R /D Y > nul:
:: /t /q /c .. traverse quiet continue
icacls . /t /q /c /reset
icacls . /t /q /c /grant :r Everyone:F
icacls . /t /q /c /setowner Administrators
Jalankan gVim sebagai administrator, misalnya dengan mengklik kanan, atau menggunakan pintasan keyboard Shift+ F10, pintasan gVim di menu Mulai dan memilih Jalankan sebagai administrator .
Buka file yang ingin Anda edit dan simpan perubahan Anda menggunakan :w
seperti biasa.
Saya menggunakan gvim untuk mengedit C:\Windows\System32\drivers\etc\hosts
setelah mengatur izin untuk "kontrol penuh", trik yang terlibat pengaturan "mewarisi izin" menjadi "tidak" terlebih dahulu. Kemudian mulai bekerja tanpa "!". Saya juga lari attrib
tetapi itu tidak efektif.
:sudoedit
bekerja di windows? Maaf, saya tidak bisa memeriksa.
Ketik :f "newfilename"
mode perintah saat meninggalkan :w
untuk menyimpan di bawah nama file baru.
:w!
tidak berfungsi. Dikatakan tidak bisa membuka file untuk dibaca. Meskipun saya dapat melakukan hal yang sama persis di luar vim.