Чтобы удалить все конечные пробелы (в конце каждой строки), вы можете использовать команду:
:%s/ \+$//
Чтобы включить вкладки, используйте \s
вместо пробела.
Из командной строки:
$ ex +'%s/\s\+$//e' -cwq file.c
Все файлы в текущем каталоге (рекурсивно использовать **/*.*
):
$ ex +'bufdo!%s/\s\+$//e' -cxa *.*
Python путь:
:py import vim
:pydo vim.current.buffer[linenr - 1] = vim.current.buffer[linenr - 1].strip()
или же:
:py import vim
:py for i, l in enumerate(vim.current.buffer): vim.current.buffer[i] = l.rstrip()
Используйте lstrip()
для левой полосы (задней), rstrip()
для правой полосы (ведущей) или strip()
для удаления с обоих концов.
Вот полезная функция, которая удаляет лишние пробелы в конце строки, которые вы можете добавить к своей .vimrc
:
" Removes superfluous white space from the end of a line
function! RemoveWhiteSpace()
:%s/\s*$//g
:'^
"`.
endfunction
Для этого есть также плагин DeleteTrailingWhitespace .
Подсветка пробелов
Чтобы перепроверить все ли пробелы в конце, используйте:
Типа, / $
чтобы найти их. Если они есть, vim выделит их для вас.
Используйте цвета, чтобы выделить их:
:highlight ws ctermbg=red guibg=red
:match ws /\s\+$/
Используйте видимые символы ( источник ):
:set encoding=utf-8
:set listchars=trail:·
:set list
Смотрите также: выделите ненужные места
Чтобы выделить конечные пробелы по умолчанию, вы можете настроить .vimrc
следующие параметры:
highlight ws ctermbg=red guibg=red
match ws /\s\+$/
autocmd BufWinEnter * match ws / \+$/
Удаление пробелов по умолчанию
Если вы хотите убедиться, что все конечные пробелы в файле автоматически удаляются при сохранении, вы можете добавить следующую команду в свой .vimrc
:
autocmd BufWritePre *.c,*.php :%s/ \+$//ge
что не рекомендуется, так как он удаляет конечные пробелы из каждого файла, который пользователь сохраняет (даже там, где пробелы могут быть желательны).
Смотрите также: