Видео смотреть бесплатно

Смотреть 3d видео

Официальный сайт filipoc 24/7/365

Смотреть видео бесплатно

09.03.09 00:42 h0rr0rr_drag0n

VimМакросы в Vim'е

Да, да в виме тоже есть макросы, как и в Microsoft Word. По крайней мере их использование и запись чем-то схожи...

Для начала пару слов о регистрах. Все то, что мы копируем\вырезаем в виме заносится в регистр по умолчанию - регистр №0. Кроме него используются другие цифровые регистры, буквенные (их мы и будем использовать) и ряд служебных. Зная имя регистра (например v), можно в него копировать "vyy и вставлять из него же "vp.
Для записи макроса достаточно ввести одну короткую команду - qимя_регистра, например qv. С этого момента все производимые вами действия будут записываться в макрос (кроме тех, что вы производите не в виме). Остановить запись можно, нажав клавишу q (естественно в командном режиме). Воспроизводится макрос после ввода команды @имя_регистра. Запустить еще раз последний использованный макрос можно командой @@.
Потренируемся. Возмем следующие строки:

echo "1"
echo "2"
echo "3"
echo "4"
echo "5"
echo "666"

Чтобы в конец каждой строки добавить перенаправление stdout в файл /tmp/tempfile, используем следующую "команду" (мы на первой строке):
<Esc>qvA >> /tmp/tempfile<Esc>jq5@v
Мы перешли в командный режим, начали запись макроса в регистр v. Затем мы перешли в режим редактирования на конце строки, добавили что нужно, вышли в командный режим. Потом перешли на строчку ниже и закончили запись макроса. Применили макрос 5 раз (по числу оставшихся строк).
Все.
Теперь самое интересное! Каждый макрос записан в соответствующем регистре и его можно оттуда вставить в редактор ("vp), подправить и послать обратно в регистр(<Esc>0"vy$). К примеру, наш макрос в регистре выглядит так:
A >> /tmp/tempfile^[j
Если вы хотите только дописать некие действия в макрос, оставив остальное его содержимое целым, то можно проделать это, использовав заглавную букву при указании регистра для записи макрса. Дальше все как обычно. Допишем наш макрос так, чтобы при переходе на новую строку он еще и вставлял пустую строку над курсором:
<Esc>qVO<Esc>jq
Вот и вся магия.


Теги:

KerneL 09.03.09 00:45 # +1
Неожиданно, спасибо! Вим могуч! Не подозревал о такой функциональности!
h0rr0rr_drag0n 09.03.09 00:53 # +0
Vim, vim! Ты могуч,
Ты cгоняешь слова в кучи,
Не боишься никого,
Кроме Emacs'a одного.
KerneL 09.03.09 00:58 # +0
Ы!
Када же Емакс обновится наконец?
aonick 02.06.09 23:55 # +0
Очень полезно - спасибо

Лучшие блоги (все 107)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 2128 из 160 городов)
Топ пользователей Топ блогов

Новенькие: korovann, blaw, off220, troyane, arts
welinux.ru

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн