vim-presentation-ru



vim-presentation-ru

0 1


vim-presentation-ru

A Vim talk @ SoftServe, Sevastopol

On Github kongo / vim-presentation-ru

Vim для редактирования кода

История

 

Vi

Первый релиз в 1976 году, автор — Билл Джой

 

Vim (Vi Improved)

Первый релиз в 1991 году, автор — Брам Мооленаар

Что было добавлено в Vim

  • Проверка правописания
  • Скрипты (vimscript, Perl, Python, Ruby, Tcl, scheme и другие)
  • Редактирование файлов в архивах (gzip, bzip2, zip, tar)
  • Окна и вкладки
  • Поддержка Unicode
  • Встроенная система помощи
  • Редактирование по SSH, FTP, HTTP
  • и другое

Tl;dr

 

 

:q<Enter>

Чем Vim отличается от обычного редактора

  • Работает в нескольких режимах. Одна клавиша выполняет разные функции в разных режимах.

  • Позволяет переназначать клавиши как только угодно.

  • Руки не покидают основного блока клавиш.

  • Настройка и скрипты.

  • Связка с unix tools.

Что делать?

  • Быстро передвигаться по тексту
  • Не повторяться
  • Автоматизировать часто используемые функции
    • заметил повторение
    • автоматизировал
    • взял за привычку

Режимы

Переход из любого режима в Normal — Esc.

Функцию клавиши (или комбинации) можно назначать отдельно для любого режима.

Normal

Передвижение по тексту, манипуляции: удаление, копирование, вставка и другое. Большую часть времени вы находитесь в этом режиме.

Insert

Непосредственное написание текста. Из этого режима вы выходите как только написали необходимое количество текста.

Replace

От Insert отличается тем, что заменяет символы, а не вставляет. Аналогично нажатой клавише insert в обычном редакторе.

Visual

Выделение текста. В этом режиме вы можете использовать возможности перемещения свойственные режиму Normal. gv — последнее выделение. % — перемещение между границами выделения. @* — регистр, содержащий последнюю выделенную строку.

Visual Line

Выделение строк.

Visual Block

Выделение прямоугольного блока текста.

Command

Режим для выполнения команд: открытие файла, выход, изменение настроек, вызов команд плагинов и т. д.

Переход в режим вставки

  • i — перед курсором (insert)
  • I — в начале строки
  • a — за курсором (append)
  • A — за строкой
  • o — вставить строку ниже
  • O — вставить строку выше
  • s — с удалением одного символа (substitute)
  • S — замена строки

Text Objects и комбинации клавиш

1. Глагол

d (delete), c (change), y (yank),

2. Наречие

i (inner), a (around / all)

3. Существительное

t (tag), w (word), p (paragraph), m (method), ' " ( [ {

4. Действие целиком

  • ciw — ("change inner word")
  • ya" — yank double-quoted string (include quotes)
  • di( — delete text between matching parentheses

Плагины

  • BufExplorer — переключение между буферами
  • CtrlP — поиск и открытие файла по шаблону пути
  • NerdTree — дерево файлов
  • Snipmate — сниппеты кода (Textmate style)
  • Tagbar — список символов текущем буфере
  • TComment — комментирование кода
  • Vim-Surround — обрамление текста кавычками, скобками, тегами

Конфигурация

Множество файлов vimrc можно найти на Github. Храня свои настройки в репозитории, вы можете легким движением «приручить» Vim на любом компьютере.

Github → Search "vimrc" → 8,420 repository results

А также множество цветовых схем.

Реализации

  • Vim
  • Gvim
  • Macvim

Vim mode в других программах

Кстати, на Github тоже есть горячие клавиши

  • k — следующий коммит
  • j — предыдущий коммит
  • o — открыть детали коммита

И в Gmail

  • k — к следующей беседе
  • j — к предыдущей беседе
  • n — к следующему сообщению
  • p — к предыдущему сообщению
  • o — открыть беседу

Материалы