Saya memiliki baris-baris ini di .vimrc untuk membantu indentasi:
autocmd BufReadPost * set noexpandtab | retab! 4
autocmd BufWritePre * set expandtab | retab! 4
autocmd BufWritePost * set noexpandtab | retab! 4
Namun, mereka membuat banyak suara dalam sejarah undo. Karena mereka pada dasarnya tidak melakukan apa pun dari sudut pandang pengguna, saya ingin menghapusnya dari sejarah atau setidaknya memencetnya entah bagaimana (mungkin mereka membatalkan jika terjepit bersama?). Apakah ada cara untuk melakukannya?
Jawaban:
Bagi mereka yang memiliki masalah ini dan bertanya-tanya bagaimana cara mengatasinya tanpa membungkam semua kesalahan, berikut adalah bagaimana saya melakukannya di
.vimrc
:Penghargaan untuk Christian Brabandt dan jawaban ini dari Randy Morris
sumber
Neoformat
bit hanya diperlukan jika Anda menggunakan plugin neoformat , dan akan menyebabkan masalah jika Anda tidak memilikinya.Neoformat
perintah datang di akhir (atau lebih tepatnya difinally
blok)? Kalau tidak, itu tidak akan dieksekusi jika:undojoin
melempar kesalahan.Penggunaan
undojoin
sebenarnya bekerja cukup baik:Namun, jika Anda mengeksekusi
:w
tepat setelah membatalkan suatu tindakan, Anda akan mendapatkan kesalahan:Kesalahan ini dapat dibungkam menggunakan
silent!
seperti yang disebutkan dalam komentar , tetapi mungkin memiliki beberapa efek samping yang tidak disengaja:sumber
try|catch
klausa untuk E790 atau cukup gunakan:sil!
untuk membungkam peringatan.