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

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

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

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

На данный момент существует две версии редактора - vi и vim. Vim расшифровывается как Vi Improved, улучшенный vi. Это новая версия, которая принесла очень много улучшений. В большинстве современных дистрибутивов используется именно она. Поэтому если я буду писать vi, это значит, что я предполагаю использование vim.

Текстовый редактор Vim может работать в двух режимах. Это и есть его главная особенность. Первый режим, который используется по умолчанию при открытии редактора - это командный. В этом режиме вы можете вводить команды vi, а также использовать символьные клавиши для управления редактором. Второй режим - обычное редактирование текста, он работает так же как и редактирование текста в nano. Для переключения в командный режим используется клавиша Esc . Для переключения в режим редактирования - клавиша i . Если вас интересует только как в редакторе vi сохранить и выйти, листайте вниз, но если вы хотите узнать как пользоваться текстовым редактором vim, эта статья для вас.

Перед тем как идти дальше я бы посоветовал вам пройти курс обучения встроенный в редакторе. Выполнение всех обучающих заданий займет 25-30 минут. Но после того как вы освоите все что там написано, эта статья поможет вам закрепить материал. Дело в том, что команд и сочетаний клавиш у vim очень много и запомнить их все без практики невозможно. Для запуска обучения наберите:

Но делать это сейчас необязательно, в этой статье есть вся необходимая базовая информация и после ее прочтения вы уже сможете уверенно пользоваться vim, а обучение пройти чуть позже.

Как использовать редактор Vim

Начнем мы, как обычно с запуска программы, а также опций, которые ей можно передать. Синтаксис Vim очень прост:

$ vim опции имя_файла

$ vi опции имя_файла

Простой запуск vim без указания имени файла приведет к созданию пустого файла. А теперь давайте рассмотрим основные опции запуска:

  • +номер - переместить курсор к указной строке после запуска.
  • +/шаблон - выполнить поиск по шаблону и переместить курсор к первому вхождению
  • "+команда" - выполнить команду после запуска программы
  • -b - двоичный режим, для редактирования исполняемых файлов.
  • -d - режим поиска различий в файлах, нужно указать несколько файлов для открытия.
  • -g - графический режим.
  • -n - не использовать автосохранение для восстановления файла при сбое.
  • -R - режим только для чтения.
  • -w - сохранить все действия в файл.
  • -x - шифровать файл при записи.
  • -C - режим совместимости с Vi.

Круто, правда? Но это только начало. Опции ничего по сравнению с командами редактора.

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

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

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

  • h - на один символ влево;
  • l - на один символ вправо;
  • j - на одну строку вниз;
  • k - на одну строку вверх;
  • w - на слово вправо;
  • b - на слово влево;
  • H - перейти в низ экрана;
  • G - перейти в конец файла;

Можете запустить редактор и поэкспериментировать, чтобы было легче понять как это работает. Если перед тем как нажать кнопку буквы нажать цифру, то эта команда будет повторена несколько раз. Например, 3j переведет курсор на три строки вверх.

Для переключения в режим редактирования используются такие команды:

  • i - вставить текст с позиции курсора, символ под курсором будет заменен;
  • I - вставить текст в начало строки;
  • a - добавить текст начиная от позиции курсора;
  • o - вставить новую строку после этой и начать редактирование;
  • O - вставить новую строку перед этой и начать редактирование;
  • r - заменить текущий символ;
  • R - заменить несколько символов.

К этим командам тоже применимы символы повторения. Поэкспериментируйте, можно получить интересный и не совсем ожиданий результат.

Более сложны команды редактирования текста. Вы можете править текст не только в обычном режиме, но и в командном с помощью команд. Для этого применяются такие команды:

  • d - удалить символ;
  • dd - удалить всю строку;
  • D - удалить символы начиная от курсора и до конца строки;
  • y - копировать символ;
  • yy или Y - скопировать всю строку;
  • v - выделить текст;

Эти команды редактора vim работают немного по-другому после нажатия одной из них ничего не произойдет. Мы еще можем задать количество символов, к которым будет применена команда и направление, с помощью кнопок перемещения курсора. Например, чтобы удалить два символа справа от курсора нажмите d3l, а чтобы удалить три строки вниз - d3j. Команды yy, dd, Y - не что иное, как сокращения.

Кроме этих команд, есть еще несколько полезных, которые мы не можем не рассмотреть:

  • p - вставить после позиции курсора;
    P - вставить перед позицией курсора;
  • u - отменить последнее действие;
  • . - повторить еще раз последнее действие;
  • U - отменить последнее действие в текущей строке;
  • /шаблон - искать вхождение;
  • %s/шаблон/заменить - заменить первое слово на второе;
  • n - продолжить поиск вперед;
  • N - продолжить поиск назад;

С основными командами разобрались. Но у нас есть еще командная строка Vim, которая сама по себе тоже представляет огромный интерес.

Командная строка Vim

Командная строка Vim запускается в командном режиме нажатием двоеточия - ": ". Здесь доступны команды для сохранения файла и выхода из редактора, настройки внешнего вида и взаимодействия с внешней оболочкой. Рассмотрим наиболее часто используемые команды редактора vim:

  • :w - сохранить файл;
  • :q - закрыть редактор;
  • :q! - закрыть редактор без сохранения;
  • :e файл - прочитать содержимое файла в позицию курсора;
  • :r файл - вставить в содержимое файла в следующую строку;
  • :r! - выполнить команду оболочки и вставить ответ в редактор;
  • :set переменная=значение - установить значение переменной, например, tabstop=4, или set number, с помощью этой команды можно управлять многими аспектами работы vim.
  • :buffers - посмотреть открытые файлы.

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

Редактирование файла в Vim

Несмотря на то, что из всего вышесказанного можно понять как это делается рассмотрим еще раз. Чтобы открыть файл выполните:

vim имя_файла

Затем, если вы не хотите пока использовать возможности командного режима просто нажмите i, чтобы перейти в режим редактирования. Здесь вы можете редактировать файл так же, как и в nano. После того как завершите нажмите Esc, чтобы перейти в командный режим и наберите:wq. Записать и выйти. Все, готово.

Поиск и замена в Vim

Довольно часто нам нужно найти определенную последовательность в тексте. Текстовый редактор Vim умеет это делать.

Во-первых, если нужно найти символ в строке, нажмите f и наберите нужный символ, курсор будет перемещен к его позиции.

Для поиска по всему файлу используйте команду /. После нее нужно ввести слово, которое нужно найти. Для поиска следующего вхождения используйте n, для предыдущего - N.

Для замены будет использоваться немного другая конструкция:

:%s/искать/заменить/g

Двоеточие запускает командную оболочку с командой s для замены. Символ % означает что обрабатывать нужно весь файл, а g значит, что нужно обработать все найденные строки, а не только первую. Чтобы программа спрашивала перед каждой заменой можно добавить в конец строки опцию c .

Одновременное редактирование нескольких файлов

Чтобы открыть несколько файлов, просто передайте их в параметры при запуске программы:

vim файл1 файл2 файл3

Редактор vim linux откроет первый файл, для переключения ко второму используйте команду:n, чтобы вернутся назад:N.

С помощью команды :buffers вы можете посмотреть все открытые файлы, а командой:buffer 3 переключится на третий файл.

Буфер обмена Vim

Текстовый редактор Vim имеет свой буфер обмена. Например, вам нужно скопировать в четыре строки и вставить их в другое место программы, для этого выполните такую последовательность действий:

  • Нажмите Esc, чтобы перейти в командный режим;
  • Наберите 4yy чтобы скопировать четыре строки;
  • Переместите курсор в место где нужно вставить эти строки;
  • Нажмите p для вставки.

Также можно использовать выделение vim, чтобы скопировать строки. Выделите текст с помощью v, а затем нажмите y, чтобы скопировать.

Кириллица в Vim

Кириллица в Vim работает превосходно. Но есть одно но, когда включена кириллица в системе, все команды vim не работают, им и не нужно работать, они же не приспособлены для кириллицы.

Но переключать каждый раз раскладку, когда работаете в командном режиме тоже не очень удобно, поэтому открываем файл ~/.vimrc и добавляем туда такие строки:

set keymap=russian-jcukenwin
set iminsert=0
set imsearch=0

Теперь раскладка клавиатуры в командном режиме переключается по Ctrl+^ и все команды работают.

Выводы

В этой статье мы рассмотрели как пользоваться текстовым редактором vim. Это еще далеко не все его возможности, но теперь вы можете уверенно обращаться с редактором и забыть о nano. А вы уже пользуетесь Vim? Или другим редактором? Напишите в комментариях!

Еще немного информации по использованию Vim можно почерпнуть из видео:

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

Переход в режим правки

Чтобы включить этот режим, нужно перейти на вкладку «Рецензирование» панели инструментов и нажать кнопку «Исправления».

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

В параметрах пункта «Исправления» можно указать цветовую гамму, толщину и тип линий, а так же другие характеристики для вставки и удаления текста и изменения в таблицах.

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

Сохранение исправления

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

Проверка на наличие исправлений

Приложение Word 2010 обладает функцией проверки документа на наличие скрытого текста, примечаний, сносок и прочей информации.

Для вызова этой возможности нужно перейти в меню «Файл» к разделу «Сведения».

При нажатии на кнопку «Поиск проблем» нужно выбрать «Инспектор документов».

Функция предлагает указать параметры для проверки, а по окончанию анализа удалить исправления.

Удаление исправлений

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

Так же может понадобиться удаление примечаний соответствующей кнопкой группы функций «Примечания».

Для редактирования вхождений внешней ссылки вызовите команду через меню Сервис > Внешняя ссылка > Редактирование ссылки . Появится диалоговое окно Редактирование вхождений .

В этом окне отображается вставленные в чертеж внешние ссылки и блоки. Выделите имя внешней ссылки и нажмите ОК . Программа переходит в режим

редактирования вхождений. Появляется дополнительная панель инструментов Внешняя

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

объектов в набор и исключать объекты из состава внешней ссылки с помощью команды Удаление объектов из набора . При сохранении изменений информация записывается в исходный файл внешней ссылки. Для сохранения изменений и выхода из режима редактирования внешней ссылки используется команда Сохранение изменений . Для выхода из режима редактирования вхождения без сохранения изменений – команда Отмена изменений .

Упражнение

Растровые чертежи

Вставка растровых изображений

В nanoCAD можно вставлять растровые изображения, при этом, как и при работе с внешними ссылками, чертеж будет ссылаться на растр. При необходимости выровнять растровые изображения по опорным точкам воспользуйтесь командой Выровнять . А при необходимости масштабировать растр воспользуйтесь инструментом масштабирования по опорным точкам.

1. Вызовите команду вставки растрового изображения одним из следующих способов:

(вызывается из меню).

2. В появившемся окне Открыть изображение найдите и выберите нужный файл.

Нажмите Открыть . Появляется окно Вставка изображения . В правой части окна отображается предварительный просмотр растра.

3. Задайте необходимые параметры вставки растра в левой части окна. При необходимости выбрать другой растр нажмите кнопку Обзор и выберите новое изображение. В разделе Вставить изображение относительно выберите одну из опций:



ПСК для вставки изображения относительно текущей системы координат;

Вид для вставки изображения относительно мировой системы координат; Установите опцию Автопанорамирование для режима отображения

вставляемого растра на весь экран. Нажмите ОК .

4. Укажите точку вставки растра.

Регулировка изображений

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

Инструмент регулировки изображения вызывается через меню Редактирование >

Объект > Растр .

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


В правой части расположено окно предварительного просмотра чертежа. В левой части расположены инструменты регулировки изображения. Параметры Яркость , Контраст , Слияние с фоном задаются с помощью бегунков или в полях, расположенных справа от бегунков.

В разделе Видимость можно включить следующие режимы:

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

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

Прозрачность отвечает за включение режима прозрачности растра. При включении этого режима будут видны объекты, распложенные за растром.

Кнопка Сброс сбрасывает все настройки в нулевые положения.

Упражнение

1. В новый чертеж вставьте растр У_растр.jpg из папки с упражнениями. Улучшите растр с помощью регулировки.

Вы собираетесь создать файл crontab и внезапно оказываетесь в этом странном редакторе по умолчанию. В том, в котором всё никак не разберётесь.

ESC? Ничего не произошло. CTRL + C? Нет. ESC ESC ESC? Неа. Вы в тупике.

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

С вами бывало такое? Конечно, бывало. Что ж, потратив несколько минут на эту статью, вы познакомитесь с основами редактора Vim (и научитесь быстро выходить из него).

Vim по умолчанию установлен во многих операционных системах (включая большинство дистрибутивов Linux и macOS), поэтому хотя бы поверхностные знания о нём лишними не будут. Откройте терминал и введите vim .

В умелых руках Vim может стать мощнее многих IDE. И, разумеется, он не ест сотни мегабайт памяти лишь для отображения пустого файла (да, Eclipse, это о тебе).

Основы

Некоторые из нижеописанных команд начинаются с двоеточия: нажав его, появится подсказка, в которой будет указана полная команда. Команды без двоеточий - это скорее горячие клавиши, которые можно использовать в режиме по умолчанию (в нём запускается Vim). Команды, написанные ЗАГЛАВНЫМИ БУКВАМИ - это отдельные клавиши: например, ESC - это клавиша Esc на вашей клавиатуре.

Все команды чувствительны к регистру и должны выполняться вне режима insert .

Выход из Vim

Выход без сохранения изменений:

Как запомнить: q uit dammit! (закройся, чёрт возьми!)

Выход с сохранением изменений:

Как запомнить: w rite to disk and q uit

Навигация

Для перемещения по открытому файлу используйте стрелки.

Перемещение на строку 285:

Поиск слова «import»:

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

Вставка текста там, где стоит курсор:

Как запомнить: i nsert

Вставка текста в конце текущей строки:

Как запомнить: A ppend

Выход из режима редактирования (возврат в стандартный режим):

Выделение текста

Переход в визуальный режим:

Как запомнить: v isual

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

Выход из визуального режима:

Копирование, удаление, вставка

Копирование выделенного текста в буфер:

Как запомнить: y ank

Удаление выделенного текста:

Как запомнить: d elete

Копирование текущей строки в буфер:

Как запомнить: y ank y ank

Копирование трёх строк, включая текущую, в буфер:

Удаление текущей строки и помещение её в буфер:

Как запомнить: d elete d elete

Удаление 5 строк, включая текущую:

Вставка из буфера перед текущей строкой:

Примечание: заглавная P

Вставка из буфера после текущей строки:

Отмена и восстановление последнего изменения

Отмена последнего изменения:

Как запомнить: u h-oh 🙂

Восстановление последнего отменённого изменения:

CTRL + R

Вывод изменений:

:undolist

Отмена двух последних изменений:

Многоуровневое дерево отката изменений Vim очень мощное, подробнее о нём можно почитать .

Работа с файлом

Открытие файла index.html вместо текущего:

:edit index.html

Сохранение текущего файла:

Как запомнить: w rite to disk

Сохранение файла с изменённым именем, например, changes.txt :

:w changes.txt

Поиск и замена

Поиск и замена всех вхождений строки в файле:

:%s/typo/corrected/g

Поиск и замена с запросом подтверждения замены:

:%s/typo/corrected/gc

Как запомнить: c onfirm

Подсветка синтаксиса и отступы

Включение подсветки синтаксиса:

:syntax on

Включение автоматических отступов:

:set autoindent

Увеличение отступов нескольких строк при выделении их в визуальном режиме:

Вкладки

Открытие server.py в новой вкладке:

:tabe server.py

Как запомнить: tab e dit

Переход на вкладку справа:

Как запомнить: tab n ext

Переход на предыдущую вкладку слева:

Как запомнить: tab p revious

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

Разделённый экран

Открытие templates/base.html в режиме вертикального разделения экрана:

:vs templates/base.html

Как запомнить: v ertical s plit

Открытие shared.js в режиме горизонтального разделения экрана:

:sp shared.js

Как запомнить: the ’default’ horizontal sp lit

Перемещение между «частями» экрана:

CTRL + W + ARROW KEYS

Для закрытия экрана переключитесь на него и используйте команду:q или:wq .

Настройка Vim: файл.vimrc

Многие команды, используемые для изменения вида и поведения Vim, можно сделать включёнными по умолчанию, поместив их в .vimrc - файл конфигурации Vim, который расположен в домашнем каталоге.

Например, добавление этих строк в ~/.vimrc сделает подсветку синтаксиса и автоматическую корректировку отступов включёнными по умолчанию.

Изучаемая версия системы AutoCAD предлагает еще один инструмент работы с блоками и внешними ссылками - редактирование внешних ссылок и описаний блоков через их вхождения в текущий рисунок. Такая операция затрагивает сложные связи внутри рисунка (для блоков) и связи с другими рисунками (для внешних ссылок), поэтому объем подобного редактирования не должен быть велик. В случае большого объема изменений лучше действовать обычными средствами: переопределить блок, который требует изменений, с помощью команды BLOCK (БЛОК), а вместо редактирования вхождения внешней ссылки открыть файл-источник ссылки, изменить его, а затем обновить ссылки на этот файл в основном рисунке. Операция редактирования применима и к массивам блоков, созданным командой MINSERT (МВСТАВИТЬ), но выполняется над первым объектом из массива, а затем автоматически распространяется на остальные.

Для редактирования вхождения блока или ссылки используется команда REFEDIT (ССЫЛРЕД), которой соответствуют кнопка , расположенная первой в панели инструментов Refedit (Редактирование вхождений) (рис. 7.32), а также пункт падающего меню Modify › Xref and Block Editing › Edit Reference In-Plасе (Редакт › Блоки и внешние ссылки › Редактирование вхождений).


Рис. 7.32 . Панель инструментов Refedit

Опробуем редактирование вхождения на примере файла, изображенного на рис. 7.31, где блок Computer был вставлен четыре раза, причем у двух вхождений выполнена подрезка.

Щелкните по кнопке , расположенной в панели инструментов Refedit (Редактирование вхождений), вызывая тем самым на выполнение команду REFEDIT (ССЫЛРЕД). Появится запрос:

  • Select reference: (Выберите вхождение:)

Выберите верхнее вхождение блока Computer (выбранные вами для редактирования вхождения заносятся в специальный рабочий набор). После этого откроется диалоговое окно Reference Edit (Редактирование вхождений), в котором в левой части вкладки Identify Reference (Выбрать вхождение) высвечивается дерево вхождений для выбранного объекта (в нашем случае это блок Computer ) (рис. 7.33).


Рис. 7.33 . Диалоговое окно Reference Edit, вкладка Identify Reference

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

  • Automatically select all nested objects (Автоматически показывать все вложенные объекты) - показывает и внутренние вхождения в отмеченный блок или внешнюю ссылку, с возможностью их выбора для редактирования;
  • Prompt to select nested objects (Запрашивать выбор вложенных объектов) - внутренние вхождения показывает по запросу.

На вкладке Settings (Настройки) диалогового окна Reference Edit (Редактирование вхождений) (рис. 7.34) расположены три флажка, задающие дополнительные настройки процесса редактирования вхождений:

  • Create unique layer, style, and block names (Создавать уникальные имена слоев, стилей и блоков);
  • Display attribute definitions for editing (Вывести описания атрибутов для редактирования);
  • Lock objects not in working set (Закрыть объекты, не входящие в рабочий набор).


Похожие публикации