Berpura-puralah Anda memiliki file teks sewenang-wenang (yang dapat Anda pilih).
Berikan urutan penekanan tombol yang paling merusak (*) jika dimaksudkan untuk dimasukkan ke teks, tetapi dimasukkan dalam mode normal (yaitu i/ atidak ditekan). Anda mungkin tidak memasuki mode visual dan tidak keluar dari Vim.
Destructive didefinisikan sebagai berikut: Rasio karakter yang diubah / dihapus dengan jumlah penekanan tombol yang diperlukan.
Anda mendapatkan poin bonus jika perubahan Anda tidak dapat diurungkan dengan jumlah tetap undos.
Contoh: Input file tanpa jeda baris. Urutan input: dfs.
code-challenge
vim
bitmask
sumber
sumber
Jawaban:
hancurkan semuanya, jangan batalkan
sumber
:0,0 w
harus menulis baris 0 hingga 0 dan:r
kemudian membacanya (sekarang kosong) kembali, saya tidak benar-benar memiliki vim untuk mengujinya sekalipun: 0,0 w
menulis buffer parsial, jadi (saya) Vim menolak untuk menyimpannya, saya harus mengatakanw!
sebaliknyaw
. Sejauh ini bagus, sekarang:r
tidak membuka kembali file. Sebagai gantinya, Anda harus mengatakan:e
yang akan membaca dalam file dari sistem file. Namun, meskipun dengan modifikasi ini mengubah buffer, buffer jauh dari kosong. Ini berisi baris pertama (karena Anda menyimpan "0,0"). Setidaknyau
ndoing tidak berfungsi.Ini membersihkan isi file dan menyimpannya. Tidak ada pembatalan dimungkinkan karena
undolevel
diatur ke angka negatif, yang menonaktifkan operasi pembatalan.Sunting: Lebih baik menulis
:g/^/d
daripadaggdG
, karena dalam kasus terakhir Anda dapat menggunakanp
(menempatkan) untuk memutar kembali perubahan.sumber
ggdG
bisa diganti dengan:%d
ggdG
, yang dapat dibalik dengan menempatkan (p
), jadi:g/^/d
sepertinya masih pilihan yang lebih baik :):%d_
lebih pendek dari:g/^/d
dan juga memecahkanput
masalah.Membengkokkan aturan, karena saya menambahkan karakter (karakter yang tidak ada dan sekarang ada, berarti karakter diubah). Saya dapat menambahkan karakter sebanyak yang saya inginkan sehingga skor ini secara teoritis tidak terbatas.
sumber
5 byte:
diikuti oleh tekan enter.
Membuang status file yang sedang Anda edit dari memori saat ini, sehingga semua perubahan yang belum disimpan dalam file tersebut hilang. Jika Anda memiliki file lain terbuka, mereka tidak terpengaruh. Ini tidak berhenti vim bahkan jika Anda hanya memiliki satu file terbuka.
sumber