· 3 min read

Базовый вход в вим

Почему VIM

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

Определяемся с каким вимом хотите работать

Для начала нужно определиться с форками VIM, либо используешь форк, либо оригинальный VIM, по началу мне понравился простой VIM, но со временем я стал понимать что он какой-то, ну некомфортный что ли, да и баг какой-то был с темами, в итоге нагуглил я такую штуку как NeoVIM, тут встало всё на свои места, то-то теперь всё работает как надо =)

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 - затереть newline
  • dw - удалить слово
  • 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! Удачного использования =)