Vi как редактировать файл
Редактор Vi — универсальный полноэкранный текстовый редактор в среде UNIX. Редактор Vi присутствует в любой системе Linux (даже минимальной конфигурации) и обязательно запустится из командной строки Linux в самой катастрофической ситуации. У пользователя, таким образом, всегда сохранится возможность отредактировать конфигурационные файлы для приведения системы в рабочее состояние. Поэтому каждому пользователю Linux необходимы хотя бы основные навыки работы в Vi.
Основные понятия
В любой момент при работе в редакторе Vi вы находитесь в одном из трёх режимов редактора:
- командный режим (command mode);
- режим ввода (insert mode);
- режим последней строки (last line mode).
При запуске редактора Vi вы оказываетесь в командном режиме. В этом режиме можно давать команды для редактирования файлов или перейти в другой режим. Например, вводя x в командном режиме мы удаляем символ, на который указывает курсор. Клавиши-стрелки перемещают курсор по редактируемому файлу. Как правило, команды, используемые в командном режиме, состоят из одного или двух символов.
Основной ввод и редактирование текста осуществляется в режиме ввода. При использовании редактора Vi основное время, скорее всего, будет проводиться именно в этом режиме. Переход в режим ввода из командного режима осуществляется командой i (сокращение от insert). Находясь в режиме ввода, можно вводить текст в то место, куда указывает курсор. Выход из режима ввода в командный режим осуществляется клавишей Esc .
Режим последней строки — специальный режим, в котором редактору даются сложные команды. При вводе этих команд они отображаются в последней строке экрана (отсюда пошло название режима). Например, если ввести в командном режиме команду : , то осуществится переход в режим последней строки, и можно будет вводить такие команды, как wq (записать файл и покинуть редактор Vi) или q! (выйти из редактора Vi без сохранения изменений). В режиме последней строки обычно вводятся команды, название которых состоит из нескольких символов. В этом режиме в последнюю строку вводится команда, после чего нажимается клавиша Enter , и команда исполняется.
Запуск редактора Vi
Для уяснения всех концепций редактора Vi запустим его и создадим новый файл по имени test:
обозначает пустые строки, курсор находится в начале первой строки.
Ввод текста
Редактор Vi сейчас находится в командном режиме. Нажмём клавишу i , и редактор перейдёт в режим ввода текста. Теперь вводим, например, следующий текст:
Введите любое количество строк, после каждой нажимая клавишу Enter . Исправлять опечатки можно с помощью клавиши Backspace . Для выхода из режима ввода и возвращения в командный режим нажмём клавишу Esc .
В командном режиме для движения по файлу можно использовать клавиши-стрелки. Если в файле всего одна строка, то при попытке нажать клавишу со стрелкой вверх либо вниз редактор, возможно, будет подавать звуковой сигнал.
Помимо команды i , есть ещё несколько способов вставить текст. Так, команда a начинает вставлять текст после текущего положения курсора, а не прямо в текущую. В связи с тем, что текст был набран с опечаткой приведём с помощью клавиш-стрелок курсор к пробелу, разделяющему слова наделенный и сказками. Теперь нажмем клавишу a (редактор перейдёт в режим ввода) и введём под , после чего нажмём клавишу Esc и вернёмся в командный режим. На экране будет следующее:
Для введения текста со следующей строки, используем команду o . Нажмём эту клавишу и введём одну-две строки текста:
Удаление текста
В командном режиме каждое нажатие клавиши x удаляет символ, на который указывает курсор.
Можно удалять целые строки командой dd (т. е. нажав клавишу d два раза подряд). Если курсор стоит на второй строке, и вы введёте команду dd , на экране останется следующее:
Для удаления слова, на которое показывает курсор, можно использовать команду dw . Подведите курсор к слову наделенный и введите dw , затем к слову подсказками и снова введите dw . Результат будет следующим:
Изменение текста
Отдельные части текста можно заменять на другие; для этого используется команда R . Подведите курсор к первому символу в слове Emacs, нажмите клавишу R и введите слово vi:
Действие команды R напоминает действие команд i и a , однако при команде R новый текст не вставляется, а стирает старый.
Команда r заменяет один символ, а именно тот, на который указывает курсор.
С помощью команды
можно поменять регистр буквы, на которую указывает курсор (с верхнего на нижний и наоборот). Подведем курсор к первому символу в слове vi и дадим команду
Команды для движения курсора
Помимо клавиш-стрелок для движения курсора можно использовать клавиши h , j , k и l . Они будут сдвигать курсор соответственно влево, вниз, вверх и вправо. Этими командами можно воспользоваться, если (по какой-либо причине) клавиши-стрелки действуют неправильно. Команда w перемещает курсор на начало следующего слова; команда b перемещает курсор на начало предыдущего слова.
Команда 0 (клавиша ноль) перемещает курсор на начало текущей строки, а команда $ перемещает курсор в её конец.
При редактировании больших файлов для перелистывания целых экранов вперёд (т. е. вниз) и назад (вверх) используются команды соответственно C trl-F и Ctrl-B .
Для перемещения курсора в конец файла, используется команда G , а команда 10G , например, поместит курсор на строку с номером 10. Для того, чтобы переместить курсор в начало файла, можно использовать команду 1G .
Команды движения курсора можно совмещать с другими командами, например, с командами удаления текста. Например, команда d$ удалит все, что находится между текущим положением курсора и концом строки; команда dG удалит все, что находится между текущим положением курсора и концом файла и т. д.
Сохранение изменений и выход из редактора Vi
Для выхода из редактора Vi без сохранения изменений, сделанных в файле, используется команда :q! .
Для выхода из редактора Vi с сохранением сделанных изменений используется команда :wq .
Чтобы сохранить файл, но не выходить из редактора Vi, используется команда :w .
Переключение между файлами
Для того, чтобы приступить к редактированию другого файла, используется команда :e , которую следует вводитьтолько после сохранения сделанных изменений командой :w , в противном случае Vi откажется приступить к редактирования следующего файла.
Вставка содержимого других файлов
Включить в текущий файл содержимое другого файла можно командой :r . Например, команда :r foo.txt вставит содержимое файла foo.txt в текст начиная с текущего положения курсора.
Помощь в работе с редактором Vi
Как и в случае с любой программой в системе Linux в первую очередь следует обратиться к экранной документации программы Vi. Обычно (кроме режимов восстановления после системных сбоев) доступна более современная и улучшенная версия Vi — Vim, имеющий аналогичный Vi интерфейс и массу дополнительных возможностей. Подробное руководство по Vim можно получить, запустив этот редактор и отдав команду :help .
Текстовый редактор vim, созданный на основе более старого vi. Один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, возможными благодаря расширениям и надстройкам. По умолчанию входит в состав любого дистрибутива Linux.
Открываем файл с помощью vi / vim:
Основные режимы работы.
«Обычный режим» — перемещение по файлу, стирание текста и другие редактирующие функции. Это - основной режим, только из него можно сразу перейти в другие режимы. Для возврата в основной режим из любого другого режима:
«Режим ввода» - ввод текста. Как только завершается ввод текста, принято сразу возвращаться в обычный режим. Заметьте, что стирание и ввод текста происходит в двух разных режимах. Переход в него из обычного режима:
«Командный режим» - Команды (операции с файлом, поиск и замена, настройка редактора…). Переход в него из обычного режима:
«Режим поиска» - ввод поискового запроса. Переход в него из обычного режима
«Визуальный режим» - режим выделения текста:
Перемещение по файлу
После загрузки Vim, на экране вы увидите часть загруженного вами текстового файла. Загрузившись, Vim находится в «командном режиме» - один из основных режимов. Это значит, что если вы нажмете клавишу <l> (строчная L), вместо появления «l» на месте курсора вы увидите, что курсор сдвинулся на один символ вправо. В командном режиме знаки, набираемые на клавиатуре, используются как команды для Vim, а не как помещаемые в текст символы. Команды перемещения - один из наиболее важных типов команд. Вот некоторые из них:
Ввод текста
Следующие команды переводят редактор в режим ввода:
Удаление и вставка
Ниже перечислены основные комманды удаления и вставки текста:
Отмена изменений
Поиск
Перейти на строку:
Выход
Есть еще пара команд, которые вам необходимо знать:
В этой статье описаны основные возможности, необходимые для работы. Практически во все дистрибутивы Linux входит учебник по работе с редактором, - просто введите в командной строке команду vimtutor.
Редактор командной строки
В итоге, вы должны забыть про мышь. Все в Vi делается через клавиатуру.
В Vi есть два режима. Режим вставки и режим редактирования. В режиме ввода вы можете вводить содержимое в файл. В режиме редактирования вы можете перемещаться по файлу, выполняя следующие действия:
- удаление
- копирование
- поиск
- замена
- сохранение
- другие
Когда мы запускаем vi, мы обычно выдаем его с одним аргументом командной строки. Он же является файлом для редактирования.
vi <файл>
Если вы забыли указать файл, есть способ открыть его в vi. Когда мы указываем файл, он может иметь абсолютный или относительный путь.
Отредактируем наш первый файл.
Когда вы запускаете эту команду, она открывает файл. Если файл не существует, он создаст его для вас, а затем откройте его. После ввода vi это будет выглядеть примерно так.
Вы всегда начинаете в режиме редактирования, поэтому первое, что мы собираемся сделать, это переключиться в режим вставки, нажав i
Теперь введите несколько строк текста и нажмите клавишу Esc, и вы вернетесь в режим редактирования.
Сохранение и выход
Есть несколько способов сделать данный маневр. Для начала убедитесь, что вы находитесь в режиме редактирования.
Если вы не уверены, находитесь ли вы в режиме редактирования можно посмотреть в нижнем левом углу. В качестве альтернативы вы можете просто нажать Esc, чтобы быть уверенным. Если вы уже находитесь в режиме редактирования, нажатие клавиши « Esc» ничего не делает, поэтому вы не причините вреда.
Большинство команд в vi выполняются, как только вы нажимаете последовательность клавиш. Любая команда, начинающаяся с двоеточия (:), требует, чтобы вы нажали <enter> для завершения команды.
Другие способы просмотра файлов
Запустив команду cat с одним аргументом командной строки, можно увидеть содержимое файла на экране, а затем появится подсказка.
Если вы случайно запустили cat без указания аргумента командной строки, вы заметите, что курсор перемещается на следующую строку, а затем ничего не происходит. Если вы наберете что-то, нажмите <enter>, вы увидите cat зеркально отразит ваш ввод на экране. Чтобы выйти отсюда, следует нажать <Ctrl> + c, который является универсальным сигналом для отмены в Linux.
На самом деле, когда у вас возникают проблемы, вы обычно можете нажать <Ctrl> + c, чтобы избежать неприятностей.
Эта команда хороша, когда у нас есть маленький файл для просмотра.
А если файл большой? Основная часть контента будет летать по экрану, и мы увидим только последнюю страницу контента. Для больших файлов лучше подходит команда, less.
less <файл>
less позволяет перемещаться вверх и вниз по файлу с помощью клавиш со стрелками. Вы можете перейти вперед на целую страницу с помощью пробела или назад на страницу, нажав b. При завершении, следует нажать q для выхода.
Навигация по файлу в Vi
Теперь вернемся к файлу, который мы только что создали, и введем еще немного контента. В режиме вставки вы можете использовать клавиши со стрелками для перемещения курсора. Введите еще два абзаца содержания, затем нажмите Esc, чтобы вернуться в режим редактирования.
Ниже приведены некоторые из множества команд, которые вы можете вводить для перемещения по файлу. Посмотрите как они работают.
Набрав set nu в режиме редактирования в vi, позволяет включить номера строк. В итоге, включение номеров строк делает работу с файлами намного проще.
Удаление текста
Если мы хотим перейти в vi, у нас будет довольно много вариантов. Некоторые из них также позволяют нам предшествовать им с числом, которое можно перемещать столько раз. Удаление работает аналогично перемещению. Всего несколько команд удаления позволяют нам включить команду перемещения, чтобы определить, что будет удалено.
По умолчанию в CentOS используется редактор vi. Посмотреть какой редактор в данный момент установлен как редактор по умолчанию можно командой: Установить vi редактором по умолчанию: Для определенного пользователя установить редактор по умолчанию можно в профиле Открыть файл с помощью vi можно командой: vi file.conf где file.conf – существующий файл или файл, который будет создан При […]
По умолчанию в CentOS используется редактор vi.
Посмотреть какой редактор в данный момент установлен как редактор по умолчанию можно командой:
Установить vi редактором по умолчанию:
Для определенного пользователя установить редактор по умолчанию можно в профиле
Открыть файл с помощью vi можно командой:
vi file.conf где file.conf
– существующий файл или файл, который будет создан
При запуске vi находится в командном режиме, чтобы перевести vi в режим ввода, необходимо нажать на клавиатуре клавишу i.
Чтобы установить графический интерфейс для vim нужно ввести: yum install -y vim-X11. Запустить графическую версию редактора можно командами: gvim <имя файла> или vimx -g <имя файла> vimx без опции –g запустит консольную версию vim.Также, можно перейти сразу в какую-либо строку файла. Например, перейти в 95 строку файла full, существующего в текущем каталоге, можно командой:
Чтобы включить подсветку номеров строк в vi нажмите Esc и наберите:
Для выключения подсветки номеров строк
Перейти к первому вхождению слова «error»
Чтобы записать постоянные настройки для текущего пользователя нужно внести изменения в файл
/.vimrc. Например, чтобы номера строк подсвечивались постоянно, в файл нужно добавить “set number” или “set nu”. Чтобы переключать режим включения/выключения отображения номеров строк с помощью Ctrl +N, переходить на строки по ее номеру, набрав номер строки Enter, в файл нужно добавить:
Чтобы записать настройки и сделать их постоянными для всех пользователей директивы нужно добавить в /etc/vimrc.
Находясь в режиме команд можно переходить по строкам/начало/конец файла:
G – перейти в конец файла
3gg или 3G – перейти на третью строку файла (сначала)
gg – перейти в начало файла.
В vi, также как и в sed, можно производить замены. Чтобы заменить в текстовом файле одну строку на другую, например, в открытом файле заменить 1010 на 1011.
Также, можно указать определенный интервал, в котором будет проходить поиск.
vi — это консольный текстовый редактор. Фактически стандартный для всевозможных вариантов UNIX подобных операционных. Настоящий *NIX администратор должен знать этот редактор как "Отче наш" ибо в каких бы UNIX подобных операционных системах ему не пришлось бы работать, можно быть полностью уверенным в том, что редактор vi будет обязательно присутствовать в системе.
Первая версия была написана Биллом Джоем в 1976 году. В то время наиболее распространённым был редактор ed. Поскольку он был довольно сложным для «простого смертного», George Coulouris разработал редактор em (editor for mortals — редактор для смертных). Билл Джой модифицировал редактор em и назвал его en, а позднее — он получил название ex, на котором и основан vi.
В отличие от многих привычных редакторов, vi имеет модальный интерфейс. Это означает, что одни и те же клавиши в разных режимах работы выполняют разные действия. В редакторе vi есть два основных режима: командный режим и режим вставки. По умолчанию, работа начинается в командном режиме.
Проблема в том, что работа с vi совершенно непохожа на то, как мы действуем в редакторах с графическим интерфейсом. И, кроме того, тут нет никаких меню, панелей кнопок и даже подсказок. Команды нужно (кОшмар!) помнить.
Содержание
Совет: Перед любыми действиями с документом введите следующую команду:
Запуск и завершение VI
Запуск VI | |
vi filename | Открыть файл filename для редактирования |
view filename | Открыть файл filename для просмотра |
vi -r filename | Открыть последнюю сохраненную версию filename после аварийного выхода |
vi + n filename | Открыть filename и поместить курсор на строку n |
vi + filename | Открыть filename и поместить курсор на последнюю строку |
vi +/ string filename | Открыть filename и поместить курсор на первое вхождение string |
vi filename file2 . | Открыть filename , затем file2 . Переход к следующему файлу - :n |
Завершение VI | |
ZZ или :wq или :х | Сохранить изменения и завершить VI |
:w | Сохранить изменения в текущем файле |
:w! | Безусловно сохранить текущий файл |
:w file | Сохранить текущий файл под именем file |
:w! file | Безусловно сохранить файл под именем file |
:n,mw file | Сохранить строки с n до m в file |
:n,mw >> file | Сохранить строки с n до m в конец file |
:q | Завершить VI, предупредив при необходимости сохранения |
:q! | Завершить VI без сохранения |
:e! | Начать редактирование снова (отменив несохраненные изменения) |
:we! | Сохранить и продолжить редактирование |
Статус
:.= | Номер текущей строки |
:= | Количество строк в файле |
CTRL-G | Имя файла, номер строки, общее число строк и положение в файле (%) |
l | Спецсимволы в текущей строке: tab (^l), backslash (\), backspace (^H), newline ($), bell (^G), formfeed (^L^) |
Режимы
VI работает в командном режиме и режиме ввода. Сразу после запуска редактор находится в командном режиме, в котором можно перемещаться по тексту, выполнять копирование и вставку текста из буфера. Режим ввода включается по командам вставки, дополнения, замены. Нажатие [ESC] возвращает редактор в командный режим. Большинство команд выполняется сразу после нажатия клавиши. Исключение - команды, начинающиеся с двоеточия, которые выполняются после нажатия [Return].
Вставка текста
i | Вставка перед курсором |
I | Вставка перед строкой |
a | Добавление за курсором |
A | Добавление после строки |
o | Новая строка после текущей |
O | Новая строка перед текущей |
r | Заменить символ на символ |
R | Замена символов (режим замены) |
CTRL-v char | вставка управляющих символов (например, ESC и CTRL) до нажатия ESC |
Внимание: коды CTRL-Q и CTRL-S обрабатываются операционной системой до передачи VI, поэтому их ввести невозможно. | |
:r file | Вставить содержимое file после текущей строки |
:nr file | Вставить содержимое file после строки n |
В режиме ввода: | |
CTRL-i или TAB | Вставить смещение вправо на shift width |
CTRL-d | Уменьшить смещение вправо на shift width |
CTRL-h или Backspace | Удалить предыдущий символ |
CTRL-w | Удалить предыдущее слово |
CTRL-u | Удалить предыдущую строку |
CTRL-x | Удалить от начала вставленного текста |
CTRL-v | Вставить следующий спецсимвол (т. е. для вставки CTRL-H нужно нажать CTRL-v CTRL-h) |
Перемещение по тексту
Удаление текста
Большинство команд удаления образуются из символа d и команды перемещения. Например, dw удаляет слово. Другие команды удаления:
x | Удалить текущий символ |
nx | Удалить n символов вправо, начиная с текущего |
X | Удалить символ слева от курсора |
nX | Удалить n символов влево от курсора |
D | Удалить до конца строки |
d$ | Удалить от курсора до конца строки |
dd или :d | Удалить текущую строку |
ndw | Удалить следующие n слов, начиная с текущего |
ndb | Удалить предыдущие n слов, начиная с текущего |
ndd | Удалить следующие n строк, начиная с текущей |
:n,md | Удалить строки с n до m |
d Motion_cmd | Удалить все, что захватывает команда перемещения (например, dG удаляет текст от текущей позиции до конца файла, а d4 - до конца 4-го предложения). |
"(a-z)ndd | Вырезать n строк в именованный буфер (от a до z) |
"(a-z)dd | Вырезать текущую строку в именованный буфер (от a до z) |
"np | Отменить n-е из последних удалений (последние 9 удалений хранятся в буфере) |
"1pu.u. | Просмотр буфера удалений, пока не будет возвращено нужное (повторить - u.) |
Копирование в буфер
Подобно командам удаления, большинство команд копирования в буфер состоят из символа y и команды перемещения. Например, y$ помещает в буфер конец строки.
yy или :y | Копировать текущую строку |
nyy или nY | Копировать n строк |
y Motion_cmd | Копировать текст, захватываемый командой перемещения (например, yG копирует все от текущей позиции курсора до конца файла, а y4 - до конца текущего предложения) |
"(a-z)nyy | Копировать n строк в именованный буфер (от a до z) |
"(a-z)yy | Копировать текущую строку в именованный буфер (от a до z) |
Изменение текста
Команды изменения действуют как команды удаления с последующим переводом в режим ввода. Большинство из них состоит из символа c и команды перемещения. Например cw заменяет слово.
C | Заменить от курсора до конца строки |
cc или S | Заменить всю текущую строку |
xp | Обменять символ над курсором и следующий |
s | Заменить текущий символ |
cw | заменить текущее слово |
cMotion_cmd | Заменить текст, захватываемый командой перемещения |
Сдвинуть строку влево/вправо на shift width (по умолчанию - 8 позиций) | |
n | Сдвинуть n строк влево/вправо на shift width (по умолчанию - 8 позиций) |
Motion_cmd | Сдвинуть строки, захватываемые командой перемещения, влево/вправо |
Вставка из буфера
p | Поместить текст из буфера после курсора |
P | Поместить текст из буфера перед курсором |
"(a-z)p или "(a-z)P | Поместить текст из буфера (от a до z) после/перед текущей строкой |
Буферы
Имя буфера может быть указано перед любой командой удаления, изменения, копирования или вставки. Префикс имеет вид "c, где c - любой символ нижнего регистра. Например, "adw удаляет слово и помещает его в буфер a. Затем его можно будет поместить в текст по команде "ap.
Маркеры
Именованный маркер можно установить на любой строке текста. Именем маркера может быть любой символ нижнего регистра. Маркеры могут использоваться как границы диапазонов.
mc | Установить на строку маркер c |
`c | К началу строки с маркером c |
'c | К первому непробельному символу строки с маркером c |
Поиск/замена подстрок
/ str | Поиск str вперед от курсора |
? str | Поиск str назад от курсора |
n | Повторить поиск в том же направлении |
N | Повторить поиск в обратном направлении |
% | Поиск парной скобки: ( ) [ ] или |
f c | Поиск символа c по текущей строке вперед |
F c | Поиск символа c по текущей строке назад |
t c | Поиск символа c по строке вперед, курсор устанавливается на предыдущий символ |
T c | Поиск символа c по строке назад, курсор устанавливается на предыдущий символ |
:set ic | Игнорировать регистр при поиске |
:set noic | Учиитывать регистр при поиске |
:n,ms/ str1 / str2 / opt | Искать строку str1 со строки n до m (n и m могут быть опущены); заменить str1 на str2 ; с опциями opt. Возможные опции: g - глобальный, c - подтверждать замены (y - заменить, <cr /> - не заменять), p - печатать измененные строки |
& | Повторить последнюю команду :s |
:g/ str / cmd | Выполнить команду cmd для каждой строки, содержащей str |
:g/ str1 /s/ str2 / str3 / | Найти строку, содержащую str1 , заменить str2 на str3 |
:v/ str / cmd | Выполнить команду cmd для каждой строки, не содержащей str |
; | Повторить поиск |
, | Повторить поиск в обратном направлении |
Регулярные выражения
Счетчики
Практически перед любой командой можно указать количество ее повторений. Например, 5dw приведет к удалению 5 слов, а 3fe - к перемещению курсора вперед на 3-е вхождение символа «e». Подобным образом можно действовать и с командами вставки, например, вставить 100 одинаковых строк.
Диапазоны
Перед большинством команд, начинающихся с двоеточия, может быть указан диапазон строк, на которые эта команда будет действовать. Например, :3,7d служит для удаления строк 3-7. Диапазоны обычно используются с командой :s для замены в нескольких строках, например, . $s/pattern/string/g выполнит замены с текущей строки до конца файла.
:n,m | Строки с n до m |
:. | Текущая строка |
:$ | Последняя строка |
:'c | Строка с маркером c |
:% | Все строки файла |
:g/ pattern / | Все строки, содержащие pattern |
Обращение к Shell
% - имя текущего файла
Файлы
:w file | Записать в файл file |
:r file | Вставить содержимое file после текущей строки |
:n | К следующему файлу |
:p | К предыдущему файлу |
:e file | Редактировать файл file |
!! program | Заменить строку выходными данными program |
Режимы VI
Заметьте: вводится :set option для включения режима и :set no option для выключения. Чтобы установить настройки для каждого запуска VI, в домашнем каталоге создается файл .exrc, содержащий данные команды без двоеточия перед ними.
Макросы
Пример (выделены команды VI, которые будут включены в макрос):
:map v /I CTRL-v ESC dwiYou CTRL-v ESC ESC
Действие макроса: При нажатии v найти "I" (/I ESC), удалить слово (dw) и вставить "You" (iYou ESC). CTRL-v нужно для вставки кода ESC
:map key cmd_seq | Назначить клавише key исполнение макроса cmd_seq |
:map | Показать в строке состояния все имеющиеся макросы |
:unmap key | Удалить макрос |
:ab str string | При вводе сокращения str заменить его на string |
:ab | Показать все сокращения |
:una str | Отменить сокращение str |
Прочее
Рекомендуемый контент
Вы не любите рекламу!? Напрасно!:) На нашем сайте она вовсе ненавязчивая, а потому для нашего сайта можете полностью отключить AdBlock (uBlock/uBlock Origin/NoScript) и прочие блокировщики рекламы! AdBlock/uBlock может препятствовать нормальной работе системы поиска по сайту, отображению рекомендуемого контента и прочих сервисов Google. Рекомендуем полностью отключить блокировщик рекламы и скриптов, а также разрешить фреймы (aka iframe).
Читайте также: