Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
wiki:vim [2011/10/30 16:18] [Режим ввода текста] |
wiki:vim [2013/04/05 17:32] [Замена текста] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
======Редактор Vi/Vim====== | ======Редактор Vi/Vim====== | ||
- | =====Позвольте представить — Vim===== | ||
- | |||
{{:wiki:снимок-1.png?350 }} | {{:wiki:снимок-1.png?350 }} | ||
- | |||
Существует множество версий Vi. Я представлю вам версию Vi, называемую "Vim". Vim очень популярен, так как у него есть несколько дополнений, делающих Vi немного приятнее (когда будут демонстрироваться специфичные для Vim команды, я это отмечу). Здесь приведена картинка GVim из моей системы. | Существует множество версий Vi. Я представлю вам версию Vi, называемую "Vim". Vim очень популярен, так как у него есть несколько дополнений, делающих Vi немного приятнее (когда будут демонстрироваться специфичные для Vim команды, я это отмечу). Здесь приведена картинка GVim из моей системы. | ||
- | Если вам нужно установить Vim, вы можете получить его на http://www.vim.org или установить через консоль | + | <style float-left>[[app>vim|Vim]]</style> |
- | <code># apt-get install vim</code> | + | Для того, чтобы установить Vim перейдите по ссылке слева или выполните в терминале: |
- | Хотя в большинстве Линукс-дистрибутивов он уже установлен по умолчанию. В придачу к улучшенному консольному Vi, Vim доступен также в виде GVim — прекрасного графического редактора, который может быть сконфигурирован для использования с великолепной библиотекой GUI (графического интерфейса пользователя) GTK+. | + | <code bash>sudo apt-get install vim</code> |
- | <code># apt-get install vim-gtk</code> | + | Хотя в большинстве дистрибутивов Linux он уже установлен по умолчанию. В придачу к улучшенному консольному Vi, Vim доступен также в виде GVim — прекрасного графического редактора, который может быть сконфигурирован для использования с великолепной библиотекой GUI (графического интерфейса пользователя) GTK+. |
- | + | <code bash>sudo apt-get install vim-gtk</code> | |
Если Vi вам в новинку, попробуйте установить в своей системе GVim. Использование Vi в графической оболочке может кое в чем облегчить новичкам жизнь. | Если Vi вам в новинку, попробуйте установить в своей системе GVim. Использование Vi в графической оболочке может кое в чем облегчить новичкам жизнь. | ||
Также можно запустить обучающую программу, набрав в терминале команду | Также можно запустить обучающую программу, набрав в терминале команду | ||
- | <code>$ vimtutor</code> | + | <code bash>vimtutor</code> |
или | или | ||
- | <code>$ gvimtutor</code> | + | <code bash>gvimtutor</code> |
Это небольшая обучающая программа поможет за 25-30 минут освоиться в этом необычном для новичка редакторе. | Это небольшая обучающая программа поможет за 25-30 минут освоиться в этом необычном для новичка редакторе. | ||
- | |||
=====Открываем файл===== | =====Открываем файл===== | ||
- | |||
Перед использование Vi для редактирования файлов вам следует узнать, как в Vi перемещаться по файлу. У Vi множество команд перемещения, многие из них мы сейчас рассмотрим. Для этой части обучения найдите какой-нибудь малоценный текстовый файл (TODO: лучше на английском) и загрузите его в Vi напечатав: | Перед использование Vi для редактирования файлов вам следует узнать, как в Vi перемещаться по файлу. У Vi множество команд перемещения, многие из них мы сейчас рассмотрим. Для этой части обучения найдите какой-нибудь малоценный текстовый файл (TODO: лучше на английском) и загрузите его в Vi напечатав: | ||
- | + | <code bash>vi myfile.txt</code> | |
- | <code>$ vi myfile.txt</code> | + | |
Если у вас установлен Vim, наберите в консоли: | Если у вас установлен Vim, наберите в консоли: | ||
- | + | <code bash>vim myfile.txt</code> | |
- | <code>$ vim myfile.txt</code> | + | |
Если вы предпочитаете использовать GVim: | Если вы предпочитаете использовать GVim: | ||
+ | <code bash>gvim myfile.txt</code> | ||
- | <code>$ gvim myfile.txt</code> | + | //myfile.txt// должно быть именем текстового файла в вашей системе. |
- | + | ||
- | myfile.txt должно быть именем текстового файла в вашей системе. | + | |
====Внутри Vi==== | ====Внутри Vi==== | ||
- | |||
После загрузки Vi, на экране вы должны увидеть часть загруженного вами текстового файла. Поздравляю — вы уже в Vi! В отличии от большинства редакторов, загрузившись, Vi находится в специальном режиме, называемом **"командным режимом"**. Это значит, что если вы нажмете клавишу **<l>(строчная L)**, вместо появления "l" на месте курсора вы увидите, что курсор всего лишь сдвинулся на один символ вправо. В командном режиме знаки, набираемые на клавиатуре, используются как команды для Vi, а не как помещаемые в текст символы. Один из наиболее важных типов команд — это команды перемещения. Давайте рассмотрим некоторые из них. | После загрузки Vi, на экране вы должны увидеть часть загруженного вами текстового файла. Поздравляю — вы уже в Vi! В отличии от большинства редакторов, загрузившись, Vi находится в специальном режиме, называемом **"командным режимом"**. Это значит, что если вы нажмете клавишу **<l>(строчная L)**, вместо появления "l" на месте курсора вы увидите, что курсор всего лишь сдвинулся на один символ вправо. В командном режиме знаки, набираемые на клавиатуре, используются как команды для Vi, а не как помещаемые в текст символы. Один из наиболее важных типов команд — это команды перемещения. Давайте рассмотрим некоторые из них. | ||
Строка 43: | Строка 34: | ||
====Перемещения в Vi, часть 1==== | ====Перемещения в Vi, часть 1==== | ||
- | |||
Находясь в командном режиме, вы можете использовать клавиши <h>,<j>,<k> и <l> для перемещения курсора влево, вниз, вверх и вправо соответственно. Если вы используете современную версию Vi, вы можете также с этой целью использовать клавиши со стрелками. Клавиши <h>,<j>,<k> и <l> предпочтительнее, так как освоившись с ними вы сможете перемещаться по файлу, не размахивая руками над клавиатурой. Для перемещения по текстовому файлу используйте следующие клавиши: | Находясь в командном режиме, вы можете использовать клавиши <h>,<j>,<k> и <l> для перемещения курсора влево, вниз, вверх и вправо соответственно. Если вы используете современную версию Vi, вы можете также с этой целью использовать клавиши со стрелками. Клавиши <h>,<j>,<k> и <l> предпочтительнее, так как освоившись с ними вы сможете перемещаться по файлу, не размахивая руками над клавиатурой. Для перемещения по текстовому файлу используйте следующие клавиши: | ||
- | |||
* **j** -- перемещает курсор вниз; | * **j** -- перемещает курсор вниз; | ||
* **k** -- перемещает курсор вверх; | * **k** -- перемещает курсор вверх; | ||
* **h** -- перемещает курсор вправо; | * **h** -- перемещает курсор вправо; | ||
* **l** -- перемещает курсор влево. | * **l** -- перемещает курсор влево. | ||
- | |||
Попробуйте использовать <h> пока не дойдете до начала строки. Отметьте, что Vi не даст вам перескочить на предыдущую строку, нажимая <h>, если вы находитесь в начале строки. Точно также он не позволит вам перескочить на следующую строку, нажимая <l> в конце строки. | Попробуйте использовать <h> пока не дойдете до начала строки. Отметьте, что Vi не даст вам перескочить на предыдущую строку, нажимая <h>, если вы находитесь в начале строки. Точно также он не позволит вам перескочить на следующую строку, нажимая <l> в конце строки. | ||
====Перемещения в Vi, часть 2==== | ====Перемещения в Vi, часть 2==== | ||
- | |||
Vi предоставляет специальные команды для прыжков в начало и конец текущей строки: | Vi предоставляет специальные команды для прыжков в начало и конец текущей строки: | ||
- | |||
* **0 (ноль)** -- перескочить на первый символ в строке; | * **0 (ноль)** -- перескочить на первый символ в строке; | ||
* **$** -- перескочить на последний символ в строке. | * **$** -- перескочить на последний символ в строке. | ||
- | |||
Поскольку у Vi так много команд перемещения, его можно использовать в качестве великолепного инструмента просмотра — "pager"а (как команды more или less). Используя Vi для просмотра, вы очень быстро запомните все команды перемещения. | Поскольку у Vi так много команд перемещения, его можно использовать в качестве великолепного инструмента просмотра — "pager"а (как команды more или less). Используя Vi для просмотра, вы очень быстро запомните все команды перемещения. | ||
Вы также можете использовать **<C-F> и <C-B> для перемещения вперед и назад** сразу на страницу. Современные версии Vi (такие как Vim) могут позволить использовать для этих целей клавиши <PageUp> и <PageDown>. | Вы также можете использовать **<C-F> и <C-B> для перемещения вперед и назад** сразу на страницу. Современные версии Vi (такие как Vim) могут позволить использовать для этих целей клавиши <PageUp> и <PageDown>. | ||
- | **Примечание.** Комбинация <C-F> означает комбинацию клавиш <Ctrl>+<F>. Во многих источниках про Vim можно встретить именно такое обозначение комбинация клавиш. Часто еще можно встретить и такое обозначение: **^F** | + | <note>Комбинация <C-F> означает комбинацию клавиш <Ctrl>+<F>. Во многих источниках про Vim можно встретить именно такое обозначение комбинация клавиш. Часто еще можно встретить и такое обозначение: **^F**</note> |
====Перемещение по словам, часть 1==== | ====Перемещение по словам, часть 1==== | ||
- | |||
Vi также позволяет вам перемещаться влево и вправо по словам: | Vi также позволяет вам перемещаться влево и вправо по словам: | ||
- | |||
* **w** -- перемещения на первый символ следующего слова нажмите; | * **w** -- перемещения на первый символ следующего слова нажмите; | ||
* **e** -- передвинуться на следующий последний символ слова нажмите; | * **e** -- передвинуться на следующий последний символ слова нажмите; | ||
Строка 75: | Строка 58: | ||
====Перемещение по словам, часть 2==== | ====Перемещение по словам, часть 2==== | ||
- | |||
Позабавившись с командами перемещения по словам, вы могли заметить, что Vi считает слова типа "foo-bar-oni" пятью различными словами! Это происходит потому, что Vi по умолчанию разделяет слова пробелами или знаками пунктуации (которые тоже считает словами). Поэтому foo-bar-oni считается пятью словами: "foo","-","bar","-" и "oni". | Позабавившись с командами перемещения по словам, вы могли заметить, что Vi считает слова типа "foo-bar-oni" пятью различными словами! Это происходит потому, что Vi по умолчанию разделяет слова пробелами или знаками пунктуации (которые тоже считает словами). Поэтому foo-bar-oni считается пятью словами: "foo","-","bar","-" и "oni". | ||
Строка 81: | Строка 63: | ||
====Перемещение по словам, часть 3==== | ====Перемещение по словам, часть 3==== | ||
- | |||
Чтобы переместиться на следующее или предыдущее большое слово, вы можете использовать "заглавные" команды перемещения по словам. Нажав следующие клавиши, вы попадете на: | Чтобы переместиться на следующее или предыдущее большое слово, вы можете использовать "заглавные" команды перемещения по словам. Нажав следующие клавиши, вы попадете на: | ||
- | |||
* **W** — первый символ следующего большого слова; | * **W** — первый символ следующего большого слова; | ||
* **E** — следующий последний символ большого слова; | * **E** — следующий последний символ большого слова; | ||
Строка 89: | Строка 69: | ||
====Дальние переходы==== | ====Дальние переходы==== | ||
- | |||
Осталось рассмотреть еще несколько команд, и можно будет начинать их записывать на шпаргалку. Вы можете использовать скобки: | Осталось рассмотреть еще несколько команд, и можно будет начинать их записывать на шпаргалку. Вы можете использовать скобки: | ||
- | |||
* **(** и **)** чтобы перейти на начало предыдущего и следующего предложения. | * **(** и **)** чтобы перейти на начало предыдущего и следующего предложения. | ||
* **{** или **}** (фигурные скобки) -- Позволят перескочить в начало параграфа. | * **{** или **}** (фигурные скобки) -- Позволят перескочить в начало параграфа. | ||
=====Выход===== | =====Выход===== | ||
- | |||
Мы рассмотрели основные команды перемещения, однако осталась еще пара команд, которые вам необходимо знать. Напечатав: | Мы рассмотрели основные команды перемещения, однако осталась еще пара команд, которые вам необходимо знать. Напечатав: | ||
- | |||
* **:q** вы должны выйти из Vi. Если не получиться, значит вы каким-то образом ухитрились изменить файл; | * **:q** вы должны выйти из Vi. Если не получиться, значит вы каким-то образом ухитрились изменить файл; | ||
* **:q!** выйти отбросив изменения следует командой. | * **:q!** выйти отбросив изменения следует командой. | ||
Строка 104: | Строка 80: | ||
Теперь вы должны оказаться в командной строке системы. | Теперь вы должны оказаться в командной строке системы. | ||
- | **Любая команда в Vi, начинающаяся с двоеточия (":"), называется командой ex-режима (an ex-mode command).** Это из-за того, что Vi имеет встроенный не экранный редактор, зовущийся **ex**. Он может использоваться подобно sed для выполнения операций редактирования, ориентированных на строки. Дополнительно, как мы только что видели, он может использоваться для завершения работы. Если вы случайно нажмете <Q>, находясь в командном режиме, то можете оказаться в ex-режиме. В этом случае вы столкнетесь с приглашением ":", и нажатие на Enter будет сдвигать вверх содержимое экрана. Для возврата к привычному vi-режиму просто наберите vi и нажмите <Enter>. | + | **Любая команда в Vi, начинающаяся с двоеточия (":"), называется командой ex-режима (an ex-mode command).** Это из-за того, что Vi имеет встроенный не экранный редактор, зовущийся **ex**. Он может использоваться подобно sed для выполнения операций редактирования, ориентированных на строки. Дополнительно, как мы только что видели, он может использоваться для завершения работы. Если вы случайно нажмете <Q>, находясь в командном режиме, то можете оказаться в ex-режиме. В этом случае вы столкнетесь с приглашением ":", и нажатие на Enter будет сдвигать вверх содержимое экрана. Для возврата к привычному vi-режиму просто наберите **vi** и нажмите <Enter>. |
=====Сохранение и Редактирование===== | =====Сохранение и Редактирование===== | ||
====Save(сохранить) и save as...(сохранить как...)==== | ====Save(сохранить) и save as...(сохранить как...)==== | ||
- | |||
Мы уже видели, как используя ex-команду **:q** выйти из vi. | Мы уже видели, как используя ex-команду **:q** выйти из vi. | ||
- | |||
* **:w** -- записать или сохранить фаил; | * **:w** -- записать или сохранить фаил; | ||
* **:w filename** -- для сохранение под другим именем; | * **:w filename** -- для сохранение под другим именем; | ||
* **:x** или **:wq** -- сохранить и выйти. | * **:x** или **:wq** -- сохранить и выйти. | ||
- | + | В Vim (и других потомках Vi, типа elvis), вы можете держать открытыми одновременно несколько буферов. Введите команду | |
- | В Мim (и других потомках Мi, типа elvis), вы можете держать открытыми одновременно несколько буферов. Введите команду | + | |
* **:sp filename.txt** для открытия файла filename.txt в новом окне; | * **:sp filename.txt** для открытия файла filename.txt в новом окне; | ||
* **:sp** (без имени файла) откроет дополнительное окно для активного буфера. | * **:sp** (без имени файла) откроет дополнительное окно для активного буфера. | ||
Строка 124: | Строка 96: | ||
====Простое редактирование==== | ====Простое редактирование==== | ||
- | |||
Вот и подошло время заняться изучением простых команд редактирования. Рассматриваемые здесь команды считаются "простыми" из-за того, что оставляют вас в командном режиме. Более сложные команды автоматически переводят вас в режим ввода текста, позволяющий добавлять в буфер символьную информацию, набираемую на клавиатуре; их рассмотрим позднее. | Вот и подошло время заняться изучением простых команд редактирования. Рассматриваемые здесь команды считаются "простыми" из-за того, что оставляют вас в командном режиме. Более сложные команды автоматически переводят вас в режим ввода текста, позволяющий добавлять в буфер символьную информацию, набираемую на клавиатуре; их рассмотрим позднее. | ||
Строка 133: | Строка 104: | ||
====Повторение и удаление==== | ====Повторение и удаление==== | ||
- | + | Повторить любую команду редактирования вы можете нажимая клавишу <**.**> (точка). Если попробуете, то можете увидеть, что печать **dd...** удалит 4 строки, а **J......** объединит семь строк. Как обычно, Vi обеспечивает вас различными удобными средствами сокращения трудозатрат. | |
- | Повторить любую команду редактирования вы можете нажимая клавишу . (точка). Если попробуете, то можете увидеть, что печать **dd... удалит 4 строки**, а **J...... объединит семь строк**. Как обычно, Vi обеспечивает вас различными удобными средствами сокращения трудозатрат. | + | |
Удалять текст вы можете также комбинируя команду **d** с любыми командами перемещения. Например, **dw** удалит часть текста от текущей позиции курсора до начала следующего слова; **d)** удалит вплоть до следующего конца предложения, и **d}** удалит весь остаток абзаца. Поэкспериментируйте с командой **d** и другими командами редактирования, пока не почувствуете себя с ними уверенно. | Удалять текст вы можете также комбинируя команду **d** с любыми командами перемещения. Например, **dw** удалит часть текста от текущей позиции курсора до начала следующего слова; **d)** удалит вплоть до следующего конца предложения, и **d}** удалит весь остаток абзаца. Поэкспериментируйте с командой **d** и другими командами редактирования, пока не почувствуете себя с ними уверенно. | ||
=====Режим ввода текста===== | =====Режим ввода текста===== | ||
- | |||
Мы уже рассмотрели, как в vi перемещаться, выполнять чтение\запись файлов и основные операции редактирования. Однако, я еще не объяснил, как напечатать произвольный текст! Сделано это было умышленно, так как поначалу режим ввода текста в Vi малость сложноват. Тем не менее, после того, как вы станете спокойно себя чувствовать в режиме ввода текста, эта сложность (и гибкость) станет настоящей ценностью. | Мы уже рассмотрели, как в vi перемещаться, выполнять чтение\запись файлов и основные операции редактирования. Однако, я еще не объяснил, как напечатать произвольный текст! Сделано это было умышленно, так как поначалу режим ввода текста в Vi малость сложноват. Тем не менее, после того, как вы станете спокойно себя чувствовать в режиме ввода текста, эта сложность (и гибкость) станет настоящей ценностью. | ||
Строка 147: | Строка 116: | ||
* **i** или **a** -- вернуться/войти в режим ввода. | * **i** или **a** -- вернуться/войти в режим ввода. | ||
- | **Не забудьте, введя свой текст, нажать <ESC> для возврата в режим команд.** | + | <note>Не забудьте, введя свой текст, нажать <ESC> для возврата в режим команд.</note> |
=====Комбинированные команды===== | =====Комбинированные команды===== | ||
+ | Vi действительно становиться мощным, когда вы начинаете использовать совмещенные (или комбинированные) команды, типа **d{** и **cw**. Дополнительно к таким командам, вы также можете совмещать числа с любыми командами перемещения, как **3w**, которая сообщает Vi о необходимости проскочить вперед на три слова. Вот еще несколько примеров таких комбинированных команд: **12b**, **4j**. | ||
- | Vi действительно становиться мощным, когда вы начинаете использовать совмещенные (или комбинированные) команды, типа d{ и cw. Дополнительно к таким командам, вы также можете совмещать числа с любыми командами перемещения, как 3w, которая сообщает Vi о необходимости проскочить вперед на три слова. Вот еще несколько примеров таких комбинированных команд: **12b, 4j**. | + | Разрешая комбинации (число)(команда перемещения), Vi позволяет еще совмещать команды **d** или **c** с числами или командами перемещения. Так **d3w** удалит следующие три слова, **d2j** удалит текущую и две следующие строки, и т.д. Попробуйте немного поэкспериментировать с командами **c** и **d**, совмещенными с перемещениями, чтобы почувствовать, каким мощным и лаконичным может быть редактирование в Vi. Когда эти команды станут вашей второй натурой, вы сможете редактировать файлы с невероятной скоростью. |
- | + | ||
- | Разрешая комбинации (число)(команда перемещения), Vi позволяет еще совмещать команды d или c с числами или командами перемещения. Так **d3w удалит следующие три слова, d2j удалит текущую и две следующие строки**, и т.д. Попробуйте немного поэкспериментировать с командами c и d, совмещенными с перемещениями, чтобы почувствовать, каким мощным и лаконичным может быть редактирование в Vi. Когда эти команды станут вашей второй натурой, вы сможете редактировать файлы с невероятной скоростью. | + | |
=====Увеличение производительности===== | =====Увеличение производительности===== | ||
- | |||
Только что мы рассмотрели, как перемещаться, сохранять и завершать работу, выполнять простое редактирование и удаление, пользоваться режимом ввода текста. С этим багажом знаний (только что показанным на шпаргалке) вы уже способны, используя Vi, справиться практически с любой задачей. | Только что мы рассмотрели, как перемещаться, сохранять и завершать работу, выполнять простое редактирование и удаление, пользоваться режимом ввода текста. С этим багажом знаний (только что показанным на шпаргалке) вы уже способны, используя Vi, справиться практически с любой задачей. | ||
Строка 162: | Строка 129: | ||
=====Экранный режим===== | =====Экранный режим===== | ||
- | |||
{{ :wiki:vihighlight-ru.png?350}} | {{ :wiki:vihighlight-ru.png?350}} | ||
- | |||
Лучшим способом вырезать и вставлять фрагменты текста является использование экранного режима, специального режима, добавленного в современных версиях Vi, таких как Vim и elvis. Вы можете представлять себе экранный режим как режим "подсвечивания текста". Выделенный текст может быть скопирован или удален, а затем вставлен. Если вы используете GVim, выделить кусок текста вы можете просто нажав левую кнопку мышки и протащив курсор по нужной области. | Лучшим способом вырезать и вставлять фрагменты текста является использование экранного режима, специального режима, добавленного в современных версиях Vi, таких как Vim и elvis. Вы можете представлять себе экранный режим как режим "подсвечивания текста". Выделенный текст может быть скопирован или удален, а затем вставлен. Если вы используете GVim, выделить кусок текста вы можете просто нажав левую кнопку мышки и протащив курсор по нужной области. | ||
Войти в экранный режим вы еще можете нажав v (это может быть вашей единственной возможностью, если вы используете Vi в консоли). Затем, двигая курсор командами перемещения (обычно стрелками), вы можете выделить область текста. Закончив выделение, вы уже готовы вырезать либо копировать текст. | Войти в экранный режим вы еще можете нажав v (это может быть вашей единственной возможностью, если вы используете Vi в консоли). Затем, двигая курсор командами перемещения (обычно стрелками), вы можете выделить область текста. Закончив выделение, вы уже готовы вырезать либо копировать текст. | ||
- | Для копирования текста нажмите y (от слова "yank"). Чтобы вырезать текст нажмите d. Вы будете переведены назад в командный режим. Теперь переместитесь в то место, где вы хотите вставить вырезанный или скопированный текст, и нажмите P (заглавная) для вставки перед курсором или p (строчная) для вставки за курсором. Всё, копирование\вырезание и вставка выполнены! А теперь проделайте еще несколько раз процедуру копирования\вырезания и вставки перед тем, как перейти к следующему разделу. | + | Для копирования текста нажмите **y** (от слова "yank"). Чтобы вырезать текст нажмите **d**. Вы будете переведены назад в командный режим. Теперь переместитесь в то место, где вы хотите вставить вырезанный или скопированный текст, и нажмите **P** (заглавная) для вставки перед курсором или **p** (строчная) для вставки за курсором. Всё, копирование\вырезание и вставка выполнены! А теперь проделайте еще несколько раз процедуру копирования\вырезания и вставки перед тем, как перейти к следующему разделу. |
+ | |||
+ | Для того, чтобы вставить в редактор содержимое буфера обмена (в который Вы скопировали информацию по **<Ctrl>**+**<C>**) необходимо установить утилиту xclip | ||
+ | <code bash>apt-get install xclip</code> | ||
+ | и скопировав нужный текст выполнить в командном режиме редактора | ||
+ | |||
+ | **:r! xclip -o** и нажмите **<ENTER>**. | ||
=====Замена текста===== | =====Замена текста===== | ||
- | |||
Для замены образцов текста мы используем ex-режим. Если вы хотите заменить первый попавшийся в текущей строке образчик, наберите: | Для замены образцов текста мы используем ex-режим. Если вы хотите заменить первый попавшийся в текущей строке образчик, наберите: | ||
- | **:s/<regexp>/<replacement>/ и нажмите <ENTER>, где <regexp> - что хотите заменить, и <replacement> - на что.** | + | **:s/<regexp>/<replacement>/** и нажмите **<ENTER>**, где <regexp> - что хотите заменить, и <replacement> - на что. |
Для замены всех совпадений с эталоном в текущей строке используйте команду: | Для замены всех совпадений с эталоном в текущей строке используйте команду: | ||
- | * **:s/<regexp>/<replacement>/g** -- замена каждого вхождения образца во всем файле (что обычно и требуется); | + | * **:%s/<regexp>/<replacement>/g** -- замена каждого вхождения образца во всем файле (что обычно и требуется); |
* **:%s/<regexp>/<replacement>/gc** -- подтверждение потребность замены в каждом конкретном случае при выполнении глобального замещения (здесь "c" означает "confirm"). | * **:%s/<regexp>/<replacement>/gc** -- подтверждение потребность замены в каждом конкретном случае при выполнении глобального замещения (здесь "c" означает "confirm"). | ||
Строка 184: | Строка 154: | ||
=====Выделение===== | =====Выделение===== | ||
- | |||
Vi поддерживает автоматический отступ при редактировании вами исходников (текстов программ). Большинство современных версий Vi (таких, как Vim) могут самостоятельно включать абзацный авто отступ при редактировании вами исходников (например, файлов типа .c). | Vi поддерживает автоматический отступ при редактировании вами исходников (текстов программ). Большинство современных версий Vi (таких, как Vim) могут самостоятельно включать абзацный авто отступ при редактировании вами исходников (например, файлов типа .c). | ||
- | |||
* **:set autoindent** -- включить авто отступ; | * **:set autoindent** -- включить авто отступ; | ||
* **:set tabstop=(число)** -- установить авто табуляцию (где число есть число символов табуляции). | * **:set tabstop=(число)** -- установить авто табуляцию (где число есть число символов табуляции). | ||
+ | Если авто отступ включен, вы можете использовать **<C-d> ** для уменьшения и **<C-t>** для увеличения уровня отступа. | ||
- | Если авто отступ включен, вы можете использовать **<C-d> ** для уменьшения и **<C-t>** для увеличения уровня отступа. | + | =====Ссылки===== |
- | + | ||
- | --------- | + | |
- | =====Ресурсы===== | + | |
Означенные здесь ресурсы могут быть полезны желающим продолжить изучение vi далее. (Правда, на английском): | Означенные здесь ресурсы могут быть полезны желающим продолжить изучение vi далее. (Правда, на английском): | ||
- | + | * Прекрасный ресурс о всех деталях vi -- http://thomer.com/vi/vi.html; | |
- | * Прекрасный ресурс о всех деталях vi -- http://thomer.com//vi/vi.html; | + | |
* Место, где есть все нужное вам для vim -- http://www.vim.org/ | * Место, где есть все нужное вам для vim -- http://www.vim.org/ | ||
* Если вы ищите хорошую, старомодную бумажную книгу, http://oreilly.com/catalog/9781565924260/ может стать прекрасным выбором. Содержит хороший обзор самого vi и его клонов; | * Если вы ищите хорошую, старомодную бумажную книгу, http://oreilly.com/catalog/9781565924260/ может стать прекрасным выбором. Содержит хороший обзор самого vi и его клонов; | ||
* Статья взята с http://www.gentoo.org/doc/ru/vi-guide.xml . | * Статья взята с http://www.gentoo.org/doc/ru/vi-guide.xml . | ||
- | * [[http://www.michurin.com.ru/vi-guide.shtml|Команды vi (неплохая шпаргалка)]] | ||
* Отображение команд Vim(GVim) на клавиатуре -- http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html | * Отображение команд Vim(GVim) на клавиатуре -- http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html | ||
- | ------------- | + | ====== Полезное ====== |
+ | |||
+ | =====Обои с описанием клавиатурных сокращений и команд. ===== | ||
+ | Размер: 1366х768\\ | ||
+ | Для загрузки нажмите на изображение, в появившемся окне нажмите на изображение ещё раз для увеличения и нажмите правой кнопкой "Сохранить изображение как..." | ||
+ | {{ :wiki:vim:vim.png?500 }} | ||
+ | {{:wiki:vim:vim.tar.gz|Исходник в формате .xcf}}\\ | ||
+ | Взято с [[http://habrahabr.ru/post/149220/|хабра]]\\ | ||
+ | |||
+ | ====== Статьи про Vi ====== | ||
+ | {{topic> Vi Vim GVim vi vim gvim}} | ||
+ | |||
+ | <style float-right>//[[terms:теги#как_узнать_какой_тег_соответствует_той_или_иной_категории|Если хотите, чтобы ваша статья появилась на этой странице, поставьте тег: vim]]//</style> | ||
- | {{tag>howto Консоль Система Редакторы_текста}} | + | {{tag>Индексная_статья Консоль Система Редакторы_текста}} |