Знаете ли вы, что Vim может отображать абсолютные, относительные и гибридные номера строк? Вот как это настроить.
Vim — замечательный редактор, который полюбился большинству системных администраторов Linux/UNIX и используется им каждый день.
Вы можете подумать: «Я бы немедленно переключился на Vim, если бы Vim мог показывать мне номера строк». Что ж, считайте, что сделано.
Чтобы отобразить номера строк в Vim, войдите в командный режим, нажав клавишу Esc, и используйте:
:set number!
Эта !часть необходима.
Легко, верно? Давайте посмотрим на это в деталях и на примерах.
На самом деле в Vim можно отобразить три вида номеров строк:
- Абсолютные номера строк
- Относительные номера строк
- Гибридные номера линий
Любопытно? Давайте рассмотрим более подробно.
Показать абсолютные номера строк в Vim
Абсолютные номера строк — это то, что вы найдете почти во всех IDE. Он начинается с 1 и заканчивается номером последней строки.
И есть два способа включить это.
Установить параметр из активного сеанса Vim
- Убедитесь, что вы находитесь в командном режиме. Вы можете переключиться в командный режим, нажав клавишу Escape (Esc).
- Нажмите клавишу ‘:’ (двоеточие). В левом нижнем углу Vim должен быть напечатан символ двоеточия. Теперь введите «set number», или вы можете ввести «set nu» (для краткости) и нажать клавишу «Enter».
Теперь вы должны увидеть номера строк в левой части окна.
По любой причине, если вам это не нравится, вы можете отключить его с помощью команды ‘:set nonumber’ или с помощью команды ‘set nonu’ для краткости.
Сделайте его постоянным, сохранив его в vimrc
Если вы хотите, чтобы изменения были постоянными, вы можете сохранить свои настройки в файле .vimrc, который находится в домашнем каталоге вашего пользователя.
- Откройте файл .vimrc в своем любимом текстовом редакторе .vim ~/.vimrc
- Введите «set number» и «: wq» из него.
В следующий раз, когда вы откроете Vim, вы всегда будете видеть абсолютные номера строк в Vim.
Если вы больше не хотите их иметь, просто удалите строку «set number» из файла «.vimrc» вашего пользователя.
Показать относительные номера строк в Vim
Когда у вас включены относительные номера строк, это означает, что строка, на которой вы сейчас находитесь, имеет номер строки 0, а строки выше и ниже курсора имеют последовательные номера 1, 2, 3.
Это особенно полезно, потому что перемещение курсора вверх и вниз на x строк становится проще. Вам не нужно выполнять математические вычисления в уме, вычитая номер текущей строки из номера строки, и вы можете легко перейти к определенной строке в Vim.
Отображение относительных номеров строк в Vim из активного сеанса Vim
- Убедитесь, что вы находитесь в командном режиме. Вы можете переключиться в командный режим, нажав клавишу Escape (Esc).
- Нажмите клавишу ‘:’ (двоеточие). В левом нижнем углу Vim должен быть напечатан символ двоеточия. Теперь введите «set relativenumbe», или вы можете ввести «set rnu» (для краткости) и нажать клавишу Enter.
Вы увидите относительные номера строк выше и ниже строки, на которой находится ваш курсор.
По любой причине, если вам это не нравится, вы можете отключить относительную нумерацию строк, используя команду ‘:set norelativenumber’ или, для краткости, команду ‘set nornu’. Это полностью отключит левый столбец, в котором отображаются номера строк.
Тот же изящный прием применим и к relativenumber: если относительные номера строк отключены, вы можете включить их с помощью ‘:set relativenumber!’ или с помощью ‘:set rnu!’ команда короче. Если относительные номера строк уже включены, установка этого параметра отключит относительные номера строк.
Всегда показывать относительные номера строк в Vim
Вы попробовали относительные номера строк, и вам это понравилось. Вы задаетесь вопросом, как сделать это изменение постоянным, вместо того, чтобы вводить ‘:set relativenumber’ каждый раз, когда вы открываете Vim.
Чтобы сделать это постоянным, вам нужно установить эту опцию в файле ‘vimrc’ вашего пользователя.
- Откройте файл .vimrc с помощью Vim:vim ~/.vimrc
- Введите set relativenumber в .vimrc, сохраните и выйдите из него.
Теперь, когда вы откроете Vim, у вас всегда будут включены относительные номера строк.
В любом случае, если вы хотите отменить это поведение, вы должны удалить строку с надписью «установить относительный номер» из файла «.vimrc» вашего пользователя.
Показать номера гибридных линий
Гибридные номера строк представляют собой смесь абсолютных и относительных номеров строк. Когда режим гибридной нумерации включен, строка, на которой в данный момент находится ваш курсор, будет иметь абсолютный номер, а все остальные строки будут иметь относительные номера.
На наш взгляд, это лучшее из обоих миров, когда вы хотите знать номер строки, над которой вы работаете, а также видеть относительные числа выше и ниже текущей строки.
Установить параметр из активного сеанса Vim
Если вы хотите временно включить/отключить гибридные номера линий, выполните следующие действия:
- Использование команд требует, чтобы вы находились в обычном режиме, поэтому убедитесь, что вы находитесь в обычном режиме.
- Начните писать команду, нажав клавишу ‘:’ (двоеточие). Это позволит Vim узнать, что вы вводите команду. Теперь введите «установить число относительного числа».
После переключения вы увидите, что строка, на которой находится ваш курсор, имеет абсолютный номер строки, а остальные строки имеют относительный номер строки.
Чтобы отключить гибридный режим, вам нужно отключить обе нумерации, набрав :set nonumber norelativenumber.
Сохранить настройки в vimrc
После того, как вы попробуете гибридный режим и он вам понравится, вы захотите установить его в качестве параметра по умолчанию. Для этого вам нужно установить его в файле vimrc вашего пользователя. Ниже приведены шаги для этого.
- Откройте файл «.vimrc» в вашем любимом редакторе —vim ~/.vimrc
- Введите set number relativenumberстроку и сохраните ее.
Это сделает изменения постоянными.
При любых обстоятельствах, когда вам больше не нужна гибридная нумерация строк, просто удалите строку set number relativenumberиз ‘vimrc’ вашего пользователя.
Дополнительное примечание к файлу ‘vimrc’
Предположим, что ваше локальное имя пользователя — «andreyex». Если вы указали свои предпочтения в ‘/home/andreyex/.vimrc’, ваши предпочтения будут учитываться, только если вы откроете Vim как пользователь ‘andreyex’.
Если вы попробуете «sudo vim /etc/ssh/sshd_config», вы откроете Vim как суперпользователь, который не является пользователем «andreyex», поэтому в этом случае ваши настройки по умолчанию не будут отражены в текущем сеансе Vim.
Заключение
Что касается номеров строк, Vim предоставляет два дополнительных режима, которые подходят для пользователей Vim. Нам нравятся гибридные номера строк, потому что они помогают мне быстрее двигаться в Vim, показывая при этом фактические номера строк.