Saya menulis fungsi Vim kecil yang menggerakkan kursor ke karakter pertama dari baris saat ini. Jika kursor sudah pada karakter pertama, maka kursor dipindahkan ke kolom pertama sebagai gantinya.
" Jump to first character or column
noremap H :call FirstCharOrFirstCol()<cr>
:function! FirstCharOrFirstCol()
: let current_col = virtcol('.')
: normal ^
: let first_char = virtcol('.')
: if current_col == first_char
: normal 0
: endif
:endfunction
Bagaimana saya memanggil fungsi ini secara diam-diam? Saya lebih suka ': panggil FirstCharOrFirstCol ()' tidak ditampilkan di baris status. Cukup mengubah ke noremap H :silent call…
tampaknya tidak cukup.
*.vim
), Anda tidak perlu:
karakter utama .Jawaban:
Anda dapat memanggil fungsi secara diam-diam dengan mendefinisikan peta diam:
Untuk info lebih lanjut, lihat
:h :map-<silent>
. Catat secara khusus bahwa ini hanya akan memastikan bahwa perintah tidak disuarakan ke layar ketika pemetaan dieksekusi. The:silent
Perintah ini digunakan untuk membungkam output dari fungsi itu sendiri (lihat:h :silent
).sumber
:silent
adalah apa yang saya kejar. Perlu dicatat bahwa jika Anda memiliki kesalahan dalam fungsi Anda Anda masih akan mendapatkan pesan kecuali Anda gunakan!
. Saya tidak menyadari bahwa saya meninggalkan kode dalam keadaan tidak valid dan jadi saya pikir saya tidak menggunakan:silent
dengan benar karena tidak membungkam gema dan saya bisa melihat kesalahan dalam output !!