git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
git clone http://github.com/zedsh/vimrc ~/vimrc
ln -s ~/vimrc/.vimrc ~/.vimrc
ln -s ~/vimrc/.ideavimrc ~/.ideavimrc
#запустить vim, нажать enter пока не запустится
:BundleInstall
- Редактирование чего-нибудь на удалённом сервере (делать правки на бою)
- Полноценный редактор в консоли
- Быстрое редактирование
- Поработав с vim плотно некоторое время вы не сможете работать в других редакторах
- Vim можно интегрировать (частично) в PhpStorm
В редакторе можно открывать файлы. Файл открывается в Буффере. Если редактор запущен без файла - открывается Буффер, не привязанный к файлу.
По-умолчанию редактор открывается в командном режиме. Это основной режим работы в vim, где нажатие любой клавиши означает выполнение какой-то команды. По нажатию на escape из любого режима происходит выход в командный режим.
Так же в vim есть режим вставки (insert) и визуальный режим (visual).
Эти три режима: командный, визуальный и вставки - основные режимы, в которых происходит редактирование. Есть иные режимы, но они используются реже.
Файлы в vim'e могут открываться в буфферах или табах. Табы как в браузере. Буффера как будь-то переключаешься в рамках одного окна или часть экрана занимает один буффер - а часть - другой. Нормально работать со всеми другими фишками можно только с буфферами.
В vim многие действия запускаются выполнением текстовых команд. Чтобы начать ввод команды, нужно в командном режиме нажать двоеточие (:) и смотреть на команду внизу окна редактора. После окончания ввода нажать enter.
vim file_name - запуск редактора на создание файла или на редактирование существующего. Без имени - будет открыт пустой буффер
i или insert - вход в режим редактирования, появляется подсказка внизу редактора INSERT. Выход из этого режима - escape.
Чтобы сохранить буффер в файл, если к буфферу уже привязан файл, то достаточно выполнить команду :w. Если файл не привязан, нужно указать имя файла :w file_name.txt. Если вы изменяете файл только для чтения, может потребоваться (если возможно его сохранение) выполнить :w!.
Большинство команд в vim будучи дополнены ! (восклицательным знаком) будут выполняться безусловно (сохранение или выход).
Чтобы завершить работу с vim (закрыть текущий буффер), нужно набрать команду :q. Чтобы выйти без сохранения файла :q!.
Короткие команды обычно можно группировать. К примеру, чтобы сохранить текущий файл и выйти нужно выполнить :wq
Чтобы сохранить все буфферы и выйти, можно набрать :wqa
Чтобы внутри vim открыть новый файл на редактирование, нужно набрать комнаду :e file_name. Файл будет открыт в новом буффере, который будет сразу показан.
Можно записать один файл в другой. Для этого нужно открыть его и набрать команду :w new_file_name .
В некоторых командах с файлами (например в :e) работает автоподстановка по tab.
Частично введённое слово можно дополнить, нажав ctrl+p. (CTRL в документации vim назвается ^).
Всё дальнейшее происходит в командном режиме.\
u - движения по командам назад (отмена)
Ctrl + R - движение по командами вперёд (отмена отмены).
Выделения в vim происходят в визуальном режиме. Для перехода в него используется клавиша v. Выделение стрелками или другими командами перемещения. Выделенный текст можно удалить (d) или скопировать (y).
В vim удаление или копирование текста перемещает его в специальный Регистр. Чтобы вставить из регистра, нужно нажать клавижу p в командном режиме. При этом вставка происходит после текущего положения курсора.
Чтобы удалить целую строку, нужно нажать dd или D, а чтобы скопировать yy.
Выделение визуального блока - Ctrl + v Выделение визуального блока с заменой его строкой в каждой строке Ctrl+v Shift+i ввод того что вставить Escape
Перемещать можно стрелками, клавишами hjkl (в командном режиме).
Для быстрого перемещения НА символ X впереди в текущей строке нужно нажать fX, а позади FX.
Для перемещение ДО символа Х соответственно нужно использовать tX и TX.
Для перемещения по парным символам (скобки, теги и т.п.) используется %.
Для перемещения на начало строки ^, на конец строки $.
Перемещения можно комбинировать с выделением, нажимая например v$ или vtX, аналогично с командой удаления и копирования.
ci" или ci' (ci<, ciN) дойдёт до первого символа N в строке (" или ') и удалит всё внутри такого парного символа, перейдя в режим редактирования.
Есть команды выделения внутри тегов и парных символов: vit внутри тегов, viПАРНЫЙ_СИМВОЛ внутри парных символов.
Перемещение в начало файла gg, в конец файла G.
Поиск осуществляется после нажатия в командном режиме клавиши /. Далее можно вводить строку поиска. После нажатия Enter будет осуществлён переход к первому вхождению.
Замена во всём файле осуществляется командой :%s/что меняем/на что меняем/g.
Замена в части файла осуществляется командой :%.,+5s/что меняем/на что меняем/g. (заменит в 5 строках, начиная с текущей).
Vim обычно интерпретирует строки поиска и замены как регулярные выражения vim. Регулярные выражения vim "инвертируются наоборот". В них $.^ доступны как символы регулярки, а иные спец. символы ([ и тп нужно экранировать, чтобы использовать как часть регулярного выражения. Доступны вхождения групп \1 и тп.
Если не очень удобно пользоваться инвертированными регулярными выражениями - можно использовать и обычные. Делается это так:
%s/\vНОРМАЛЬНАЯ_РЕГУЛЯРКА//g
%s/\vtest(\S+)/\1/g
Возможно, в этом режиме вам нужно будет экранировать угловые скобки и знаки равно.
В vim очень большие возможности для кастомизации и использования. Кроме того - есть плагины.
И чтобы всё это хранить и кастомизировать - нужно использовать файл ~/.vimrc
Мой vimrc: https://github.com/zedsh/vimrc Прежде чем его устанавливать, нужно поставить менеджер зависимостей vundle.