Поиск по сайту:

Определите отличный профиль Vim, используя .vimrc


Vim — это расширенный текстовый редактор для операционных систем Linux и Unix. Недавно признанный редактором Linux № 1 в мире, Vim является бесплатным и открытым исходным кодом. Эта статья покажет вам, как создать отличный профиль .vimrc.

Что такое Вим?

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

Брэм Муленаар создал Vim, популярный редактор для терминала Linux, в 1991 году. текстовый редактор старой школы для Unix, разработанный в 1976 году. Популярность Vim значительно возросла, и недавно крупный Linux-форум назвал этот редактор лучшим в мире редактором Linux. Vim обычно предустановлен в качестве редактора по умолчанию во многих дистрибутивах Linux.

Vim позволяет пользователям редактировать файлы в двух режимах: режиме редактирования и командном режиме, если хотите, что, вероятно, усложняет навигацию в Vim для новых пользователей. Пользователи, вероятно, привыкли находиться в режиме редактирования в большинстве других популярных текстовых редакторов (программа записи OpenOffice и т. д.), но не в командном режиме. А командный режим — это режим по умолчанию, в котором запускается Vim.

Например, если вы откроете файл в Vim (используя команду в терминале, такую как vi my_story.txt), вы войдете в Vim в командном режиме. Теперь вы можете ввести букву i (команда vi), чтобы войти в режим редактирования (или, в частности, в данном случае insert) (-- INSERT -- обычно появляется в последней строке терминала, чтобы выделить режим, в котором вы находитесь) и начните вводить тест. Когда вы закончите, вы нажмете ESC (клавиша выхода), чтобы вернуться в командный режим.

Затем вы можете снова войти в режим редактирования, например, связав a (другая команда vi), чтобы снова войти в режим редактирования (a в этом случае означает append и курсор переместится на один символ вправо при входе в режим редактирования с использованием a вместо i). Закончив редактирование (которое предоставляет все возможности редактирования, такие как нажатие курсора вверх/вниз, курсор влево/вправо и т. д.), вы можете снова нажать ESC для возврата в командный режим.

Когда вы закончите полное редактирование файла, убедитесь, что вы находитесь в командном режиме (нажмите клавишу ESC еще раз, чтобы убедиться, хотите ли вы) и введите последовательность клавиш :wq! . Это запишет (w) файл и завершит работу (q). Если вы никогда раньше не использовали Vim, то молодцы! Это был ваш первый сеанс Vim ;)

Редактор Vim — один из немногих редакторов с такой острой кривой начального обучения. Однако после первоначального обучения знания о командах редактора и их использовании продолжают расти вместе с человеком с течением времени в более или менее линейном формате. Я пишу все свои сценарии, статьи и обработку данных в Vim, используя его в сочетании с AutoKey, чтобы легко вставлять свой шаблон и HTML-теги там, где это необходимо.

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

Определение отличного профиля .vimrc

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

Одна из вещей, которую вы можете увидеть (особенно в Mint 19 и некоторых более старых версиях Ubuntu), заключается в том, что когда вы нажимаете курсор вправо, вам нужно нажать другую клавишу, чтобы курсор действительно прыгнул, и это особенно вокруг выделенного Синтаксис /colored (например, в сценариях оболочки). Еще одна странность — странное поведение при щелчках мышью или при использовании вкладок.

Если вы видите какие-либо из этих или подобных странностей, самое время настроить отличный профиль .vimrc по умолчанию. Файл/профиль .vimrc содержит все настройки, которые Vim будет считывать и использовать при каждом запуске. За годы использования Vim, и особенно в то время, когда я зарегистрировал ошибку для одного из этих странных элементов поведения, я создал короткий профиль .vimrc, который сводит на нет эти проблемы.

Файл .vimrc будет и должен храниться в вашем домашнем каталоге. Давайте создадим файл, используя сам vim. Обратите внимание, что обычно вы можете использовать vi для запуска vim. Сначала мы открываем файл .vimrc в нашем домашнем каталоге (который в Linux представлен символом тильда, т. е. символом ~), выполнив :

vi ~/.vimrc

В командной строке. Это должно вызвать редактор Vim. Теперь нажмите клавишу i, чтобы войти в режим редактирования/вставки. Когда вы видите -- INSERT -- в последней строке вашего терминала (отображается в большинстве случаев), вы знаете, что находитесь в режиме вставки. Затем скопируйте и вставьте блок текста ниже и щелкните правой кнопкой мыши в окне терминала, где работает Vim. Затем нажмите Вставить.

set nocompatible
colo torte
syntax on
set tabstop     =2
set softtabstop =2
set shiftwidth  =2
set expandtab

Теперь вы должны увидеть экран, подобный следующему:

Если вы обычно используете четыре пробела вместо двух (для написания кода), просто замените все =2 на =4.

Теперь нажмите ESC, чтобы выйти из режима редактирования, а затем введите последовательность клавиш, которую вы видели ранее: :wq!. Это запишет файл ~/.vimrc и закроет редактор Vim. Если вы хотите проверить содержимое файла, вы можете выполнить cat ~/.vimrc в командной строке.

При следующем входе в Vim Vim автоматически загрузит все эти настройки из вашего файла ~/.vimrc.

Помимо установки красивой цветовой схемы с помощью команды color torte, мы также включаем подсветку синтаксиса с помощью syntax on. Мы установили некоторые лучшие параметры обработки ширины табуляции (как правило, указывая, что мы хотим два или четыре пробела, как описано выше, в качестве табуляции).

Обратите внимание, что цветовая схема torte недоступна в Linux Mint 20.1, хотя она доступна в некоторых более ранних выпусках Mint. Если это применимо к вашей системе, вы получите сообщение с тем же эффектом. Просто нажмите Enter и отредактируйте ~/.vimrc, чтобы удалить эту строку.

Параметр set expandtab специально гарантирует, что всякий раз, когда мы нажимаем tab, он будет автоматически переводиться в пробелы. Вы можете удалить эту строку, если она вам не нравится (совет: используйте для этого Vim, и вы можете нажать dd на строке в режиме редактирования, чтобы удалить всю строку, даже не входя в режим редактирования).

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

В Интернете обсуждается предполагаемая необходимость не устанавливать этот параметр, потому что этот параметр считается автоматически включенным, как только используется файл .vimrc, однако его установка гарантирует, что этот параметр активен, и нет никаких негативных последствий. побочный эффект от его установки [снова]. Другими словами, существует потенциальная выгода в том, чтобы определить его жестко/статически, тогда как в этом нет недостатка.

Подведение итогов

Эта статья поместила Vim и Vi в исторический контекст и описала их популярность. После этого мы представили небольшое введение в режимы редактирования и команд в Vim и рассмотрели создание файла настроек ~/.vimrc для Vim, который обеспечит значительно улучшенный пользовательский интерфейс Vim за счет изменения ширины табуляции, настройки пространства, подсветку синтаксиса, настройку цветовой схемы и, что наиболее важно, предотвращение ошибочного/непонятного поведения Vim в различных дистрибутивах Linux.

Наслаждайтесь!