Базовый вход в VIM
Почему VIM
Примерно месяц назад Sublime стал для меня платным и я полез искать аналоги, первым делом мне попался Atom. На первый взгляд прекрасная штука, куча плагинов и вообще выглядит как бесплатный Sublime, первое что мне не понравилось это автоподстановка новых строк, автокомплит фиг пойми чем, странные подсвечивания кода. После суток поиска я таки решил перебороть свою лень и предрассудки, и попробовал VIM, о нем и пост.
Определяемся с каким вимом хотите работать
Для начала нужно определиться с форками VIM, либо используешь форк, либо оригинальный VIM, по началу мне понравился простой VIM, но со временем я стал понимать что он какой-то, ну некомфортный что ли, да и баг какой-то был с темами, в итоге нагуглил я такую штуку как NeoVIM, тут встало все на свои места, то-то теперь все работает как надо =)
Вот так выглядит мой NeoVim, работаю в нем ежедневно.
Тут нет множества ненужных для меня расширений, так что можете по аналогии моему конфигу добавить свои варианты, установка очень проста, изучите конфиг.
А вот и сам конфиг c плагинами и темами
ссылка
Чутка вырезал расширений, оставил минимально что надо на мой взгляд.
Для любителей комбаинов есть такой готовый пак расширений ссылка
Ложить сюда ~/.config/nvim/init.vim
Основные удобные Хоткеи
ctrl+e - боковая панелька с деревом папок
ctrl+p - поиск файлов в директории, ну или глобально, смотря в какой директории находитесь.
Как устанавливать:
Не забудьте установить расширение питона.
python3 -m pip install neovim
pip3 install neovim
У кого как, выбирайте любую из двух команд.
Для установки расширений нам нужен менеджер расширений, я выбрал vim-plug ссылка
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Лучше возьмите из репозитория, а то бложек криво форматирует cmd команды.
После заходим в NeoVIM(nvim) и вводим
:PlugInstall
Вуаля, если подставили мой конфиг, то все установится автоматически. Все элементарно. Теперь перезаходим в nvim и радуемся =)
Команды
Кнопки:
u - вернуть назад
ctrl+R - вернуть вперед
p - вставить после курсора
P - вставить до курсора
shift+j - затереть newline
dw - удалить слово
dd - удалить строчку
/ - поиск
n - вперед (поиск)
N - назад (поиск)
x - удаление символа
shift+v - режим форматирования, выделяем текст, вводим
Y - копировать
GG - в конец файла
gg - в начало файла
Хацкерские команды через двоеточние :
:w - сохранить
:q - знаменитый выход из vim
:wq - сохранить и выйти
:!q - просто выйти
:%s/чтотоищем/начтозаменить - заменить что-то по файлику
:%y+ - скопировать в буфер содержимое файла
shift+v - режим форматирования, выделяем текст, вводим
:y+ - копируем
Больше кнопок и команд через : тут ссылка
:set
Так как мне неудобно автоматическое определения формата файла (подсветка синтаксиса) на базе конфигурации, то выставляю вручную.
Например для nginx:
:set ft=nginx
haproxy
:set ft=haproxy
ansible
:set ft=ansible
По аналогии можно понять дальше что нужно вводить для других типов файлов =)
Если все правильно настроите будет хорошая замена редакторам с GUI, возможно даже замените IDE! Удачного использования =)