Untuk menghapus semua spasi spasi tambahan (di akhir setiap baris), Anda dapat menggunakan perintah:
:%s/ \+$//
Untuk memasukkan tab, gunakan \s
bukan ruang.
Dari baris perintah:
$ ex +'%s/\s\+$//e' -cwq file.c
Semua file di direktori saat ini (digunakan secara rekursif **/*.*
):
$ ex +'bufdo!%s/\s\+$//e' -cxa *.*
Cara python:
:py import vim
:pydo vim.current.buffer[linenr - 1] = vim.current.buffer[linenr - 1].strip()
atau:
:py import vim
:py for i, l in enumerate(vim.current.buffer): vim.current.buffer[i] = l.rstrip()
Gunakan lstrip()
untuk strip kiri (trailing), rstrip()
untuk strip kanan (depan) atau strip()
untuk menghapus dari kedua ujungnya.
Berikut adalah fungsi yang berguna yang menghilangkan ruang putih berlebihan dari ujung garis yang dapat Anda tambahkan ke .vimrc
:
" Removes superfluous white space from the end of a line
function! RemoveWhiteSpace()
:%s/\s*$//g
:'^
"`.
endfunction
Ada juga plugin DeleteTrailingWhitespace untuk itu.
Menyoroti ruang putih
Untuk memeriksa ulang apakah semua spasi tambahan hilang, gunakan:
Ketik / $
untuk menemukannya. Jika ada beberapa, vim akan menyorotinya untuk Anda.
Gunakan warna untuk menyorotnya:
:highlight ws ctermbg=red guibg=red
:match ws /\s\+$/
Gunakan karakter yang terlihat ( sumber ):
:set encoding=utf-8
:set listchars=trail:·
:set list
Lihat juga: Sorot ruang yang tidak diinginkan
Untuk menyorot jejak spasi kosong secara default, Anda dapat mengonfigurasi .vimrc
sebagai berikut:
highlight ws ctermbg=red guibg=red
match ws /\s\+$/
autocmd BufWinEnter * match ws / \+$/
Menghapus spasi putih secara default
Jika Anda ingin memastikan bahwa semua spasi kosong dalam file dihapus secara otomatis saat save, Anda dapat menambahkan perintah berikut ke dalam .vimrc
:
autocmd BufWritePre *.c,*.php :%s/ \+$//ge
yang tidak direkomendasikan, karena akan menghapus trailing spasi dari setiap file yang disimpan pengguna (bahkan di mana spasi putih dapat diinginkan).
Lihat juga: