Текстовый редактор линукс vim

Содержание
  1. Установка и использование текстового редактора Vim
  2. Установка vim
  3. Начало работы c Vim
  4. Модальное редактирование
  5. Обычный режим
  6. Режим вставки
  7. Визуальный режим
  8. Командный режим
  9. Перемещение по тексту в редакторе vim
  10. Основы перемещения
  11. Расширенное перемещение
  12. Редактирование
  13. Удаление текста
  14. Изменение текста
  15. Копирование и вставка
  16. Прочее редактирование
  17. Управление документами
  18. Итоги
  19. Редактор Vi/Vim
  20. Содержание
  21. Открываем файл
  22. Внутри Vi
  23. Перемещаемся по документу
  24. Перемещения в Vi, часть 1
  25. Перемещения в Vi, часть 2
  26. Перемещение по словам, часть 1
  27. Перемещение по словам, часть 2
  28. Перемещение по словам, часть 3
  29. Дальние переходы
  30. Выход
  31. Сохранение и редактирование
  32. Save(сохранить) и Save as. (сохранить как. )
  33. Простое редактирование
  34. Повторение и удаление
  35. Режим ввода текста
  36. Комбинированные команды
  37. Увеличение производительности
  38. Экранный режим
  39. Замена текста
  40. Выделение
  41. Ссылки
  42. Полезное
  43. Обои с описанием клавиатурных сокращений и команд.
  44. Статьи про Vi

Установка и использование текстового редактора Vim

Один из наиболее мощных текстовых редакторов, доступных из командной строки, – редактор Vim. Основанный на Vi и выпущенный в 1976, данный редактор обладает дополнительной функциональностью и мощностью, сохраняя при этом стиль редактирования своего предшественника.

Данное руководство охватывает установку и базовое использование Vim.

Установка vim

Благодаря широкому использованию vim в командной строке Linux он доступен в репозитории по умолчанию почти каждого дистрибутива.

Для установки редактора на Ubuntu и Debian используйте команду apt-get:

sudo apt-get install vim

Чтобы установить vim на Fedora и CentOS, используйте yum:

sudo yum install vim

На Arch Linux vim можно установить с помощью pacman:

sudo pacman -S vim

Итак, теперь Vim установлен.

Начало работы c Vim

При вызове без аргументов Vim по умолчанию открывает пустой документ. В зависимости от дистрибутива Vim может сначала вывести вступление и лицензию, которые исчезнут сразу после начала работы с редактором.

Тем не менее, сейчас запускать vim с чистого документа не нужно. Чтобы продемонстрировать возможности vim, можно создать новый документ под названием «newfile»

echo «This is a new file.
Here is the second line
And here is the third line.
Some more text is on this line. We will edit this file in vim.
It will be great fun.» >> newfile

Теперь откройте только что созданный файл.

Модальное редактирование

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

Обычный режим

Используется для редактирования операций. Копирование, вставка, перемещение, удаление и изменение текста осуществляются в этом режиме.

Vim выполняет редактирование в «обычном» режиме. В данном режиме редактор находится при запуске. Этот режим используется для быстрого перемещения и редактирования текстового документа. Он не используется для ввода текста.

  • [esc] – чтобы перейти в обычный режим, нажмите клавишу «escape».

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

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

Чтобы ввести текст, vim нужно перевести в режим вставки. Этот режим является аналогом интерфейса ввода, который используется большинством других программ ввода текста. Набранный в документе текст выводится на экран. Все обычные клавиши создают соответствующий символ в текущей позиции курсора.

  • i – устанавливает режим вставки в текущей позиции курсора;
  • а – устанавливает режим вставки после текущей позиции курсора;
  • I – устанавливает режим вставки в начале текущей строки;
  • А – устанавливает режим вставки в конце текущей строки.

Визуальный режим

Используется для визуального выделения. Многие команды, доступные в обычном режиме, можно применить к конкретной выделенной части текста.

Третий режим, который использует Vim, называется визуальным. Участки текста выделяются как цель для команд редактирования или форматирования.

  • v – устанавливает обычный визуальный режим. Выбор осуществляется путем перемещения курсора вверх, вниз, влево и вправо.
  • V – устанавливает режим визуальной строки. Выбираются целые строки, от первого до последнего символа, путем перемещения вверх и вниз.
  • [ctrl]-v – Переход в режим визуального блока. Блок для выбора можно расширить и сузить. С помощью этого метода можно выбрать отдельные части нескольких строк.

Командный режим

Используется для выполнения команд. Для активации этого режима используется двоеточие.

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

Перемещение по тексту в редакторе vim

Основы перемещения

Перемещаться по тексту всегда можно при помощи клавиш со стрелками, но Vim предоставляет и более быстрые способы перемещения по документу. В обычном режиме можно использовать клавиши h, j, k и l для передвижения влево, вниз, вверх и вправо соответственно.

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

Читайте также:  64 битные браузеры для windows

Расширенное перемещение

Существуют также другие горячие клавиши перемещения. Ниже приведены самые полезные их них.

  • gg – перемещение в начало документа;
  • G – перемещение в конец документа. Указав перед данной опцией номер строки, можно перейти к этой строке.
  • w – переход к следующему слову. Указав перед опцией число, можно перейти к такому количеству слов.
  • b – вернуться к предыдущему слову. Указав перед опцией число, можно вернуться на такое количество слов назад.
  • e – переход в конец слова. Указав перед опцией число, можно пропустить такое количество слов.
  • 0 – перемещение в начало строки.
  • $ – передвижении в конец строки.

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

Редактирование текста в Vim осуществляется путем запуска команд в обычном режиме.

Важно понимать, что команды редактирования в Vim очень мощны в сочетании с операторами движения. Все опции, описанные в главе о перемещении, могут быть использованы в качестве направления. К примеру, команду редактирования слова можно выполнить при помощи внесения флага «w».

Ниже приведены несколько действий, которые можно использовать:

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

  • x – удаляет символ под курсором.
  • d – удаляет символ в направлении, указанном после ввода команды. Например, «dl» удаляет символ справа.
  • dd – удаляет строку.
  • D – удаляет текст от текущей позиции курсора до конца строки.

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

  • r – заменяет символ под курсором. Укажите символ, который нужно заменить, в конце команды.
  • c – изменяет текст в указанном направлении. К примеру, «cw» изменяет текущее слово. После выполнения этой команды vim переходит в режим вставки, так что можно ввести текст для замены.
  • C – изменяет текст до конца строки. Данная команда также переводит vim в режим вставки.

Копирование и вставка

  • y – копирует в указанном направлении.
  • yy – копирует целую строку.
  • Y – копирует текст до конца строки.
  • p – вставляет последнюю скопированную (или удаленную) строку под текущей строкой.
  • P – вставляет последнюю скопированную (или удаленную) строку над текущей строкой.

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

  • u – отменить последнее действие.
  • r – повторить последнее действие.
  • J – соединить текущую строку со следующей.

Управление документами

Vim управляет документами преимущественно в командном режиме. Для ввода команд перед каждой нужно использовать двоеточие.

  • :q – выйти из vim. Если изменения не были сохранены, это не удастся.
  • :q! – выйти из vim, не учитывая все несохраненные изменения.
  • :w – сохранить изменения. Нажмите пробел и введите имя файла, чтобы сохранить документ в другое место; если это первое сохранение, укажите место для сохранения.
  • :e – отредактировать следующий файл.
  • :bn – отредактировать следующий открытый в vim файл.
  • :bp – отредактировать предыдущий открытый в vim файл.

Итоги

Как уже упоминалось ранее, мощность Vim состоит в возможности объединять различные команды в цепи. Самый простой способ понять эту концепцию – рассматривать команды vim как английский язык. То есть, клавиши в обычном режиме могут представлять прилагательные, глаголы и существительные.

К примеру, чтобы скопировать (yank) 4 слова (words), просто переведите эту фразу на понятный vim язык. В данном случае получится:

Чтобы удалить (delete) текст с текущей строки и до конца файла, введите:

Такой подход также полезен для того, чтобы понять некоторые условные обозначения, которые vim использует в командах редактирования.

Заглавная версия команды редактирования чаще всего нацелена от текущей позиции курсора до конца строки. К примеру, чтобы изменить текст от текущей позиции курсора до конца строки, используйте:

Чтобы выполнить эту же команду на несколько строк, просто добавьте к команде числовой префикс. Это изменит текст от текущей позиции курсора до конца следующей строки:

Существует целое множество мощных техник использования vim, не вошедших в данное руководство. Чтобы получить больше информации, используйте встроенный в vim мануал. Он не охватывает сложных тем, но дает представление о том, как работать и выполнять базовое редактирование с Vim. Для запуска учебника используйте:

Источник

Редактор Vi/Vim

Содержание

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

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

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

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

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

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

Читайте также:  Engine source runtime windows d3d11rhi private d3d11util cpp

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

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

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

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

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

Внутри Vi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выход

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

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

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

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

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

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

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

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

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

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

Читайте также:  Upsmon pro для windows

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

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

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

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

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

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

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

Разрешая комбинации (число)(команда перемещения), 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

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

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

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

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

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

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

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

Выделение

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

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

Ссылки

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

Полезное

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

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

Статьи про Vi

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Источник

Оцените статью