Как искать в vim / vi

Копировать, Вырезать и Вставить

Когда вы нажимаете v в командном режиме, включается визуальный режим. Все передвижения курсора выделяют текст, с той позиции где был осуществлён переход в визуальный режим. Выделив нужный вам текст, нажмите команду y, после чего данный текст будет скопирован. Переместившись в новое место и нажав p скопированный текст добавится после курсора, P делает вставку перед курсором.

Выделив текст, команда x удалит этот текст. Команда d вырежет выделенный текст, в дальнейшем его можно вставить командой p.

Выделение блока

Выделять блоки текста можно после нажатия команды <ctrl>-v. Команда V включает визуальный режим, в котором выделяются строки целиком, а не отдельные символы.

Диапазон поиска

Если диапазон не указан, подстановочная команда работает только в текущей строке.

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

Например, чтобы заменить все вхождения ‘foo’ на ‘bar’ во всех строках, начиная со строки 3 по строку 10, вы должны использовать:

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

Точка символ указывает на текущую строку и — доллар знак последней строки. Чтобы заменить ‘foo’ во всех строках, начиная с текущей и заканчивая последней:

Спецификатор строки также может быть установлен с помощью символа «+» или «-», за которым следует число, которое добавляется или вычитается из номера предыдущей строки. Если число после символа опущено, по умолчанию используется 1.

Например, чтобы заменить каждое ‘foo’ на ‘bar’, начиная с текущей строки и четырех следующих строк, введите:

Подсветка синтаксиса редактора Vim и отображение настроек номера строки в Mac

http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>yle=»margin-bottom:5px;»>Теги:  mac  vim  Подсветка синтаксиса  Номер строки  Настроить

Я не знаю, когда вы используете редактор Mac vim, весь интерфейс редактирования представлен одним цветом, а номер строки отсутствует. Тогда давайте настроим это и станем очень красивыми! Первый шаг: если вы не хотите изменять файл настроек по умолчанию, тогда мы делаем копию, в конце концов, оригинал благороден и не может быть загрязнен. Используйте команду для копирования в домашний каталог

Второй шаг: vi ~ / .vimrc, чтобы открыть файл Добавьте эти две строки в конце:

Сохранить и выйти, принять работу! Используйте v, чтобы снова открыть файл, это здорово!

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

Интеллектуальная рекомендация

19.03.21 Я загрузил комплексные обучающие видеоуроки Photoshop CC 2015 и обучающие видеоуроки по новым функциям PS CC 2015. Я просмотрел несколько видео, но мне кажется, что они в основном объясняют н…

проверка данных весеннего mvc Два способа проверки данных Spring MVC: 1.JSR303 2.Hibernate Validator Второй метод является дополнением к первому методу Шаги для проверки данных с использованием Hibern…

Существует два способа вызова между сервисами Springcloud: RestTemplate и Feign. Здесь мы представляем сервисы вызова RestTemplate. 1. Что такое RestTemplate RestTemplate — это структура веб-запросов …

1. Понимать предварительный, средний, последующий порядок и иерархическую последовательность бинарных деревьев; Свяжите язык C со структурой данных двоичного дерева; Освойте с…

Вам также может понравиться

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

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

Расширенные статьи серии Zookeeper 1. NIO, ZAB соглашение, 2PC представления концепции 2. Лидер выборов 3. Рукописный распределенный замок, центр настройки ==================================== 1. NIO,…

Посмотрите на конечный эффект первым DemoPreview.gif SETP1 эффект капли воды Первая реакция на эффект капли воды — нарисовать замкнутую кривую. С помощью события MotionEvent измените радиус во время п…

Опции и Переменные

Включить нумерацию строк и сделать её относительной, можно добавив в файл .vimrc:

Сохраните это и вам больше не придется думать об этих настройках. Каждый раз при открытии файла Vim будет показывать относительную нумерацию строк. Команда set  включает одну из опций Vim. Выключить настройку можно указав ей противоположную опцию. Перед противоположной опцией ставится no, в отличии от обычной опции.

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

Не ставьте оба set’а, которые мы рассматривали в .vimrc. Это включит опцию и тут же её выключит. Скоро, я покажу вам, как делать это более программным путем.

Если вам известно текущее состояние опции, переключение опции, может быть альтернативным вариантом установки необходимой опции. Переключить её можно посредством ! после названия опции. Это включит/выключит опцию:

Если же хочется узнать текущее значение опции, используйте ? после названия опции, например

Это вернёт нам number. Теперь, с этой информацией, вы всегда сможете узнать состоянии интересующей вас опции.

Если вы хотите изменить количество колонок, которое занимает нумерация на экране, вы можете присвоить значение опции numberwidth. Данный пример установит нумерацию в 4 колонки шириной:

Посмотрите сколько места подойдет вам для нумерации и добавьте данную опцию в ваш .vimrc.

Если вам понадобится создать переменную, используйте выражение let. К примеру:

Когда сохраните это в файле .vimrc (используйте свое имя в качестве значения переменной), можно отобразить его в режиме командной стоки с помощью :echo name

Показывает значение переменной

Поставив перед опцией префикс &, с ней можно обращаться, как с переменной. Показать значение опции можно таким образом:

Команда echo используется исключительно для переменных, но указав префикс & перед опцией, тем самым мы сообщаем Vim, что хотим взаимодействовать с данной опцией, как с переменной. Теперь, удобно производить над значением опции различные математические операции. Следовательно, чтобы увеличить ширину нумерации на одну колонку, можно воспользоваться следующим примером:

echo &numberwidth должно показать значение 5.

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

b: Область видимости буфера—Переменная будет доступна только в текущем буфере
w: Область видимости окна—Доступна только внутри текущего окна
t: Область видимости вкладки—Доступна на текущей вкладке
g: Глобальная область видимости — Доступна везде
I: Локальная область видимости—Переменная доступна локально, для функции в которой была определена
s: Область видимости скрипта—Переменная является локальной, только для текущего скрипта
a: Область видимости аргумента—Переменная будет доступна только внутри функции
v: Глобальная область видимости—Используется для переменных определённых и используемых Vim

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

Основы настройки клавиш

Одна из самых полезный возможностей файла конфигурации — установить нужные вам действия, при нажатии каких-либо клавиш на клавиатуре. Приведём пример, вы часто переключаете относительную нумерацию строк. Чтобы не печатать :call TRelative каждый раз, использование горячей клавиши будет гораздо быстрее. Для этого нам пригодится команда map

С этой строкой в файле .vimrc, если нажать Control-T, относительная нумерация будет включаться и выключаться. Попробуйте теперь сами, установить клавишу для переключения обычной нумерации.

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

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

Чтобы предотвратить подобного рода ситуацию, вы должны добавить nore после режима и до map. Следовательно, nmap станет nnoremap, vmap станет vnoremap, и imap станет inoremap. Тем самым вы всегда будите ссылаться на сочетание клавиш, которое стоит по умолчанию. Эти команды гораздо безопаснее использовать в конфигурационном файле.

Как отображать номера строк в редакторе vi или vim в системе Linux

http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>yle=»margin-bottom:5px;»>Теги:  vim  vi

Установить номер строки легко

Нам нужно перейти в режим последней строки редактора vi или vim, ввести номер набора

:set number

Нажмите Enter, чтобы отобразить номер строки

Так как же выключить номер строки?

Это очень просто, нам просто нужно ввести set nonumber в режиме последней строки редактора vi или vim

:set nonumber

Нажмите Enter, и номер строки исчезнет

Потом кто-нибудь спросит, я здесь номер строки открыл

Откройте файл в следующий раз, номер строки исчезнет

Очень просто, нам нужно только добавить наши настройки в файл конфигурации vi или vim.

Нам просто нужно изменить его в файле / etc / vimrc (/ etc / virc).

Давайте взглянем.

vim /etc/vimrc

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

set number В режиме последней строки введите wq, чтобы сохранить и выйти из vim

Когда я снова использую vim, отображается ли номер строки?

Если вам больше не нужен номер строки, просто удалите установленный номер из файла / etc / vimrc.

Адрес перепечатки:http://www.cnblogs.com/opsprobe/p/9156973.html

Интеллектуальная рекомендация

19.03.21 Я загрузил комплексные обучающие видеоуроки Photoshop CC 2015 и обучающие видеоуроки по новым функциям PS CC 2015. Я просмотрел несколько видео, но мне кажется, что они в основном объясняют н…

проверка данных весеннего mvc Два способа проверки данных Spring MVC: 1.JSR303 2.Hibernate Validator Второй метод является дополнением к первому методу Шаги для проверки данных с использованием Hibern…

Существует два способа вызова между сервисами Springcloud: RestTemplate и Feign. Здесь мы представляем сервисы вызова RestTemplate. 1. Что такое RestTemplate RestTemplate — это структура веб-запросов …

1. Понимать предварительный, средний, последующий порядок и иерархическую последовательность бинарных деревьев; Свяжите язык C со структурой данных двоичного дерева; Освойте с…

Вам также может понравиться

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

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

Расширенные статьи серии Zookeeper 1. NIO, ZAB соглашение, 2PC представления концепции 2. Лидер выборов 3. Рукописный распределенный замок, центр настройки ==================================== 1. NIO,…

Посмотрите на конечный эффект первым DemoPreview.gif SETP1 эффект капли воды Первая реакция на эффект капли воды — нарисовать замкнутую кривую. С помощью события MotionEvent измените радиус во время п…

Минимальные основы

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

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

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

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

Метод 2: постоянно отображать номер строки

(1) Если вы хотите, чтобы vim отображал номер строки постоянно, вам необходимо изменить файл конфигурации vim vimrc. Если такого файла нет, вы можете его создать. При запуске vim файл vimrc в корневом каталоге текущего пользователя будет автоматически прочитан, поэтому обычно создайте файл vimrc в корневом каталоге текущего пользователя, то есть используйте команду: написать в редактореСохранить и выйти. (2) Используйте команды в режиме пользователя root добавить под файлКак показано Сохранить и выйти.

Примечание. Причина использования пользователя root связана с пользователем, группой пользователей и разрешениями файла vimrc.

Относительные номера строк

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

Режим относительной строки удобен, потому что многие операции в Vim, такие как перемещение вверх / вниз и удаление строк, работают с относительными номерами строк.

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

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

Чтобы отключить относительные номера строк, введите или :

Чтобы переключить относительные номера строк, используйте команду или

Базовый поиск и замена

В Vim вы можете найти и заменить текст с помощью команды :substitute( :s).

Чтобы запускать команды в Vim, вы должны находиться в обычном режиме – режиме по умолчанию при запуске редактора. Чтобы вернуться в обычный режим из любого другого режима, просто нажмите клавишу «Esc».

Общая форма команды замены следующая:

:s/{pattern}/{string}/ 

Команда ищет в каждой строке a {pattern}и заменяет ее на {string}. – положительное целое число, умножающее команду.

Если нет и , заменяется только шаблон, найденный в текущей строке. Текущая строка – это строка, в которой находится курсор.

Например, чтобы найти первое вхождение строки ‘foo’ в текущей строке и заменить его на ‘bar’, вы должны использовать:

:s/foo/bar/

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

:s/foo/bar/g

Если вы хотите найти и заменить шаблон во всем файле, используйте символ процента % в качестве диапазона. Этот символ указывает диапазон от первой до последней строки файла:

:%s/foo/bar/g

Если {string} опущена, она рассматривается как пустая строка, и соответствующий шаблон удаляется. Следующая команда удаляет все экземпляры строки ‘foo’ в текущей строке:

:s/foo//g

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

:s|foo|bar|

Для подтверждения каждой замены используйте cфлаг:

:s/foo/bar/gc
replace with bar (y/n/a/q/l/^E/^Y)?

Нажмите, yчтобы заменить совпадение, или l чтобы заменить совпадение и выйти. Нажмите, nчтобы пропустить матч, q или Esc, чтобы выйти из замены. Вариант a заменяет совпадение и все остальные вхождения. Для прокрутки экрана вниз используйте CTRL+Y, а для прокрутки вверх используйте CTRL+E.

Вы также можете использовать регулярные выражения в качестве шаблона поиска. Приведенная ниже команда заменяет все строки, начинающиеся с ‘foo’, на ‘Vim is the best’:

:%s/^foo.*/Vim is the best/gc

Символ ^(каретка) соответствует началу строки и .* соответствует любому количеству любых символов.

Начнем с примера

Типичная сессия работы с Vim выглядит так:

#vim httpd.conf

В открывшемся редакторе:

/SSLVerif
nwr1ZZ

В данном случае задачей было изменить значение определенного параметра конфигурации apache. В обычном редакторе подобный результат достигается следующими действиями:

  • Открыть файл «httpd.conf»
  • Открыть диалог поиска
  • Ввести «SSLVerif».
  • С помощью кнопки «Далее», перейти ко второму по счету вхождению искомой строки.
  • Поставить курсор в нужном месте
  • Удалить «0» и напечатать «1»
  • Сохранить изменения
  • Закрыть файл

Объяснение команд VIM:

  • / — Перейти в режим поиска
  • Kлавиша Enter — Искать’.
  • n — Перейти к следующему вхождению искомой строки
  • w — Переместить курсор к следующему слову
  • r — Заменить знак под курсором
  • ZZ — Сохранить изменения и выйти
  • ZQ — Выйти без сохранения изменений

Отличия от Vi

В сравнении с классическим vi Vim отличается следующими улучшениями:

  • Работа со многими файлами одновременно. Разбиение окон редактирования может производиться многократно как по горизонтали, так и по вертикали.
  • Поддержка Unicode.
  • Поддержка визуального режима, который позволяет, например, выполнять операции над блоками текста.
  • Неограниченная глубина отмены (undo) и возврата (redo) действий.
  • Режим сравнения двух файлов, перенос отдельных изменений из одного файла в другой.
  • Широкая файловая поддержка (файл со справкой и более 200 файлов с описанием синтаксиса).
  • Подсветка синтаксиса, автоматическое определение величины отступа для каждой строки в зависимости от языка программирования (изначально поддерживает более 200 языков программирования и форматов конфигурационных файлов).
  • Интеграция с операционной системой, дающая возможности, близкие к интегрированным средам разработки, такие как поиск ошибки по сообщению компилятора, автодополнение идентификаторов и др.
  • Поддержка языка сценариев; возможность написания модулей расширения — плагинов.
  • Автоматическое продолжение команд, слов, строк целиком и имён файлов.
  • Автоматический вызов внешних команд (например, автоматическая распаковка файла перед редактированием).
  • Распознавание и преобразование файлов различных форматов.
  • Удобный механизм истории команд, поисковых слов и т. д.
  • Запись и исполнение макросов.
  • Возможность сохранения настроек и сеанса.
  • Возможна интеграция с языками программирования Perl, Tcl, Python и Ruby.
  • Поддержка языков с письмом справа налево (арабских и других).
  • Сворачивание (folding) текста для лучшего обзора.
  • Возможно использование графического интерфейса в специальных версиях (GTK, Motif, …).
  • Хорошо конфигурируется и настраивается под нужды пользователя.
  • Для программистов: поддержка цикла разработки «редактирование — компиляция — исправление» программ. Автоматическое выполнение сборки/компиляции, обнаружение и распознавание ошибок, переход к строкам ошибок в тексте программы.
  • Для поклонников vi: практически стопроцентная совместимость с vi.

Проверка орфографии

Пользовательское меню

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

set wildmenu
set wcm=<Tab>
" проверка орфографии:
menu SetSpell.ru  :set spl=ru spell<CR>
menu SetSpell.en  :set spl=en spell<CR>
menu SetSpell.off :set nospell<CR>
map <F7> :emenu SetSpell.<Tab>
" выбор альтернатив:
imap <F8> <Esc> z=<CR>i
map <F8> z=<CR>

Здесь, по вызывается подменю: проверить орфографию русского языка [], проверить орфографию английского языка [] или отключить проверку орфографии [].

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

Наводим курсор на выбранное слово (или подсвеченное проверкой орфографии слово)
Нажимаем и видим список альтернатив

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

Последовательность: <одна-или-две-цифры>

Как это работает?

Попробуйте на примере слова «Шпоргалка».

  • Откройте Vim, перейдите в режим редактирования и наберите слово «Шпоргалка».
  • Выйдите из режима редактирования в командный режим (обычно, )
  • Установите курсор на слово «Шпоргалка»
  • Нажмите последовательно два символа «» и «» (два символа: )
  • Как результат, вы должны увидеть экран с альтернативами, подобранными для слова под курсором. Нажатие любой клавиши скроет этот экран, но безопасными и не оставляющими следов в буфере клавиатуры будут либо , либо .
  • Запоминаем, что хорошей альтернативой слову «Шпоргалка» было слово «Шпаргалка», под номером «».
  • А теперь магия! Нажимаем последовательно три символа: «», «» и «» (три символа: )
  • Слово под курсором «Шпоргалка» заменено на «Шпаргалка».
  • С использованием пользовательского меню, операция будет выглядеть, как три нажатия на кнопки: .

Теперь мы с вами знаем, что если навести на слово «Шпоргалка» курсор и нажать три магических символа ,то ошибочное слово будет волшебным образом заменено на правильное («Шпаргалка»). А если нажать четыре магических символа ,то слово «Шпоргалка» под курсором будет волшебным образом заменено, скорее всего, на слово «Прогулка» (это если у вас стоят словари той же версии, что и у меня).

А теперь, самая главная тайна:

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

На всякий случай, напоминаю, что выход без сохранения изменений:

:q!<Enter>

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

:x<Enter>

Особенности и улучшения по сравнению с vi [ править ]

Vim имеет режим совместимости с vi, но когда этот режим не используется, Vim имеет много улучшений по сравнению с vi. Однако даже в режиме совместимости Vim не полностью совместим с vi, как определено в спецификации Single Unix и POSIX (например, Vim не поддерживает открытый режим vi, только визуальный режим). Разработчики Vim заявляют, что он «полностью совместим с Vi».

Файловый менеджер внутри vim

Некоторые из улучшений Vim включают завершение , сравнение и объединение файлов (известное как vimdiff), комплексную интегрированную справочную систему, расширенные регулярные выражения , языки сценариев (как собственные, так и через альтернативные интерпретаторы сценариев, такие как Perl, Python, Ruby, Tcl и т. Д.) ), включая поддержку плагинов , графический интерфейс пользователя (известный как gvim), ограниченные возможности интегрированной среды разработки , взаимодействие с мышью (как с графическим интерфейсом пользователя, так и без него), свертывание , редактирование сжатых или заархивированных файлов в gzip , bzip2, zip и tar , а также файлы по сетевым протоколам, таким как SSH , FTP и HTTP , сохранение состояния сеанса, проверка орфографии , разделение (горизонтальное и вертикальное) и окна с вкладками, поддержка Unicode и других языков, подсветка синтаксиса , перевод команда сеанса, история поиска и положения курсора , многоуровневая и ветвящаяся история отмены / повтора, которая может сохраняться в сеансах редактирования, и визуальный режим.

Во время работы Vim сохраняет изменения пользователя в файле подкачки с расширением «.swp» . Файл подкачки можно использовать для восстановления после сбоя. Если пользователь пытается открыть файл, а файл подкачки уже существует, Vim предупредит пользователя, и, если пользователь продолжит, Vim будет использовать файл подкачки с расширением «.swo» (или, если уже существует более одного файл подкачки, «.swn», «.swm» и т. д.). Эту функцию можно отключить.

: команда версии отображает флаги компиляции (поддерживаемые функции)

2.5 Как постоянно отображать номер строки в vim?

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

Итак, как нам позволить нам автоматически устанавливать номер строки каждый раз, когда мы открываем vim, на этот раз нам нужно установить файл конфигурации, два метода конфигурации

  • / etc / vimrc — общесистемная начальная конфигурация

  • ~ / .Vimrc Персональная конфигурация инициализации vim

Здесь мы устанавливаем личную конфигурацию, вводим vim ~ / .vimrc непосредственно в терминале, и затем мы можем войти в файл конфигурации

Используйте vi для редактирования файла ~ / .vimrc или файла / etc / vimrc, добавьте в файл строку «set nu» и добавьте содержимое без кавычек. Команда выглядит следующим образом:

Затем введите: wq, чтобы сохранить файл и выйти

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

Функции

Функции очень полезны в файле .vimrc. Так как конфигурационные файлы Vim используют полноценный язык программирования, с этого момента, я буду называть его своим настоящим именем: VimScript.

Для определения функции в VimScript, используйте:

Мне нравится обычная нумерация и относительная нумерация, но бывают моменты, когда относительную нумерация не нужна. Каждый раз печатать полную команду :set norelativenumber или даже :set relativenumber!, утомительно. Нам бы пригодилась функция для включения и выключения.

Вызвать функцию можно командой :call.

Команда function не позволяет вам переписать уже существующую функцию. Если эта функция уже где-то была определена, или вы попробовали перезагрузить файл, Vim покажет ошибку и перестанет обрабатывать файл на этом месте. Команду function! позволяет переписать функцию без ошибок. Это хорошая практика в VimScript, всегда использовать function!.

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

Для передачи параметров функции, вам нужно указать имя переменной внутри скобок. К примеру:

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

Советы и рекомендации

Нумерация строк

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

Переход к новой строке осуществляется посредством или . Все переходы запоминаются в лист переходов, для более подробной информации смотрите .

Проверка орфографии

Проверку орфографии в Vim можно включить с помощью:

set spell
Действие Команда
следующая ошибка
предыдущая ошибка
предложения для исправления
добавить правильное написание
добавить правильное написание (на сеанс)
добавить неправильное написание
добавить неправильное написание (на сеанс)
повторить проверку орфографии во всем файле

Совет:

  • Чтобы включить проверку сразу для двух языков (например, английского и русского), добавьте в или и перезапустите Vim.
  • Вы можете включить проверку орфографии для конкретных типов файлов (например .txt), используя плагин FileType и собственное правило для определения типа файла. Чтобы включить проверку орфографии для всех файлов, оканчивающихся на .txt, создайте файл и вставьте туда строку: . Далее, вставьте строку в файл или и перезапустите Vim. Или поместите строку в или и перезапустите Vim. Не забудьте отредактировать строчку (specifically ), чтобы включить соответствующие типы файлов для проверки орфографии.
  • Чтобы включить проверку орфографии только для документов LaTeX (или TeX), добавьте в файл или и перезапустите Vim.

Запуск Vim по команде vi

Создайте для на .

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

Возврат каретки DOS/Windows

Если вы видите последовательность в конце каждой линии, это означает, что вы редактируете текстовый файл, который был создан в MS-DOS или Windows. Дело в том, что в Linux для переноса принято использовать один символ новой строки (LR), тогда как в системах Windows/MS DOS для той же цели используется последовательность из двух символов: возврата каретки (CR) и новой строки (LR). Как раз эти символы возврата каретки и отображаются в виде .

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

:%s/^M//g

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

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

Примечание: Другой простой способ заключается в изменении опции . Используйте для преобразования файлов с окончанием строки DOS/Windows в файлы с окончанием строки Unix. Для того, чтобы сделать обратное, просто используйте .

Пустое пространство в нижней части окон gVim

Когда используется оконный менеджер, настроенный на игнорирование размеров окна, gVim заполняет неиспользованные области окна стандартным фоновым цветом темы GTK.

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

set guiheadroom=0

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

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

Вы можете искать интересующий вас текст используя команду в командном режиме. Напечатав /This, вы увидите что все слова This подсвечиваются, в примере ниже.

Поиск

Нажав n, вы переместитесь к следующему вхождению поискового паттерна. Используя N, вы попадёте на предыдущее вхождение. Паттерн, который вы указываете после может быть любым регулярным выражением. Почитайте статью Advanced search and Replace with RegEx для лучшего понимания принципов работы с регулярными выражениями.

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

Следующий формат / / /gi в котором и являются стандартными регулярными выражениями. В примере выше, я заменяю каждое вхождение слова This на That. Флаг i после g, делает поиск нечувствительным к регистру, в свою очередь I сделает поиск чувствительным к регистру. Флаг g делает замену глобальной. без этого флага замена выполнится лишь один раз, для строки.

Основы режимов Vim

В Vim есть четыре режима: Командный, Текстовый (иногда его называют режим вставки), Визуальный и режим командной строки. Текущий режим показывает своё название в нижнем левом углу статусной строки.

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

Vim переключается в текстовый режим когда вы нажимаете a, A, i, I, o или O. Как только вы окажитесь в текстовом режиме, редактор будет находится в этом режиме, до тех пор пока вы не нажмёте кнопку Esc. Любая другая нажатая вами кнопка будет непосредственно вводиться в файл, в то место где в данный момент находится курсор.

Визуальный режим активируется когда вы используете v, V и Ctrl-v, команды в командном режиме. В Визуальном режиме вы можете выделить текст. В то время когда вы используете команды навигации область от того места где вы переключились в визуальный режим будет выделяться, до момента пока вы не покинете визуальный режим.

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: