vimrc

Ansible vimrc

Роль Ansible для установки NeoVim с несколькими плагинами.

Для этого требуются задачи из сообщества Ansible:

ansible-galaxy collection install community.general

Зависимости

  • ⚠ Внимание, этот процесс установки включает NodeJS и npm из пакетного менеджера. ⚠
  • Установите Fzf и Ag для поиска.

Цели

Полная/бесшовная поддержка следующих языков/синтаксиса:

  • Ruby/RoR
  • HTML
  • Javascript
  • VueJS
  • React
  • Ansible
  • JSON
  • YAML
  • Markdown
  • C#

Цель — достичь 0 ошибок в поведении.

Темы и шрифты

Текущая тема — slate (также подходят desert, industry); измените ее с помощью :colorscheme xxx, доступные темы можно увидеть с помощью Tab.

Текущий шрифт — MesloLGS NF Regular (поддерживает эмодзи), установлен для Zsh.

Плагины

Установите плагины: :PlugInstall (уже установлены через Ansible).

Навигация

Помощь: используйте :help keycodes для отображения названий кодов клавиш vim.

Возможность навигации с помощью сплитов, вкладок и Tmux:

  • <C-w f> : открыть в сплите
  • <C-w gf> : открыть во вкладке
  • <C-⬅,⬆,⬇,➡> : навигация панелей
  • <C-w-⬅,⬆,⬇,➡> : перемещение панели
  • gt : переключение между вкладками vim
  • <C-b> : задействовать навигацию Tmux.

Активные функциональности

  • gd : перейти к определению
  • gi : перейти к реализации
  • gr : навигация по ссылкам
  • gf : перейти к файлу (только для Ruby/Rails)
  • gg=G : отформатировать код
  • F2 : переименовать переменную/метод/класс
  • <C-k> : показать определение метода
  • qf : запустить исправление линтера - работает не очень хорошо...
  • fr : запустить форматирование на текущей строке (не работает на Solargraph/Ruby)
  • fa : запустить форматирование на всем файле
  • <C-o> : назад
  • <C-s> : сохранить
  • <C-space> : вызвать движок автозаполнения
  • <tab> : переключение между предложениями автозаполнения
  • <C-c> : комментировать/раскомментировать (строку или выделение)
  • bufdo! : использовать !, чтобы не сохранять файлы (с этой конфигурацией это обязательно...)

Связанные с Ruby и Rails:

  • <C-q> : переключение между Ruby-тестом и файлом
  • <C-w>t/s/l/a выполнять тест/спецификации (файл, ближайший, последний, все).

Другие:

  • приостановить vim Ctrl+z и вернуться с помощью fg.

Автоматические / пассивные функции

  • проверка правописания
  • подсветка синтаксиса
  • авто линтинг в области и в плавающем окне
  • использовать 2 пробела для табуляции везде
  • запоминать позицию курсора между сессиями
  • удалять пустые строки при сохранении
  • обрезать пробелы
  • показывать все невидимые символы
  • выделять ключевые слова 'TODO/FIXME/XXX'
  • лучше изменять размер vim
  • добавлять все виды пар (), [] тэг...
  • добавлять Ruby пары (def/end, do/end)
  • добавлять информацию Git в область
  • добавлять информацию линтера в области или подчеркиванием
  • показывать определение метода, если доступно (используйте <C-a> и <C-b> для прокрутки назад и вперед).

Поиск

Активный:

  • <C-f> : искать в текущем файле (обычный vim)
  • <Shift-f> : искать во всех файлах (с помощью fzf.vim / ag)
    • Внимание : возможно, вам придется отключить поиск в терминале, чтобы это работало.
  • <Esc> : отменить поиск (отменить подсветку).
  • <C-p> : поиск файла по имени (с помощью fzf.vim)
    • Enter : открыть
    • <C-t> : открыть в новой вкладке
    • <C-x> : открыть в горизонтальном сплите
    • <C-v> : открыть в вертикальном сплите.

Пассивный:

  • подсветка результатов в Темно-зеленом цвете.
  • подсветка текущего выбора мигающим курсором.

Боковая панель (NerdTree)

Активный

  • <C-n> : открыть/закрыть NerdTree
  • Enter : открыть файл
  • i : открыть в горизонтальном сплите
  • s : открыть в вертикальном сплите
  • ... см. документацию NerdTree

Пассивный

  • значки для файлов
  • символы на основе статуса Git
  • игнорирование некоторых папок (node_modules, .gitignore)

Ruby - верить, значит видеть

F4/F5/F6/F7 пометить/запустить/пометить и запустить/очистить метки кода.

Поддержка автозаполнения

Плагины будут установлены при первом запуске.

Для Solargraph необходимо установить его для каждой версии Ruby, с которой вы работаете:

:InstallGems

Полезные команды:

  • :CocInfo
  • :CocList commands
  • :checkhealth
  • :CocList extensions
  • :call CocAction('format')
  • :CocList marketplace python

Имейте в виду доступные расширения:

  • javascriptreact
  • typescript
  • typescriptreact
  • typescript.tsx
  • graphql

Переменные роли

Нет обязательных параметров, все параметры находятся в defaults/main.yml.

Пример плейбука

- hosts: localhost
  roles:
    - role: vimrc
      vim_user: foo

Использование в разработке

Чтобы запустить это локально, создайте символическую ссылку: cd /etc/ansible/roles & sudo ln -s /path/to/vimrc .

Лицензия

BSD

О проекте

vim installation & configuration

Установить
ansible-galaxy install Haelle/vimrc
Лицензия
gpl-3.0
Загрузки
83
Владелец
Product Owner RoR lover Former C#, PHP7, Python, SQL developper