Компьютеры нового поколения все как один построены на базе операционных систем с графическим интерфейсом. Сегодня даже не все помнят, что каких-то 40 лет назад все управление выполнялось с помощью специальных текстовых команд, а работа с компьютером напоминала одностороннее общение в чате. И несмотря на колоссальные изменения в мире электроники, осталось немало поклонников командной строки и продуктов, управляемых исключительно с помощью текстовых команд. Например, редактора vi, который по праву считается одним из самых удобных и гибких инструментов для набора текстов по сей день. В ниже изложенном материале подробнее рассмотрим, что представляет собой vi. Инструкция к редактору, основные команды и возможности - обо всем этом читайте ниже.

Что такое vi?

По своей сути, vi представляет собой ни что иное, как классический текстовый редактор, коих было немало в период с начала 70-х до конца 90-х. Конкретно этот ыл разработан еще в 1976 году. Идея по созданию нового упрощенного текстового редактора пришла в голову Билла Джоя, который в то время пользовался другим популярным продуктом - ed. По мнению Джоя и его коллег, ed был слишком сложным и «простые смертные» не могли его освоить в полной мере. По этой причине Джордж Колорис создал свой собственный текстовый редактор, который был иронично назван «редактором для простых смертных», а уже затем Билл модифицировал его и привел к современному виду, который существует по сей день.

Системные требования

Никаких предварительных требований для освоения командной строки и текстовых редакторов вроде vi не существует. Можно начинать с нуля и на любой платформе, будь то UNIX-подобные системы (и «форки» от них) или же дистрибутивы на базе Linux. В каждую из них можно установить vi в том или ином виде. Редактор vi для Windows также существует.

Варианты клиентов

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

  • Vim - это модифицированная версия классического редактора. Главной особенностью программы является возможность устанавливать пользовательские расширения, такие как выделение синтаксиса, поддержка Unicode, поддержка макросов, сохранение отдельных сеансов и многое другое. Существует также версия с графическим интерфейсом под названием GVim.
  • Elvis - один из первых клонов vi, написанный на языке программирования C и доступный на всех платформах сразу. Это полноэкранный редактор, поддерживающий Windows и подсветку синтаксиса.
  • Vile - попытка совместись все лучшее из двух популярных текстовых редакторов. Среди пользователей текстовыми редакторами Emacs и vi существует негласная вражда. Разработчики ville попытались объединить ключевые особенности обеих программ, дабы предоставить пользователям универсальный инструмент для работы с текстом.
  • Nvi - классический редактор на основе vi, перекомпилированный специально для систем FreeBSD.
  • Viper - это даже не отдельный клиент, а всего лишь плагин для популярного текстового редактора Emacs, который позволяет эмулировать команды текстового редактора vi.

Начало работы с vi

Скорее всего, для работы с редактором даже не придется ничего загружать. Большинство Linux-дистрибутивов поставляются с vi в комплекте. Собственно для запуска необходимо лишь ввести соответствующую команду и указать файл, который должен быть открыт. Если вы хотите открыть файл в vim, то нужно написать - «vim *название файла*.txt». Сразу после этого перед вами предстанет документ. Для открытия его в графическом интерфейсе, необходимо заменить команду на - «gvim *название файла*.txt». Первоначально вы попадете в режим команд. Редактор vi подразумевает работу в двух режимах: режим правки и режим команд. Первый служит для ввода текста, а второй для навигации и исполнения функций вроде сохранения. Начнем с командного режима и навигации.

Навигация

Для начала стоит ознакомиться с тем, какие команды редактора vi позволяют передвигать курсор в документе. В основном для этого используются клавиши h, j, k, l, которые отвечают за перемещение влево, вниз, вверх и вправо соответственно. В принципе, в современных версиях vi, включая vim и графические «форки», поддерживается работа со стрелками, но, заставив себя использовать классический вариант, вы со временем привыкните и поймете, что так гораздо быстрее и удобнее. Единственная особенность, которая может вызвать недоумение - отсутствие возможности переместиться на верхнюю строку посредством h и l, для перемещения вверх и вниз всегда используются кнопки j и k. Для перемещения в начало или конец строки используются клавиши 0 и $. Для перемещения между страницами используются сочетания клавиш Ctrl + F и Ctrl + B.

Для перемещения между словами используются клавиши w, e, b. Для того чтобы мгновенно переместиться к первому символу следующего слова, нажмите w. Для перемещения к последнему символу следующего слова, нажмите E. Для помещения к первому символу предыдущего слова, нажмите b. Тут тоже есть небольшая загвоздка. Дело в том, что сложные слова редактор делит по пробелам и тире на отдельные слова. Это значит, что выражение - night-drive будет считаться тремя разными словами. Чтобы не тратить время на перескакивание через тире, можно использовать команды с большими буквами, то есть W вместе w или B вместе b.

Для более внушительных прыжков используются скобки () и {}. Первые помогают перемещаться между предложениями, а другие между целыми абзацами.

Наиболее удобный способ перемещения - это перемещение по строкам и ключевым словам. Для того чтобы переместить курсор на определенную строку, необходимо ввести номер строки и G (должна быть именно заглавная G). Для перемещения к конкретному слову, необходимо начать поиск с помощью символа /. Например, если вы хотите найти слово anaphora, введите /anaphora и нажмите Enter. Для перемещения между поисковыми словами, используются клавиши n и N.

Редактирование и сохранение

Для начала выясним, как выйти с редактора vi. Сделать это можно с помощью команды:q, которая попросту закроет программу без каких-либо изменений. Стоит отметить, что закрыть программу не получится, если в документ были внесены какие-либо изменения. Это некая защита от потери информации, поэтому перед выходом всегда нужно сохранять внесенные данные. Сохранение в редакторе vi выполняется с помощью команды:w. Команды можно сочетать. Например, введя:wq, вы одновременно сохраните данные и закроете программу. Но и это не все. Если вы хотите сохранить измененный документ в новом файле, то нужно воспользоваться командой редактора vi - «Сохранить в файл», которая реализуется посредством ввода:w *имя файла*.txt.

Теперь поговорим о «простом» редактировании, которое завязано на схожих командах, без изменения содержания документов. Например, для удаления какого-либо символов используется клавиша x, а для присоединения двух строк друг к другу используется клавиша J. Для удаления целой строки используется двойное нажатие клавиши d. Заменять символы можно с помощью клавиши r.

Любую из описанных выше команд можно продублировать (или повторить еще несколько раз), используя клавишу. (точку). Так, к примеру, можно удалить сразу четыре строки, введя dd….

Эти команды можно комбинировать. Мы уже знаем, что с помощью скобки) можно переместиться в конец строки, а с помощью скобки } можно прыгнуть в конец параграфа. Задействовав вместе с ними клавишу d, можно удалять целые строки и параграфы без лишней траты времени.

Зная столько команд редактора vi для удаления текста, необходимо узнать, как все удаленное восстановить (мало ли что). Для этого используется клавиша u, которая позволяет сделать шаг назад, независимо от того, какое действие было выполнено до этого (если, конечно, это не закрытие программы).

Режим правки

Раз уж вы ознакомились с командами для управления текстовым редактором, пора переходить к его непосредственной задаче - вводу текста. Сам процесс ввода текста, естественно, ничем не отличается от такового в любом другом редакторе, но важно всегда помнить о том, что вам постоянно придется переключаться между режимами правки и команд. Для перехода в режим правки нажмите клавишу i или a (от этого будет зависеть лишь положение курсора в тексте). После этого сразу же можно приступить к набору. Весь текст будет вводиться в одну линию, до тех пор, пока вы не воспользуетесь клавишей o, которая создаст новую строку, или командой cc, которая заменит текущую строку новым текстом. Для возвращения в режим команд воспользуйтесь клавишей Esc.

Визуальный режим, копирование и вставка

Пользуясь мы часто прибегаем к функции копирования и вставки текста. Мы привыкли к горячим клавишам Ctrl + C и Ctrl + V в современных операционных системах, поэтому работа в vi может показаться сложной. На самом же деле нужно лишь перейти в визуальный режим, после чего с помощью уже изученных команд выделить и скопировать нужный текст. Копирование в редакторе vi (как и вставка) работает только в специальном режиме visual (активируется клавишей v). В визуальном режиме часть текста в документе подсвечивается. Подсвеченную область можно изменить, пользуясь клавишами перемещения и их комбинациями. Затем, после того как будет выбрана нужная область, достаточно нажать y для копирования текста или d для его вырезания (удаления из выделенной области). Вставить текст так же просто - переместите курсор в нужную область и нажмите P. Текст мгновенно окажется в области за курсором.

Сложные команды

Под сложными командами имеются ввиду команды комбинированные. Они уже были рассмотрены выше, но на них стоит акцентировать внимание еще раз, так как благодаря правильным комбинациям можно достигнуть максимальной производительности и удобства.

Также вы можете использовать цифры с некоторым командами перемещения. Например, если вы хотите переместиться не на одно слово, а сразу на 6, то вместо шестикратного нажатия w можно просто ввести 6w. С числами можно комбинировать сразу две команды. Например, чтобы удалить сразу несколько слов, можно воспользоваться командой d5w, которая удалить сразу 5 слов. Соответственно, комбинации со скобками будут удалять строки, абзацы и так далее.

Замена текста

Из дополнительных возможностей стоит выделить возможность заменять целые куски текста, а также все совпадающие куски по целому документу. Это довольна полезная опция, особенно когда речь идет о программном коде или заполнении крупных анкет с повторяющимися данными. Представим, что в выбранной строке текста есть выражение explanation, но мы хотим поменять его на другое, например giving food for thought. В этом случае, команда будет выглядеть следующим образом - :s/explanation/giving food for thought/. Чтобы заменить все упоминания explanation в документе можно слегка усложнить команду, тогда она будет выглядеть так - :%s/explanation/giving food for thought/g.

Вместо заключения

Итак, теперь вы понимаете, как управлять редактором vi. Знаете все базовые команды, как изменять и редактировать текст. Познакомились с полезными командами и возможностями. Настало идеальное время, чтобы опробовать все это на практике. Несмотря на свой слегка отталкивающий вид и высокий порог вхождения, vi после недолгой практики может оказаться для вас наиболее удобным инструментом в работе. Главное - не паниковать, записать все выученные команды, сценарии и повторять их все на практике, дабы довести вновь приобретенные навыки до автоматизма.

Существует множество версий Vi. Я представлю вам версию Vi, называемую «Vim». Vim очень популярен, так как у него есть несколько дополнений, делающих Vi немного приятнее (когда будут демонстрироваться специфичные для Vim команды, я это отмечу). Здесь приведена картинка GVim из моей системы.

Для того, чтобы установить Vim перейдите по ссылке слева или выполните в терминале:

sudo apt-get install vim

Хотя в большинстве дистрибутивов Linux он уже установлен по умолчанию. В придачу к улучшенному консольному Vi, Vim доступен также в виде GVim - прекрасного графического редактора, который может быть сконфигурирован для использования с великолепной библиотекой GUI (графического интерфейса пользователя) GTK+.

sudo apt-get install vim-gtk

Если Vi вам в новинку, попробуйте установить в своей системе GVim. Использование Vi в графической оболочке может кое в чем облегчить новичкам жизнь.

Также можно запустить обучающую программу, набрав в терминале команду

Vimtutor

Gvimtutor

Это небольшая обучающая программа поможет за 25-30 минут освоиться в этом необычном для новичка редакторе.

Открываем файл

Перед использование Vi для редактирования файлов вам следует узнать, как в Vi перемещаться по файлу. У Vi множество команд перемещения, многие из них мы сейчас рассмотрим. Для этой части обучения найдите какой-нибудь малоценный текстовый файл (TODO: лучше на английском) и загрузите его в Vi напечатав:

vi myfile.txt

Если у вас установлен Vim, наберите в консоли:

vim myfile.txt

Если вы предпочитаете использовать GVim:

Gvim myfile.txt

myfile.txt должно быть именем текстового файла в вашей системе.

Внутри Vi

После загрузки Vi, на экране вы должны увидеть часть загруженного вами текстового файла. Поздравляю - вы уже в Vi! В отличии от большинства редакторов, загрузившись, Vi находится в специальном режиме, называемом «командным режимом» . Это значит, что если вы нажмете клавишу (строчная L) , вместо появления «l» на месте курсора вы увидите, что курсор всего лишь сдвинулся на один символ вправо. В командном режиме знаки, набираемые на клавиатуре, используются как команды для Vi, а не как помещаемые в текст символы. Один из наиболее важных типов команд - это команды перемещения. Давайте рассмотрим некоторые из них.

Перемещаемся по документу

Перемещения в Vi, часть 1

Находясь в командном режиме, вы можете использовать клавиши ,, и для перемещения курсора влево, вниз, вверх и вправо соответственно. Если вы используете современную версию Vi, вы можете также с этой целью использовать клавиши со стрелками. Клавиши ,, и предпочтительнее, так как освоившись с ними вы сможете перемещаться по файлу, не размахивая руками над клавиатурой. Для перемещения по текстовому файлу используйте следующие клавиши:

Попробуйте использовать пока не дойдете до начала строки. Отметьте, что Vi не даст вам перескочить на предыдущую строку, нажимая , если вы находитесь в начале строки. Точно также он не позволит вам перескочить на следующую строку, нажимая в конце строки.

Перемещения в Vi, часть 2

Vi предоставляет специальные команды для прыжков в начало и конец текущей строки:

    0 (ноль) – перескочить на первый символ в строке;

    $ – перескочить на последний символ в строке.

Поскольку у Vi так много команд перемещения, его можно использовать в качестве великолепного инструмента просмотра - «pager»а (как команды more или less). Используя Vi для просмотра, вы очень быстро запомните все команды перемещения.

Вы также можете использовать и для перемещения вперед и назад сразу на страницу. Современные версии Vi (такие как Vim) могут позволить использовать для этих целей клавиши И

Комбинация означает комбинацию клавиш +. Во многих источниках про Vim можно встретить именно такое обозначение комбинация клавиш. Часто еще можно встретить и такое обозначение: ^F

Перемещение по словам, часть 1

Vi также позволяет вам перемещаться влево и вправо по словам:

    w – перемещения на первый символ следующего слова нажмите;

    e – передвинуться на следующий последний символ слова нажмите;

    b – сдвинуться на предыдущий первый символ слова можно нажимая.

Перемещение по словам, часть 2

Позабавившись с командами перемещения по словам, вы могли заметить, что Vi считает слова типа «foo-bar-oni» пятью различными словами! Это происходит потому, что Vi по умолчанию разделяет слова пробелами или знаками пунктуации (которые тоже считает словами). Поэтому foo-bar-oni считается пятью словами: «foo»,«-»,«bar»,«-» и «oni».

Иногда вам так и надо, а иногда - нет. К счастью, Vi воспринимает понятие «большого слова». vi разделяет большие слова только пробелами и началами строк. Это значит, что foo-bar-oni состоит из пяти Vi-слов, но является только одним большим словом Vi.

Перемещение по словам, часть 3

Чтобы переместиться на следующее или предыдущее большое слово, вы можете использовать «заглавные» команды перемещения по словам. Нажав следующие клавиши, вы попадете на:

    W - первый символ следующего большого слова;

    E - следующий последний символ большого слова;

    B - предшествующий первый символ большого слова.

Дальние переходы

Осталось рассмотреть еще несколько команд, и можно будет начинать их записывать на шпаргалку. Вы можете использовать скобки:

    ( и ) чтобы перейти на начало предыдущего и следующего предложения.

    { или } (фигурные скобки) – Позволят перескочить в начало параграфа.

Выход

Мы рассмотрели основные команды перемещения, однако осталась еще пара команд, которые вам необходимо знать. Напечатав:

    :q вы должны выйти из Vi. Если не получиться, значит вы каким-то образом ухитрились изменить файл;

    :q! выйти отбросив изменения следует командой.

Теперь вы должны оказаться в командной строке системы.

Любая команда в Vi, начинающаяся с двоеточия («:»), называется командой ex-режима (an ex-mode command). Это из-за того, что Vi имеет встроенный не экранный редактор, зовущийся ex . Он может использоваться подобно sed для выполнения операций редактирования, ориентированных на строки. Дополнительно, как мы только что видели, он может использоваться для завершения работы. Если вы случайно нажмете , находясь в командном режиме, то можете оказаться в ex-режиме. В этом случае вы столкнетесь с приглашением «:», и нажатие на Enter будет сдвигать вверх содержимое экрана. Для возврата к привычному vi-режиму просто наберите vi и нажмите .

Сохранение и редактирование

Save(сохранить) и Save as...(сохранить как...)

Мы уже видели, как используя ex-команду :q выйти из vi.

    :w filename – для сохранение под другим именем;

В Vim (и других потомках Vi, типа elvis), вы можете держать открытыми одновременно несколько буферов. Введите команду

    :sp filename.txt для открытия файла filename.txt в новом окне;

    :sp (без имени файла) откроет дополнительное окно для активного буфера.

Для перехода между окнами нажмите , (дважды +) . Любая из команд :q, :q!, :w и :x относиться только к активному окну.

Простое редактирование

Вот и подошло время заняться изучением простых команд редактирования. Рассматриваемые здесь команды считаются «простыми» из-за того, что оставляют вас в командном режиме. Более сложные команды автоматически переводят вас в режим ввода текста, позволяющий добавлять в буфер символьную информацию, набираемую на клавиатуре; их рассмотрим позднее.

    J – присоединение следующей стоки к текущей;

    r+символ – замена символа на символ;

    dd – удаление текущей стоки.

Повторение и удаление

Повторить любую команду редактирования вы можете нажимая клавишу <. > (точка). Если попробуете, то можете увидеть, что печать dd… удалит 4 строки, а J…… объединит семь строк. Как обычно, Vi обеспечивает вас различными удобными средствами сокращения трудозатрат.

Удалять текст вы можете также комбинируя команду d с любыми командами перемещения. Например, dw удалит часть текста от текущей позиции курсора до начала следующего слова; d) удалит вплоть до следующего конца предложения, и d} удалит весь остаток абзаца. Поэкспериментируйте с командой d и другими командами редактирования, пока не почувствуете себя с ними уверенно.

Режим ввода текста

Мы уже рассмотрели, как в vi перемещаться, выполнять чтение\запись файлов и основные операции редактирования. Однако, я еще не объяснил, как напечатать произвольный текст! Сделано это было умышленно, так как поначалу режим ввода текста в Vi малость сложноват. Тем не менее, после того, как вы станете спокойно себя чувствовать в режиме ввода текста, эта сложность (и гибкость) станет настоящей ценностью.

В Vi, в режиме ввода текста, вы можете вводить текст «прямо на экран», как в большинстве других экранных редакторов. Сделав свои изменения, вы можете нажать

    Esc – вернуться в командный режим;

    i или a – вернуться/войти в режим ввода.

Не забудьте, введя свой текст, нажать для возврата в режим команд.

Комбинированные команды

Vi действительно становиться мощным, когда вы начинаете использовать совмещенные (или комбинированные) команды, типа d{ и cw . Дополнительно к таким командам, вы также можете совмещать числа с любыми командами перемещения, как 3w , которая сообщает Vi о необходимости проскочить вперед на три слова. Вот еще несколько примеров таких комбинированных команд: 12b , 4j .

Разрешая комбинации (число)(команда перемещения), Vi позволяет еще совмещать команды d или c с числами или командами перемещения. Так d3w удалит следующие три слова, d2j удалит текущую и две следующие строки, и т.д. Попробуйте немного поэкспериментировать с командами c и d , совмещенными с перемещениями, чтобы почувствовать, каким мощным и лаконичным может быть редактирование в Vi. Когда эти команды станут вашей второй натурой, вы сможете редактировать файлы с невероятной скоростью.

Увеличение производительности

Только что мы рассмотрели, как перемещаться, сохранять и завершать работу, выполнять простое редактирование и удаление, пользоваться режимом ввода текста. С этим багажом знаний (только что показанным на шпаргалке) вы уже способны, используя Vi, справиться практически с любой задачей.

Однако, у Vi есть еще много более мощных команд. В этом разделе вы узнаете как вы"резать (cut), скопировать (copy) и вставить (paste), найти (search) и заменить (replace) текст, а так же, как использовать автоматический отступ (autoindent). Эти команды помогут Vi быть более приятным и производительным.

Экранный режим

Лучшим способом вырезать и вставлять фрагменты текста является использование экранного режима, специального режима, добавленного в современных версиях Vi, таких как Vim и elvis. Вы можете представлять себе экранный режим как режим «подсвечивания текста». Выделенный текст может быть скопирован или удален, а затем вставлен. Если вы используете GVim, выделить кусок текста вы можете просто нажав левую кнопку мышки и протащив курсор по нужной области. Войти в экранный режим вы еще можете нажав v (это может быть вашей единственной возможностью, если вы используете Vi в консоли). Затем, двигая курсор командами перемещения (обычно стрелками), вы можете выделить область текста. Закончив выделение, вы уже готовы вырезать либо копировать текст.

Для копирования текста нажмите y (от слова «yank»). Чтобы вырезать текст нажмите d . Вы будете переведены назад в командный режим. Теперь переместитесь в то место, где вы хотите вставить вырезанный или скопированный текст, и нажмите P (заглавная) для вставки перед курсором или p (строчная) для вставки за курсором. Всё, копирование\вырезание и вставка выполнены! А теперь проделайте еще несколько раз процедуру копирования\вырезания и вставки перед тем, как перейти к следующему разделу.

Для того, чтобы вставить в редактор содержимое буфера обмена (в который Вы скопировали информацию по + ) необходимо установить утилиту xclip

apt-get install xclip

и скопировав нужный текст выполнить в командном режиме редактора

:r! xclip -o и нажмите .

Замена текста

Для замены образцов текста мы используем ex-режим. Если вы хотите заменить первый попавшийся в текущей строке образчик, наберите:

:s/// и нажмите , где - что хотите заменить, и - на что.

Для замены всех совпадений с эталоном в текущей строке используйте команду:

    :%s///g – замена каждого вхождения образца во всем файле (что обычно и требуется);

И не забудьте, набрав команду, нажать .

Выделение

Vi поддерживает автоматический отступ при редактировании вами исходников (текстов программ). Большинство современных версий Vi (таких, как Vim) могут самостоятельно включать абзацный авто отступ при редактировании вами исходников (например, файлов типа.c).

    :set autoindent – включить авто отступ;

    :set tabstop=(число) – установить авто табуляцию (где число есть число символов табуляции).

Если авто отступ включен, вы можете использовать для уменьшения и для увеличения уровня отступа.

Ссылки

Полезное

Обои с описанием клавиатурных сокращений и команд.

Размер: 1366х768
Для загрузки нажмите на изображение, в появившемся окне нажмите на изображение ещё раз для увеличения и нажмите правой кнопкой «Сохранить изображение как…»

Редактор Vi - универсальный полноэкранный текстовый редактор в среде UNIX . Редактор Vi присутствует в любой системе Linux (даже минимальной конфигурации) и обязательно запустится из командной строки Linux в самой катастрофической ситуации. У пользователя, таким образом, всегда сохранится возможность отредактировать конфигурационные файлы для приведения системы в рабочее состояние. Поэтому каждому пользователю Linux необходимы хотя бы основные навыки работы в Vi .

Основные понятия

В любой момент при работе в редакторе Vi вы находитесь в одном из трёх режимов редактора:

При запуске редактора Vi вы оказываетесь в командном режиме . В этом режиме можно давать команды для редактирования файлов или перейти в другой режим. Например, вводя x в командном режиме мы удаляем символ, на который указывает курсор. Клавиши-стрелки перемещают курсор по редактируемому файлу. Как правило, команды, используемые в командном режиме, состоят из одного или двух символов.

Основной ввод и редактирование текста осуществляется в режиме ввода . При использовании редактора Vi основное время, скорее всего, будет проводиться именно в этом режиме. Переход в режим ввода из командного режима осуществляется командой i (сокращение от insert ). Находясь в режиме ввода, можно вводить текст в то место, куда указывает курсор. Выход из режима ввода в командный режим осуществляется клавишей Esc .

Режим последней строки - специальный режим, в котором редактору даются сложные команды. При вводе этих команд они отображаются в последней строке экрана (отсюда пошло название режима). Например, если ввести в командном режиме команду: , то осуществится переход в режим последней строки, и можно будет вводить такие команды, как wq (записать файл и покинуть редактор Vi ) или q! (выйти из редактора Vi без сохранения изменений). В режиме последней строки обычно вводятся команды, название которых состоит из нескольких символов. В этом режиме в последнюю строку вводится команда, после чего нажимается клавиша Enter , и команда исполняется.

Запуск редактора Vi

Для уяснения всех концепций редактора Vi запустим его и создадим новый файл по имени test :

$ vi test ~ ~ ~ ~ ~ ~ "test"

Колонка символов ~ обозначает пустые строки, курсор находится в начале первой строки.

Ввод текста

Редактор Vi сейчас находится в командном режиме. Нажмём клавишу i , и редактор перейдёт в режим ввода текста. Теперь вводим, например, следующий текст:

Многие пользователи предпочитают наделенный сказками редактор Emacs. ~ ~ ~ ~ ~

Введите любое количество строк, после каждой нажимая клавишу Enter . Исправлять опечатки можно с помощью клавиши Backspace . Для выхода из режима ввода и возвращения в командный режим нажмём клавишу Esc .

В командном режиме для движения по файлу можно использовать клавиши-стрелки. Если в файле всего одна строка, то при попытке нажать клавишу со стрелкой вверх либо вниз редактор, возможно, будет подавать звуковой сигнал.

Помимо команды i , есть ещё несколько способов вставить текст. Так, команда a начинает вставлять текст после текущего положения курсора, а не прямо в текущую. В связи с тем, что текст был набран с опечаткой приведём с помощью клавиш-стрелок курсор к пробелу, разделяющему слова наделенный и сказками . Теперь нажмем клавишу a (редактор перейдёт в режим ввода) и введём под, после чего нажмём клавишу Esc и вернёмся в командный режим. На экране будет следующее:

Для введения текста со следующей строки, используем команду o . Нажмём эту клавишу и введём одну-две строки текста:

Многие пользователи предпочитают наделенный подсказками редактор Emacs. Выбор текстового редактора обычно является вопросом индивидуального вкуса. ~ ~ ~ ~

Удаление текста

В командном режиме каждое нажатие клавиши x удаляет символ, на который указывает курсор.

Можно удалять целые строки командой dd (т. е. нажав клавишу d два раза подряд). Если курсор стоит на второй строке, и вы введёте команду dd , на экране останется следующее:

Многие пользователи предпочитают наделенный подсказками редактор Emacs. ~ ~ ~ ~ ~

Для удаления слова, на которое показывает курсор, можно использовать команду dw . Подведите курсор к слову наделенный и введите dw , затем к слову подсказками и снова введите dw . Результат будет следующим:

Многие пользователи предпочитают редактор Emacs. ~ ~ ~ ~ ~

Изменение текста

Отдельные части текста можно заменять на другие; для этого используется команда R . Подведите курсор к первому символу в слове Emacs , нажмите клавишу R и введите слово vi :

Многие пользователи предпочитают редактор vi. ~ ~ ~ ~ ~

Действие команды R напоминает действие команд i и a , однако при команде R новый текст не вставляется, а стирает старый.

Команда r заменяет один символ, а именно тот, на который указывает курсор.

С помощью команды ~ можно поменять регистр буквы, на которую указывает курсор (с верхнего на нижний и наоборот). Подведем курсор к первому символу в слове vi и дадим команду ~ :

Многие пользователи предпочитают редактор Vi. ~ ~ ~ ~ ~

Команды для движения курсора

Помимо клавиш-стрелок для движения курсора можно использовать клавиши h , j , k и l . Они будут сдвигать курсор соответственно влево, вниз, вверх и вправо. Этими командами можно воспользоваться, если (по какой-либо причине) клавиши-стрелки действуют неправильно. Команда w перемещает курсор на начало следующего слова; команда b перемещает курсор на начало предыдущего слова.

Команда (клавиша ноль) перемещает курсор на начало текущей строки, а команда $ перемещает курсор в её конец.

При редактировании больших файлов для „ перелистывания “ целых экранов вперёд (т. е. вниз) и назад (вверх) используются команды соответственно C trl-F и Ctrl-B .

Для перемещения курсора в конец файла, используется команда G , а команда 10G , например, поместит курсор на строку с номером 10 . Для того, чтобы переместить курсор в начало файла, можно использовать команду 1G .

Команды движения курсора можно совмещать с другими командами, например, с командами удаления текста. Например, команда d$ удалит все, что находится между текущим положением курсора и концом строки; команда dG удалит все, что находится между текущим положением курсора и концом файла и т. д.

Сохранение изменений и выход из редактора Vi

Для выхода из редактора Vi без сохранения изменений, сделанных в файле, используется команда:q! .

Для выхода из редактора Vi с сохранением сделанных изменений используется команда:wq .

Переключение между файлами

Для того, чтобы приступить к редактированию другого файла, используется команда:e , которую следует вводитьтолько после сохранения сделанных изменений командой:w , в противном случае Vi откажется приступить к редактирования следующего файла.

Вставка содержимого других файлов

Включить в текущий файл содержимое другого файла можно командой:r . Например, команда:r foo.txt вставит содержимое файла foo.txt в текст начиная с текущего положения курсора.

Помощь в работе с редактором Vi

Как и в случае с любой программой в системе Linux в первую очередь следует обратиться к экранной документации программы Vi . Обычно (кроме режимов восстановления после системных сбоев) доступна более современная и улучшенная версия Vi - Vim , имеющий аналогичный Vi интерфейс и массу дополнительных возможностей. Подробное руководство по Vim можно получить, запустив этот редактор и отдав команду:help .

Если Вы решили заняться обработкой фото, компьютерной графикой или обучением дизайну, тогда Вам непременно понадобится подобрать редактор для создания и обработки графических изображений. Лучшим вариантом на сегодняшний день является программа Adobe Photoshop. Я предлагаю Вам уже сейчас скачать бесплатно версию Фотошоп CS6 на русском языке на свой компьютер и приступить к изучению всех возможностей программы и реализации задуманного.

Популярный редактор Фотошоп CS6 на русском языке

Редактор профессионального уровня для обработки растровой графики Adobe Photoshop CS6 является одним из самых популярных и многофункциональных инструментов , который используют в своей работе как новички, так и профессионалы. В настоящее время Фотошоп считается самым совершенным и наиболее удобным средством, ориентированным на создание и обработку графических документов любого типа, а также на подготовку печатной продукции. Помимо основного функционала, программа Фотошоп CS6 в расширенной версии поможет Вам импортировать и обрабатывать векторные изображения, создавать и редактировать анимационные файлы, а также работать с видеофайлами и трехмерными объектами. Правда, для этого Вам желательно будет скачать полную версию Adobe Photoshop CS6, русская версия которого является наиболее востребованной в среде дизайнеров и фотографов .

Adobe Photoshop CS6 Extended для профессионалов

Легендарный графический редактор Adobe Photoshop CS6 соответствует всем мировым стандартам графического дизайна и позволяет создавать профессио-нальную графику на самом высоком уровне . Существует две версии программы: обычная и расширенная (Extended). Первый вариант больше подходит для фотографов и дизайнеров, а второй для пользователей, занимающихся обработкой видеоматериалов и мультимедийных файлов, графическим и веб-дизайном, а также архитектурой. На сегодняшний день приложение Фотошоп CS6 стало эталоном качества цифровых изображений и обеспечивает хорошую производительность, мощный инстру-ментарий и имеет достаточно понятный интерфейс. В русской версии Photoshop CS6 у Вас будет возможность качественно обрабатывать фотографии, рисовать реалистичные картины, создавать эффектные картинки в качестве HDR с помощью самых современных инструментов. Программа Фотошоп CS6 поможет воплотить в жизнь ваши дизайнерские фантазии .

Основные возможности программы

  • Создание профессиональной графики благодаря обновленным и усовершенствованным инструментам дизайна;
  • Редактирование цифровых изображений с помощью улучшенных инструментов автокоррекции, таких как «Автоматические кривые», «Уровни», «Яркость/Контрастность» и других;
  • Революционные технологии ретуширования, используя точное выделение и маскирование с учетом оттенка кожи и сохранением природного цвета;
  • Создание цифровых иллюстраций, применяя в работе натуральные и реалистичные кисти, которые изнашиваются во время работы, а также другие инструменты рисования;
  • Простое редактирование видеоматериалов, используя мощные инструменты обработки отснятого материала;
  • Применение галереи с готовыми пресетами для создания фотографических эффектов;
  • Подготовка документов для качественной печати с помощью современного пользовательского интерфейса программы Фотошоп CS6 на русском языке, с отображением результатов редактирования;
  • Импортирование и экспортирование большинства популярных графических форматов.

Что нового в русской версии Adobe Photoshop CS6

  • Усовершенствованная возможность импорта и экспорта 3D изображений и видеоматериалов, а также обработка отдельных объектов или фреймов путем рисования, дублирования, масштабирования, трансформирования, перемещения, ретуширования или других изменений;
  • Расширенная поддержка современных форматов файлов трехмерной графики, создаваемых в таких программах, как Adobe Acrobat Professional и Google Earth;
  • Полноценная поддержка специальных форматов файлов, например для медицинской томографии, для архитектуры, для программирования и разработки алгоритмов, с возможностью визуализации данных и операций с числами;
  • Специальный инструментарий для обработки 32-битных изображений в высоком разрешении, применяя новый инструмент редактирования цветов HDR.

Итак, редактор Adobe Photoshop с расширенным функционалом обладает поистине фантастическим творческим потенциалом для пользователя . Чтобы изучить основные инструменты программы и попробовать в работе её новые возможности, Вы можете уже сейчас скачать бесплатно Фотошоп CS6 на свой компьютер и окунуться в мир цифрового искусства!

Описание приложения:

  • Версия программы Photoshop CS6 Extended для 32 bit и 64 bit ОС на базе Windows;
  • Языки интерфейса: русский, английский, украинский;
  • Полностью рабочая версия редактора, без необходимости регистрации;
  • Дополнительно: фильтр Camera Raw, плагины от Imagenomic и Nik Software;
  • Официальная страница разработчика: Adobe Systems ;
  • Прямая ссылка на файл: скачать .

Изучаем Linux, 101

Редактирование файлов с помощью vi

Редактор, который всегда под рукой

Серия контента:

Краткий обзор

Из этой статьи вы узнаете об основных приемах работы с редактором vi, который есть практически в каждом дистрибутиве UNIX или Linux. Вы научитесь:

  • Перемещаться по документу с помощью vi.
  • Использовать основные режимы vi.
  • Вставлять, редактировать, удалять, копировать и искать текст.
Об этой серии

Эта серия статей поможет вам освоить задачи администрирования операционной системы Linux. Вы также можете использовать материал этих статей для подготовки к .

Чтобы посмотреть описания статей этой серии и получить ссылки на них, обратитесь к нашему . Этот перечень постоянно дополняется новыми статьями по мере их готовности и содержит самые последние (по состоянию на апрель 2009 года) цели экзаменов сертификации LPIC-1. Если какая-либо статья отсутствует в перечне, можно найти ее более раннюю версию, соответствующую предыдущим целям LPIC-1 (до апреля 2009 года), обратившись к нашим .

Эта статья поможет вам подготовиться к сдаче экзамена LPI 101 на администратора начального уровня (LPIC-1) и содержит материалы цели 103.8 темы 103. Цель имеет вес 3.

Предварительные требования

Чтобы извлечь наибольшую пользу из наших статей, необходимо обладать базовыми знаниями о Linux и иметь работоспособный компьютер с Linux, на котором можно будет выполнять все встречающиеся команды. Иногда различные версии программ выводят результаты по-разному, поэтому содержимое листингов и рисунков может отличаться от того, что вы увидите на вашем компьютере.

Перемещение по документу с помощью vi

Как связаться с Яном

Ян – один из наших наиболее популярных и плодовитых авторов. Ознакомьтесь со (EN), опубликованными на сайте developerWorks. Вы можете найти контактные данные в и связаться с ним, а также с другими авторами и участниками ресурса My developerWorks.

Редактор vi есть практически в каждом дистрибутиве Linux и UNIX. Фактически, если в операционной системе имеется только один редактор, то, скорее всего, это именно vi, поэтому очень важно уметь работать с ним. В этой статье представлены лишь основные команды редактирования vi, а полную информацию о vi вы можете найти в руководстве " " (EN) на сайте developerWorks, на соответствующих man-страницах или в одной из многочисленных книг, посвященных этому редактору.

Запуск vi

Сегодня многие дистрибутивы Linux поставляются с редактором vim (V i IM proved – улучшенный vi), а не с классической версией vi. Редактор vim обратно совместим с vi, и помимо стандартного текстового интерфейса имеет графический интерфейс (gvim). Обычно команда vi является символической ссылкой на программу vim. Существует несколько версий vim: крошечный (tiny), маленький (small), обычный (normal), большой (big) и огромный (huge). Версию vim, которая используется в вашей операционной системе, а также ее возможности, можно узнать с помощью команды

vi --version

В предыдущей статье этой серии " " мы хотели изменить приоритет работающего сценария командной оболочки count1.sh. Если вы пытались сделать это самостоятельно, то, возможно, обнаружили, что команды выполнялись настолько быстро, что вы не успевали изменить приоритет с помощью renice . Итак, давайте начнем работу с редактором vi и добавим в начало сценария строку для вставки 20-секундной паузы, благодаря которой мы сможем успеть изменить приоритет.

Если у вас нет под рукой сценария count1.sh, то можно сделать следующее: откройте окно терминала, перейдите в вашу домашнюю директорию и скопируйте в окно содержимое листинга 1. В результате в вашей домашней директории будет создана поддиректория lpi103-8, содержащая файл сценария count1.sh.

Листинг 1. Сценарий, нагружающий центральный процессор – count1.sh
mkdir -p lpi103-8 && cd lpi103-8 && {echo "x="$1"">count1.shecho "echo "$2" $(date)">>count1.shecho "while [ $x -gt 0 ]; do x=$((x-1));done">>count1.shecho "echo "$2" $(date)">>count1.sh }

Для редактирования существующего файла наберите команду vi , указав имя этого файла в качестве параметра. Подробную информацию о различных опциях вы можете найти на man-страницах или в разделе , а пока давайте запустим редактор без каких-либо опций:
vi count1.sh
В результате должен открыться файл count1.sh. Вы должны увидеть нечто похожее на листинг 2. Если вы используете vim, то некоторые слова или символы могут быть выделены цветом. В редакторе vim имеется режим выделения цветом (отсутствующий в оригинальном vi), который может быть включен в вашей системе по умолчанию.

Листинг 2. Редактирование сценария count1.sh в vi
x="$1" echo "$2" $(date) while [ $x -gt 0 ]; do x=$((x-1));done echo "$2" $(date) ~ ~ ~ ~ "count1.sh" 4L, 84C 1,1 All

Редактор vi начал разрабатываться еще в те времена, когда не все терминальные клавиатуры имели клавиши управления курсором, поэтому в vi вы можете делать все с помощью клавиш, расположенных на стандартной буквенно-цифровой клавиатуре, а также нескольких специальных клавиш, таких как Esc и Insert . Тем не менее, вы можете настроить vi на использование дополнительных клавиш современной компьютерной клавиатуры; большинство клавиш из имеющихся на вашей клавиатуре выполняют в vi какие-то полезные действия. Благодаря своему наследию, а также медленным подключениям старых терминалов, vi имеет заслуженную репутацию редактора, в котором используются краткие и загадочные команды. Давайте начнем с рассмотрения комбинаций клавиш, предназначенных для навигации по файлам.

Перемещение

Следующие команды предназначены для перемещения по файлу:

h Перейти на один символ влево в текущей строке. j Перейти к следующей строке. k Перейти к предыдущей строке. l Перейти на один символ вправо в текущей строке. w Перейти к следующему слову в текущей строке. e Перейти к концу текущего слова в текущей строке. b Перейти к началу текущего слова в текущей строке. Ctrl-f Прокрутить одну страницу вперед. Ctrl-b Прокрутить одну страницу назад.

Если вы наберете перед любой из этих команд число, то команда будет выполнена указанное количество раз. Это число называется счетчиком повторений или просто счетчиком . Например, команда 5h переместит курсор на пять символов влево. Счетчики повторений можно использовать со многими командами vi.

Перемещение по строкам

Следующие команды предназначены для перехода к определенным строкам файла.

G Перейти к определенной строке файла. Например, команда 3G перемещает курсор к строке 3. Команда G без каких-либо параметров перемещает курсор к последней строке файла. H Перейти к определенной строке относительно верхнего края экрана. Например, команда 3H перемещает курсор к третьей строке относительно верхнего края экрана. L Подобна команде H, но отсчет происходит относительно последней строки экрана. Таким образом, команда 2L перемещает курсор на вторую строку относительно нижней строки экрана.

Поработайте с этими командами и научитесь свободно использовать их. Если в процессе работы что-то пойдет не так, то всегда можно выйти из vi. Как это сделать, рассказывается далее.

Выход из vi

Всегда необходимо уметь выйти из редактора. Это позволит не испортить важный файл, если при его редактировании вы допустите какую-либо критическую ошибку. Из vi можно выйти следующими способами: с сохранением изменений, без сохранения изменений, с перезапуском редактирования файла с самого начала. Если приведенные ниже команды не работают, то проверьте, не находитесь ли вы в режиме вставки, о котором вы узнаете чуть позже. Если вы сомневаетесь, то нажмите клавишу Esc для выхода из режима вставки и возврата в режим команд, в котором эти команды должны работать.

:q! Завершить редактирования файла с отменой всех изменений. Эта команда очень часто используется при возникновении трудностей. :w! Записать файл (независимо от того, был ли он изменен или нет). Предпринимается попытка перезаписать существующие файлы, файлы с доступом только для чтения или другие неперезаписываемые файлы. В качестве параметра можно указать имя, под которым будет сохранен исходный файл, который вы начинали редактировать. Зачастую безопаснее не использовать символ!, если вы не уверены на все 100% в том, что вы сделали. ZZ Записать файл, если он был изменен, а затем выйти из редактора. Эта команда обычно используется для нормального выхода из vi. :e! Редактировать текущую копию файла на диске. Выполняется повторная загрузка файла с отменой всех внесенных изменений. Эту команду можно также использовать в тех случаях, когда файл на диске по какой-то причине был изменен и вам требуется использовать его последнюю версию. :! Запустить команду интерпретатора. Наберите команду и нажмите клавишу Enter . По завершении работы команды вы увидите ее вывод и приглашение вернуться в редактор vi.

Примечания.

  1. Когда вы набираете двоеточие (:), курсор перемещается в нижнюю строку экрана, в которой можно набирать команду и ее параметры.
  2. Если в вышеперечисленных командах пропустить восклицательный знак, то можно получить сообщение о ошибке, например, о невозможности сохранения изменений или записи в конечный файл (если вы редактируете файл с доступом только на чтение).
  3. Существуют длинные формы команд: (:quit, :write, :edit), однако используются они редко.

Режимы vi

Редактор vi может работать в двух режимах.

Режим команд В режиме команд вы перемещаетесь по файлу и редактируете файл, выполняя такие операции, как поиск, удаление, изменение текста и так далее. Обычно vi запускается в режиме команд. Режим вставки В режиме вставки вы набираете новый текст, начиная с позиции курсора. Для возврата в режим команд нажмите клавишу Esc .

Эти два режима определяют поведение редактора. Все, что вы набираете в режиме вставки, считается текстом, который необходимо вставлять в файл. Если вы пытаетесь набрать команду, и ничего не происходит (или символы появляются под курсором), то, вероятно, вы забыли нажать клавишу Esc для выхода из режима вставки.

Редактирование текста

Теперь, когда вы умеете открывать файлы в редакторе vi, перемещаться по ним и выходить из vi, пришло время узнать, как редактировать текст в файле.

Изменение текста

Для вставки, удаления или изменения текста используйте следующие команды. Заметьте, что некоторые из них могут быть записаны как в верхнем, так и в нижнем регистре (описание будет дано ниже).

i Перейти в режим вставки перед символом в текущей позиции. Наберите текст и нажмите клавишу Esc для возврата в режим команд. Используйте команду I для вставки текста в начале текущей строки. a Перейти в режим вставки после символа в текущей позиции. Наберите текст и нажмите клавишу Esc для возврата в режим команд. Используйте команду A для вставки текста в конце текущей строки. c Изменить текущий символ и перейти в режим вставки для ввода символов замены. o Вставить новую строку после текущей строки. Используйте команду O для вставки новой строки над текущей строкой. cw Удалить оставшуюся часть текущего слова и перейти в режим вставки для его замены. Используйте счетчик повторений для замещения нескольких слов. Используйте команду c$ для замены оставшейся части строки. dw То же самое, что и cw (и c$), но без перехода в режим вставки. dd Удалить текущую строку. Используйте счетчик повторений для удаления нескольких строк. x Удалить символ в позиции курсора. Используйте счетчик повторений для удаления нескольких символов. p Поместить последний удаленный текст после текущего символа. Используйте команду P, чтобы поместить текст перед текущим символом. xp Полезная команда из комбинации x и p. Замещает символ в позиции курсора символом, находящимся справа от него.

Поиск текста

Вы можете искать текст в файле, используя регулярные выражения.

/ Используйте регулярное выражение после символа / для прямого поиска в файле. ? Используйте регулярное выражение после символа? для поиска в файле в обратном направлении. n Используйте n для повторения последнего поиска в любом из направлений.

Все вышеперечисленные команды можно предварять счетчиком повторений. Так, команда 3/x (так же, как и команда /x, после которой следует 2n) будет искать третье вхождение x, начиная с текущей позиции. Аналогично, команда 2/^e будет искать вторую строку, начинающуюся на e, относительно текущей позиции.

Обратите внимание на то, что при достижении конца файла поиск продолжится с начала файла.

Справочная информация

Еще одна полезная команда vi – это команда справки, которую можно вызвать, набрав:help . Справка открывается в самом редакторе vi; используйте команду:q , чтобы закрыть справку и продолжить работу. Если вам необходима информация по какой-то определенной тематике (например, перестановка строк), то попробуйте добавить соответствующее слово после команды:help, например, :help wrap .

Собираем все вместе

В начале статьи мы собирались добавить строку в наш файл count1.sh. Чтобы сохранить исходный файл и записать его измененную версию под именем count2.sh, мы можем использовать команды редактора после того, как откроем этот файл при помощи команды vi . Заметьте, что обозначение соответствует нажатию клавиши Esc .

Листинг 3. Команды редактора для добавления строки в файл count1.sh
1GOsleep 20 :w! count2.sh:q

Эти команды выполняют следующие действия:

1G Переход в первую строку файла. O Добавление новой строки над текущей строкой и переход в режим вставки. sleep 20 Текст, который необходимо добавить. Нажатие клавиши Esc для возврата в режим команд. :w! count2.sh Запись файла на диск. :q Выход из vi.

Все просто, когда знаешь, как.

Эта статья последняя из серии статей по теме 103 экзамена LPI 101 на администратора начального уровня (LPIC-1). Ссылки на остальные статьи этой серии вы можете найти в .