Để xóa tất cả các khoảng trắng ở cuối (ở cuối mỗi dòng), bạn có thể sử dụng lệnh:
:%s/ \+$//
Để bao gồm các tab, sử dụng \s
thay vì không gian.
Từ dòng lệnh:
$ ex +'%s/\s\+$//e' -cwq file.c
Tất cả các tệp trong thư mục hiện tại (sử dụng đệ quy **/*.*
):
$ ex +'bufdo!%s/\s\+$//e' -cxa *.*
Cách Python:
:py import vim
:pydo vim.current.buffer[linenr - 1] = vim.current.buffer[linenr - 1].strip()
hoặc là:
:py import vim
:py for i, l in enumerate(vim.current.buffer): vim.current.buffer[i] = l.rstrip()
Sử dụng lstrip()
cho dải bên trái (dấu), rstrip()
cho dải bên phải (hàng đầu) hoặc strip()
để loại bỏ khỏi cả hai đầu.
Đây là chức năng hữu ích giúp loại bỏ khoảng trắng thừa từ cuối dòng mà bạn có thể thêm vào .vimrc
:
" Removes superfluous white space from the end of a line
function! RemoveWhiteSpace()
:%s/\s*$//g
:'^
"`.
endfunction
Ngoài ra còn có plugin DeleteTrailingWhitespace cho điều đó.
Làm nổi bật khoảng trắng
Để kiểm tra lại nếu tất cả các dấu cách đã hết, sử dụng:
Gõ / $
để tìm chúng. Nếu có một số, vim sẽ làm nổi bật chúng cho bạn.
Sử dụng màu sắc để làm nổi bật chúng:
:highlight ws ctermbg=red guibg=red
:match ws /\s\+$/
Sử dụng các ký tự hiển thị ( nguồn ):
:set encoding=utf-8
:set listchars=trail:·
:set list
Xem thêm: Đánh dấu các không gian không mong muốn
Để làm nổi bật khoảng trắng theo sau theo mặc định, bạn có thể định cấu hình .vimrc
như sau:
highlight ws ctermbg=red guibg=red
match ws /\s\+$/
autocmd BufWinEnter * match ws / \+$/
Xóa các khoảng trắng theo mặc định
Nếu bạn muốn đảm bảo rằng tất cả các khoảng trắng ở cuối tệp sẽ tự động bị xóa khi lưu, bạn có thể thêm lệnh sau vào .vimrc
:
autocmd BufWritePre *.c,*.php :%s/ \+$//ge
không được khuyến nghị, vì nó sẽ loại bỏ khoảng trắng theo dõi từ mọi tệp mà người dùng lưu (ngay cả khi có thể muốn có khoảng trắng).
Xem thêm: