| Поваренная книга Vim |
| 1 | Перестановка символов Если вы быстро печатаете, ваши пальцы могут легко обогнать ваш разум. Часто люди путают местами символы. Например "the" превращается в "teh". Для перестановки двух символов, к примеру "e" и "h", поместите курсор на "e" и наберите xp. Команда "x" удаляет символ ("e") и "p" вставляет его после курсора (который теперь находится над "h".) Интерактивная замена одного слова другим Предположим, вы хотите заменить в тексте каждое слово "идиот" словом "менеджер". |
| 2 | Но вы хотите иметь возможность предпросмотра до замены. Для этого нужно: 1. 1G Перейти в начало документа 2. идиот Найти первое вхождение слова "идиот" 3. cwменеджер Заменить слово (cw) на менеджер 4. n Повторить последний поиск (найти следующего идиота.) 5. . Повторить последнее редактирование (заменить слово на "менеджер" (Если вы не хотите менять слово, пропустите этот шаг Повторяйте шаги 4 и 5 пока не замените все вхождения Какая Дева!? Церковь только что купила свой первый компьютер и учится его использовать. Церковный секретарь решила составить формальную прощальную проповедь для использования на похоронах. |
| 3 | Имя покойного она решила заполнять в выражение "<имя>". При очередных похоронах она бы просто заменяла это выражение на имя покойного. Как-то раз, когда проходили двое похорон, первое - некоей Марии, второе для некоей Эдны. Так что секретарь применила глобальную замену "<имя>" на "Мария". Отлично. Затем, во время вторых похорон, она заменила "Мария" на "Эдна". Это было ошибкой. Представьте удивление священника, когда он начал чтение и произнес "Рождение Пресвятой Девы Эдны". |
| 4 | Интерактивная замена одного слова другим (метод командной строки) Предположим, вы хотите заменить в тексте каждое слово "идиот" словом "менеджер". Но вы хотите иметь возможность предпросмотра до замены. Выполните команду : :%s\<идиот\>менеджерgc Эта команда будет производить замену и останавливаться после каждого изменения, чтобы дать вам возможность подтвердить его. Ввод "y" означает принятие, а "n" - отказ от изменения. |
| 5 | Команда состоит из: : Вход в командный режим % Выполнить эту команду на всех строках (% - синоним "от первой до последней строки".) s Сокращенная форма команды :substitute. \<идиот\> Это выражение определяет текст, над которым предполагается поколдовать. \<b0> отмечает начало слова и \> - его конец. менеджер Подставляемый текст gc Флаги g Глобально -- Заменяет каждое вхождение, не используя "с начала и до конце" на каждой строке c Подтверждение -- Спрашивать перед каждой заменой Замена одного слова другим одной командой Предположим, вы хотите заменить в тексте каждое слово "идиот" словом "менеджер". |
| 6 | И нет необходимости в подтверждении, так как все идиоты - менеджеры. Используйте команду: :%s\<идиот\>менеджерg Команда состоит из: : Вход в командный режим % Выполнить эту команду на всех строках (% - синоним "от первой до последней строки".) s Сокращенная форма команды :substitute. \<идиот\> Это выражение определяет текст, над которым предполагается поколдовать. \<b0> отмечает начало слова и \> - его конец. |
| 7 | менеджер Подставляемый текст g Глобальный флаг -- Этот флаг говорит Vim заменить каждое вхождение на лини, то есть не только первое. Перемещение текста (в стиле Vi) Предположим вы хотите переместить параграфы с верхней части теста в нижнюю. Есть несколько способов сделать это. В этом примере мы используем стиль Vi. В следующей части Перемещение текста (Визуальный режим) мы делаем это, используя команды Vim. |
| 8 | Выполните следующие действия: Команды Разъяснение 1. Переместите курсор на верх участка, который вы хотите переместить. 2. ma Поместите здесь метку "a". (Vim не выдает сообщения о выполнении этой команды. Другими словами, экран не изменится.) 3. Переместите курсор внизу участка, который вы хотите переместить. 4. d'a Удалите метку "a". Это поместит удаленный текст в буфер. 5. Переместите курсор на строку, где следует находиться тексту. |
| 9 | Текст будет на следующей строке. 6. p Вставить текст под курсором. Перемещение текста (Визуальный способ). Предположим, вы хотите переместить параграфы с верхней части теста в нижнюю. Есть несколько способов сделать это. В этом примере мы используем стиль Vim. В предыдущей части Перемещение текста (старый способ) мы делали это, используя команды Vi. Выполните следующие действия: Команды Разъяснение 1. |
| 10 | Переместите курсор на верх участка, который вы хотите переместить. 2. v Войдите в визуальный режим. (Если вы хотите переместить только полные линии, используйте команду V, которая включает визуальный строчный режим. 3. Переместите курсор внизу участка, который вы хотите переместить. Текст, предназначенный для перемещения, будет выделен. 4. d Выполняет визуальное удаление. Другими словами, удалить выделенный текст. 5. Переместите курсор на строку, где следует находиться тексту. Текст будет на следующей строке. 6. p Вставить текст под курсором. Копирование участка текста из одного файла в другой (В стиле Vi) Есть несоклько способов копировать текст из одного файла в другой. |
| … |
Комментарии