Показаны сообщения с ярлыком Vim. Показать все сообщения
Показаны сообщения с ярлыком Vim. Показать все сообщения

Vim: убрать лишние пробелы в конце всех строк

Чтобы в Vim убрать лишние пробелы в конце всех строк, можно воспользоваться командой:
:%s/\s\+$//
команда %s аналогична команде s в sed, о которую я упоминал в одном из предыдущих постов. Точно так же сначала следует регулярное выражение, которое определяет, что нужно найти, затем - то, на что найденные символы заменить. Части команды разделены символом /.
В данном случае регулярное выражение "\s\+$" описывает пробелы, в количестве один или больше, расположенные в конце строки. Вторая часть команды пустая, поэтому найденные пробелы будут просто удалены. Так же пустую часть команды можно опустить:
:%s/\s\+$
Ну и можно отредактировать vimrc так, чтобы эта замена происходила по нажатию на кнопку F5, если добавить в него строчку:
nnoremap <silent> <F5> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR>

Vim в качестве HEX-редактора

Отобразить файл в HEX в Vim можно командой:
:%!xxd
Чтобы вернуться обратно:
:%!xxd -r
Надо отметить, что в Vim нет HEX-режима, а эти команды на самом деле просто прогоняют данные из Vim через утилиту xxd.

Vim: переход на новую строку по Enter

В Vim в normal mode можно добавить пустую строку после текущей строки с помощью команды 'o' и перед текущей строкой — с помощью команды 'O'. Однако при этом Vim переходит в режим insert mode. Чтобы этого не происходило, я добавил в файл .vimrc такой маппинг:
nmap <CR> o<Esc>
Теперь по нажатию на Enter будет добавлена пустая строка после текущей, курсор перейдет на нее, а Vim останется в normal mode.

Vim: дерево каталогов

Иногда бывает удобно иметь в Vim дерево каталогов как в большинстве IDE. Оно реализовано в отдельном плагине — NERD Tree. При его включении в левой части экрана открывается дополнительное окно (так же, как если была вызвана команда :vsplit) с деревом каталогов, на которую можно переходить с помощью комбинации клавиш Ctrl+W+W, по ней можно перемещаться, открывать каталоги и открывать файлы для просмотра и редактирования

Vim: минимальный .vimrc для удобного редактирования С/С++ кода

" set UTF-8 encoding
set enc=utf-8
set fenc=utf-8
set termencoding=utf-8
" disable vi compatibility
set nocompatible
" use indentation of previous line
set autoindent
" use intelligent indentation for C
set smartindent
" configure tabwidth and insert spaces instead of tabs
set tabstop=4        " tab width is 4 spaces
set shiftwidth=4     " indent also with 4 spaces
set expandtab        " expand tabs to spaces
" wrap lines at 120 chars.
set textwidth=120
" turn syntax highlighting on
set t_Co=256
syntax on
" highlight matching braces
set showmatch