Базовый вход в вим
Почему VIM
Примерно месяц назад Sublime стал для меня платным и я полез искать аналоги, первым делом мне попался Atom. На первый взгляд прекрасная штука, куча плагинов и вообще выглядит как бесплатный Sublime, первое что мне не понравилось это автоподстановка новых строк, автокомплит фиг пойми чем, странные подсвечивания кода. После суток поиска я таки решил перебороть свою лень и предрассудки, и попробовал VIM, о нём и пост.
Определяемся с каким вимом хотите работать
Для начала нужно определиться с форками VIM, либо используешь форк, либо оригинальный VIM, по началу мне понравился простой VIM, но со временем я стал понимать что он какой-то, ну некомфортный что ли, да и баг какой-то был с темами, в итоге нагуглил я такую штуку как NeoVIM, тут встало всё на свои места, то-то теперь всё работает как надо =)

Вот так выглядит мой NeoVim, работаю в нём ежедневно. Тут нет множества ненужных для меня расширений, так что можете по аналогии моему конфигу добавить свои варианты, установка очень проста, изучите конфиг. А вот и сам конфиг с плагинами и темами. Чутка вырезал расширений, оставил минимально что надо на мой взгляд. Для любителей комбайнов есть такой готовый пак расширений. Ложить сюда: ~/.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- затереть newlinedw- удалить словоdd- удалить строчку/- поискn- вперёд (поиск)N- назад (поиск)x- удаление символаshift+v- режим форматирования, выделяем текстY- копироватьGG- в конец файлаgg- в начало файла
Хакерские команды через двоеточие:
:w- сохранить:q- знаменитый выход из vim:wq- сохранить и выйти:!q- просто выйти:%s/чтотоищем/начтозаменить- заменить что-то по файлику:%y+- скопировать в буфер содержимое файла
Больше кнопок и команд тут
:set - так как мне неудобно автоматическое определение формата файла (подсветка синтаксиса) на базе конфигурации, то выставляю вручную.
Например для nginx: :set ft=nginx
haproxy: :set ft=haproxy
ansible: :set ft=ansible
По аналогии можно понять дальше что нужно вводить для других типов файлов =)
Если всё правильно настроите - будет хорошая замена редакторам с GUI, возможно даже замените IDE! Удачного использования =)