LINUX.ORG.RU

vim для самых маленьких

 , ,

vim для самых маленьких

27

8

Основные команды текстового редактора vim

Итак, в вашей жизни случилось так, что вам нужно отредактировать какой-нибудь файл конфигурации, заполнить комментарий коммита git или написать подобную заметку с использованием разметки markdown. И в вашем распоряжении оказался редактор vim или vi то откройте терминал и введите vimtutor и не читайте дальше эту простыню. Мотайте в самый низ, если вам нужно просто открыть, отредактировать, закрыть файл и забыть.

Для базового взаимодействия с этим мощным редактором нужно знать что…

В редакторе есть два режима — обычный и режим ввода:

  • esc переводит вас в командный режим из режима ввода;
  • i или a переводит вас из командного режима в режим ввода.

В режиме ввода вы просто редактируете текст, как в любом текстовом редакторе.

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

Командный режим делится на:

  • клавиатурный, то есть после нажатия Esc вся клавиатура превращается в набор хоткеев;
  • режим командной строки, когда вы вводите текстовые команды которые исполняет редактор.

В клавиатурном режиме вы можете например нажать:

  • dd тем самым удалив строку на котором есть курсор;
  • u отмотать редактирование назад.

Команды выделения, копирования и вставки:

  • ctrl + v или shift + v выделить текст;
  • y скопировать выделенный текст;
  • p вставить выделенный текст.

Так, как описано выше, копирование и вставка работают только внутри vim.

Внешний текст вы можете вставить, нажав на колёсико мышки. Или:

  • esc — переходим в командный режим;
  • жмём shift + ", затем жмём отдельно клавишу +, затем отдельно p.

Для копирования в системный буфер обмена — то же самое с y в конце:

  • esc переходим в командный режим;
  • Вместе жмём shift и " затем жмём отдельно клавишу + затем отдельно y

Символ " там где буква э. По описанию сложно, на деле всё нажимается легко.

В режим командной строки перейти надо так:

  • нажать esc;
  • затем нажать shift + ; (там где буква ж)

Теперь можно ввести команды:

  • e имя_файла.txt создать и открыть для редактирования новый файл e (от слова edit, редактировать — понимание того, как образуются сокращения поможет вам в запоминании и вспоминании команд);
  • set syntax=on включить подсветку кода;
  • set mouse=a включить полную поддержку мыши;
  • vs разделить окно вертикально;
  • sp разделить окно горизонтально;

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

  • q закрыть текущий файл или/и разделённую область редактирования.
  • ter открыть терминал прямо в редакторе.
  • !command запустить программу прямо из редактора например !ls.

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

  • esc;
  • shift + ; (там где буква ж)
  • e list.txt или просто нажать клавишу e на клавиатуре, а не вводить команду e list.txt.
  • .!ls вставить вывод команды в файл в строку с курсором с заменой строки если она что-то содержала.
  • 4!ls тоже самое что выше, но вы явно указываете строку в которую надо вставить, тут в четвёртую.
  • +!ls тоже самое, но вставить на строку выше чем там где курсор.
  • -!ls тоже самое, но на строку ниже чем там где курсор.
  • %!ls вставить вывод команды в файл с перезапись всего файла.
  • wq list.txt или просто wq если до этого указывали имя файла, а не входили в режим редактирования просто клавишей e

Символ % обозначает текущий редактируемый буфер. Нажатие клавиши е означает вход режим редактирования файла без имени. Тут ls для примера, модно использовать date, pwd и любое иное не интерактивное. Можно комбинировать как в терминале

  • %!date && uptime && uname -a && echo "hello lor"

Ну и самое важное:

  • w сохранить в ткущий файл;
  • w filename сохранить в конкретный файл;
  • wq сохранить файл и выйти;
  • q! принудительно выйти без сохранения;

Любые настройки вы можете внести в свой конфигурационный файл ~/.vimrc

Например:

"так тут пишут комментарии
set syntax=on "включить подсветку синтаксиса
set mouse=a   "включить полную поддержку мыши
set list "отображать спец символы
set listchars=tab:►·,eol:·,trail:↔ "табы ,конец строки, пробелы

"можно программировать и вызывать другие программы
"это пример простой функции
function Hello()
    exec('silent !notify-send hello бугагашенька')
endfunction

"по клавише F2 на рабочем столе будет уведомление
nnoremap <F2> :call Hello()<CR>
inoremap <F2> :call Hello()<CR>

"И многое другое 

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

  • esc
  • shift + ; (там где буква ж)
  • so % или so ~/.vimrc. so сокращение от source исходник по нашему.

Затем нажмите F2 и на рабочем столе выскочит уведомление. Если не выскочило то значит не установлен notify-send (в качестве домашнего задания заставьте всё работать). Также вы можете сохранять файлы по своим горячим кнопкам, например, F5, если вы геймер =) Но для этого нужно отредактировать пример выше, пусть это тоже будет домашним заданием.

Всё описано в огромной документации:

  • esc;
  • shift + ; (там где буква ж)
  • h ;
  • Enter;

…которая всё же сложна для чтения. На первых порах просто ищите, как сделать желаемое, в интернете или через поиск на этом форуме.

Это не просто конфигурационный файл, а целый исходный файл скриптового языка программирования VimL и описывая настройки редактора, вы программируете его.
Впрочем, за этим дуйте в интернет.

Быстрый, базовый поиск:

  • esc;
  • /
  • Далее вводите то что хотите найти
  • Enter

Сброс подсветки найденного. К примеру

  • esc
  • /
  • набрать тарабарщину типа asdfsf (тупо, но я использую это, потому что быстро)
  • Enter
  • esc
  • shift + ;
  • noh
  • Enter

Быстрый переход к нужной строке в файле.

  • esc
  • shift + ;
  • номер строки
  • Enter

Быстрая, простая, замена текста.

  • esc
  • shift + ;
    • s/что-ищем/на-что-заменить/ замена только одного совпадения и только в строке на котором курсор.
    • s/что-ищем/на-что-заменить/g замена всех совпадений, но только в строке на котором курсор.
    • %s/что-ищем/на-что-заменить/g замена всех совпадений во всём файле.
  • Enter

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


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

  • vim /путь/до/файла/имя_файла;
  • i вход в режим редактирования. Меняйте текст как вам надо;
  • esc выход из режима редактирования;
  • shift + ; вызов командной строки, то что ниже вписывается именно в неё;
  • wq сохранить и выйти;
  • wq! если для сохранения нет прав то всё равно выйти (когда забыли sudo перед vim);
  • q! выйти без сохранения (когда что-то напортачили и испугались);

Всё!


★★★★★

Проверено: hobbit ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 29)
Ответ на: комментарий от sluggard

Согласен. Причем в отличие от этой статьи в vimtutor меньше воды. Зачем такая статья как здесь ? Вроде не минимум (много лишнего) а до полной картины как до луны.

mx__ ★★★★★
()

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

vim /путь/до/файла/имя_файла;

На всякий случай. В раутерах vim нет а есть только vi.

mx__ ★★★★★
()

wq! если для сохранения нет прав то всё равно выйти (когда забыли sudo перед vim);

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

mx__ ★★★★★
()
Ответ на: комментарий от dimgel

shift zz удобнее чем :wq enter, ИМХО.

Если что то как правило с vim можно говорить (писать словами и предложениями) это бывает дольше но не нужно помнить.

  • :
  • write
  • quit

(там еще дополненение через tab пашет)

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)

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

flant ★★★★
()
Последнее исправление: flant (всего исправлений: 1)
Ответ на: комментарий от flant

На каком языке? Обычно настолько длинные строки моветон в любом языке программирования. И лично с проблемами подсветки длинных строк не сталкивался.

Хотя если где-то в коде пишут строки длиной 300 символов или больше, это на 99% признак того, что из конторы с такими коллегами надо бежать. В 100% случаев, когда с таким сталкивался, это было не от большого ума.

Но сейчас в nvim можно подключить treesitter, который более корректно понимает и подсвечивает синтаксис. Возможно, в vim тоже подключается. Я себе установил, т.к. с treesitter подсветка в сложных случаях корректнее, и он расцвечивает больше «частей речи», т.к. это не примитивные регекспы, а полноценное понимание синтаксиса.

Возможно, и с длинными строками решает.

emorozov
()
Ответ на: комментарий от mx__

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

:w !sudo tee %

emorozov
()
Ответ на: комментарий от einhander

Довольно частое явление - правая рука на мыши, левая жмёт хоткеи на левой части клавиатуры.

Вот для таких sam намного удобнее, чем vim или emacs.

monk ★★★★★
()
Ответ на: комментарий от emorozov

А там что ограничение на 300 символов ? Решил сейчас глянуть где есть длинные строки, все там светится. (я не зря писал про навигацию в этих строках по hjkl)

mx__ ★★★★★
()

В интернете слишком много статей вроде этой — для начинающих, чайников, самых маленьких, и т.д., и слишком мало статей для «весьма продвинутых, но пока не гуру». Я не только про вим, это в принципе общая тенденция.

Не в упрёк ТС — на ЛОРе оно тоже нужно. Просто мысли вслух.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от mx__

А там что ограничение на 300 символов ? Решил сейчас глянуть где есть длинные строки, все там светится. (я не зря писал про навигацию в этих строках по hjkl)

Нет никаких ограничений вроде. Просто строки по 300 символов в коде обычно пишут не от большого ума.

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

emorozov
()
Ответ на: комментарий от CrX

В интернете слишком много статей вроде этой — для начинающих, чайников, самых маленьких, и т.д., и слишком мало статей для «весьма продвинутых, но пока не гуру». Я не только про вим, это в принципе общая тенденция.

Согласен, большинство статей о vim для новичков, сводятся к: «Ой, vim — это такой олдовый круторй редактор. Смотрите, в нём можно двигаться не стрелочками, а hjkl. И в нём два режима!»

Большинство новичков: «WTF? И в чём смысл и удобство? Пойду-ка я запущу свой у*&бищный nano или mcedit».

Я сам учился по подобным статьям, и когда узнавал самостоятельно про штуки типа ci(, dt", и т.д и т.п., то просто фалломорфировал от того, что несколько лет пользовался vim, но не использовал даже 1% от того, что в нём есть.

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

emorozov
()
Ответ на: комментарий от monk

Заметь ctrl+c,v сделано именно под этот стиль работы. Но мне больше нравится ctrl,shift+ins. Даже с вимом им пользуюсь.

Вот для таких sam намного удобнее

Тут много софта, начиная с Ворда, и заканчивая Автокадом. Так что это стиль считается дефолтным.

einhander ★★★★★
()
Ответ на: комментарий от einhander

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

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

emorozov
()
Ответ на: комментарий от einhander

Тут много софта, начиная с Ворда

В ворде нельзя к помеченной области применить «| sort» не говоря уж о «найти по шаблону и обработать каждое вхождение командой». Даже команды «сдвинуть помеченное к концу абзаца» нет. Только «копировать/вставить/удалить». Но это и в vim есть.

monk ★★★★★
()
Ответ на: комментарий от emorozov

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

Крылья в виде vim’a))) Даже со слепым набором перемещение по тексту без vim было больно.

Единственный минус привыкаешь к клавиатуре, даже если она более-менее стандартна переход за другую клавиатуру вызывает сильный дискомфорт.

einhander ★★★★★
()
Ответ на: комментарий от einhander

Я про модель расположения пальцев/рук на клавиатуре, а не про возможности))

Ну, скорее модель расположения emacs и word близка. sam предполагает в общем случае многобуквенные команды к выделенному блоку.

monk ★★★★★
()
Ответ на: комментарий от einhander

Даже со слепым набором перемещение по тексту без vim было больно.

О, да! Как вспомнишь эти постоянные Ctrl-стрелочки, PgUp, PgDown, которые на всех клавиатурах разные, для которых надо снимать руки с домашнего ряда, и всякую прочую навигацию, которая в каждой IDE своя…

emorozov
()
Ответ на: комментарий от emorozov

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

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

monk ★★★★★
()
Ответ на: комментарий от emorozov

для которых надо снимать руки с домашнего ряда

Вот про это я и пишу. Если руки к домашнему ряду приклеены, то лучше vim. Иначе emacs.

monk ★★★★★
()
Ответ на: комментарий от monk

Вот про это я и пишу. Если руки к домашнему ряду приклеены, то лучше vim. Иначе emacs.

У меня было наоборот: сначала я научился печатать вслепую, затем перешёл на vim.

Причины было две:

  1. Сильная боль в запястьях в конце рабочего дня
  2. Отсутствие эмуляции Emacs в большинстве IDE/редакторов, поэтому когда надо было что-то сделать, что Emacs не умеет (а тогда он не умел очень многое, например, совершенно не умел понимать Javascript, боже упаси от HTML и Javascript в одном файле, не знаю, как сейчас), то ужасно ломало постоянно нажимать привычные сочетания и не получать результат.
emorozov
()
Ответ на: комментарий от emorozov

Нет никаких ограничений вроде.

Я написал про 300 потому что, открыл для примера строку в 150 символов (в две строки), и там проблем с подсветкой не было. Вот и подумал что такое проявляется что если строка больше 300 символов.

mx__ ★★★★★
()
Ответ на: комментарий от emorozov
  1. Это как раз следствие обучения. У меня так было пока следовал методичке обучения печати вслепую. Потом забил, но кнопки стараюсь нажимать по памяти, даже если одной рукой печатаю. А в основную позицию руки ставлю только когда надо напечатать абзац текста (как сейчас).

  2. Согласен. А ещё неудобство при работе через Telnet. И долгий запуск. Поэтому если надо что-то поправить (а не долго писать или перерабатывать), то использую vim. В Emacs надо работать как в ОС: если уж зашёл, то всё делать через него, благо eshell есть.

monk ★★★★★
()
Ответ на: комментарий от mx__

На всякий случай. В раутерах vim нет а есть только vi.

Кстати, регулярно использую в таких случаях nvim scp://root@host//путь/до/файла. Не только на роутерах. Например, чтобы не устанавливать современный vim/nvim со своими конфигами на какой-нибудь древний сервер с Cent OS 7.

emorozov
()
Ответ на: комментарий от emorozov

это питон и json массивы. treesitter интересно, попробую

flant ★★★★
()

ZZ/ZQ забыли :) Очень удобно.

yu-boot ★★★★★
()
Ответ на: комментарий от Gentooshnik

«Отдельно клавишу» не значит клавишу, где только «плюс». ТС пытался этим словосочетанием показать, что это не добавочное действие, а именно клавиша.

krasnh ★★★★
()

На скрине неработающий mapping режет глаз:

inoremap <F9> :call ToggleMenu()<CR>

Результатом нажатия будет совсем не вызов функции, а вставка :call ToggleMenu() в текст.

Надо либо

inoremap <F9> <ESC>:call ToggleMenu()<CR>

либо

inoremap <F9> <C-o>:call ToggleMenu()<CR>

либо в новых вимах

inoremap <F9> <cmd>call ToggleMenu()<CR>

https://asciinema.org/a/adx818UFwqpK8PHFGV9fceaHi

habamax ★★★
()

Кстати, я буду сильно удивлен если функция ToggleMenu рабочая.

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

exec('set guioptions+=m')

должен кидать ошибку.

тут либо

call exec('set guioptions+=m')

либо просто

set guioptions+=m

То есть:

function! ToggleMenu()
    if &guioptions =~ 'e'
        set guioptions+=m
        set guioptions-=e
    else
        set guioptions-=m
        set guioptions+=e
    endif
endfunction
habamax ★★★
()
Ответ на: комментарий от habamax

Рабочая, ещё к слову удобно.

function ToggleFullScreen()
    if &go =~ 'e'
        exec('silent !wmctrl -r :ACTIVE: -b add,fullscreen')
        exec('set go-=e')
    else
        exec('silent !wmctrl -r :ACTIVE: -b remove,fullscreen')
        exec('set go+=e')
    endif 
endfunction

nnoremap <F11> :call ToggleFullScreen()<CR>
inoremap <F11> :call ToggleFullScreen()<CR>

VIM - Vi IMproved 9.0 (2022 Jun 28, собрано Oct 20 2022 08:19:19)

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от habamax

Рабочее всё. Меню вызывается после ручного esc Я нажимал миллион раз наверное и только сейчас после твоих слов нажал первый раз в режиме редактирования. У меня рефлекс если хоткей перед ним esc я думал так у всех.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

У меня рефлекс если хоткей перед ним esc я думал так у всех

Тогда срабатывает первый мэппинг с nnoremap :)

Так что нет, inoremap не рабочий у тебя.

habamax ★★★
()
Ответ на: комментарий от LINUX-ORG-RU

ага, в этом варианте используется комманда, «оформленная» как функция, что сбило меня с толку.

Обычно это :exec 'silent !wmctrl -r :ACTIVE: -b add,fullscreen'

Есть функция execute(), с ней и спутал.

Тем не менее в коде на скрине лучше без этого, просто set guioptions-=...

Ну и в этом же коде exec не нужен:

function ToggleFullScreen()
    if &go =~ 'e'
        silent !wmctrl -r :ACTIVE: -b add,fullscreen
        set go-=e
    else
        silent !wmctrl -r :ACTIVE: -b remove,fullscreen
        set go+=e
    endif 
endfunction
habamax ★★★
()
Ответ на: комментарий от habamax

Да, спасибо, будет время почищу, я как лет 5 примерно настроил так всё и работает. Конфиг засран прилично, надо как-то время выделить да всё в порядок привести. Без exec если я не путаю оно не работало тогда, но может путаю. Принцип «настроил и забыл» и оно просто работает имеет побочный эффект ибо реально «забыл» почему так или иначе делал =) Может оно раньше по иному не работало, не помню. Но, работает же сейчас, так что по большей части надо правки вносить чисто для феншуя, но надо ибо бардак в конфиге =)

LINUX-ORG-RU ★★★★★
() автор топика

Для базового взаимодействия с этим мощным редактором нужно знать что…

В редакторе есть два режима — обычный и режим ввода:

Как минимум 7 режимов :h vim-modes:

Vim has seven BASIC modes:

...

There are seven ADDITIONAL modes.  These are variants of the BASIC modes:

Тут лучше бы сформулировать, что в редакторе есть несколько режимов. Наиболее часто используемые – командный (NORMAL) и ввод текста (INSERT).

habamax ★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Тем не менее всё работает.

inoremap не может работать в твоем случае. Все что замаплено через inoremap тригеррится в режиме вставки (INSERT). Если ты перед этим нажимаешь esc, то ты уже в NORMAL и там срабатывает nnoremap.

Его просто надо удалить и для тебя ничего не изменится.

habamax ★★★
()

$vimtutor – краткое содержание статьи для самых маленьких, не любящих лонгриды

bigc ★★
()
Ответ на: комментарий от habamax

Режим терминала,выделения и подобные за прям самостоятельные режимы я не считаю это просто действия монопольно (и то не всегда) забирающие на себя всё и блокирует иное.

Основное

  • Ввод
  • Хоткеи
  • Команды

Остальное просто то что вызывается посредством первых

  • Замена
  • Режим вставки
  • Терминал
  • Выделение
  • ect

Можно ещё десяток «режимов» наколдовать

Ты правильно пишешь,но тут статья для маленьких (зря раздул надо было раза в 2 порезать всё). Тот кто захочет нырнуть в вим с головой либо уже всё это знает либо будет читать более объёмные мануалы и вникать в тонкости. Я вот ть лет в виме буквы тыкаю а 99,9% того что в нём есть мне просто не пригодилось ни разу, а новенькому и подавно. Оставлю как есть.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от bigc

В самом начале шлю туда (по советам). ХошЪ туда, хошЪ сюда =)

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от habamax

Аааа, тьфу, да. Ты прав, надо inoremap <F9> <ESC> :call ToggleMenu()<CR>. Это если вызывать из режима вставки, но так как использование горячих клавиш после esc всегда (у меня) то и смысла в inoremap нет. Разве что вставка мусора не в виде <F9>, а в виде :call ToggleMenu() будет визульным сигналом к забытому esc =)

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от dimgel

!ls > % или !ls > list.txt всё!

Хм. Ни разу не пробовал, щас попробовал – и оно вместо того чтобы вставить в позицию курсора, начало мне мозги парить

А к чему вообще текие сложности? Чем просто.!ls или %!ls не устроило?

KOHb-TPOJIJIbJIEP
()
Ответ на: комментарий от KOHb-TPOJIJIbJIEP

Да, так лучше. Спасибо, поправил, расширил.

Но уже прям жирно, блин всё прикольно, но оч много текста. Тут уже надо пилить список рецептов на все случаи жизни… Отнимите у меня права на редактирование нафиг =) Харе!

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Харе!

Поиск добавил, а поиск с заменой – нет. :) Фича-то небось поважнее будет, чем выполнение команды и вставка результата.

dimgel ★★★★★
()
Последнее исправление: dimgel (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Блин точно. Я по слову «поиск» искал. Кстати, переход к строке по номеру – можно на одну клавишу меньше: esc, номер, shift+G.

dimgel ★★★★★
()
Ответ на: комментарий от dimgel

Кстати, переход к строке по номеру – можно на одну клавишу меньше: esc, номер, shift+G.

Можно без шифта: номер строки, gg При включенных относительных номерах строк ещё проще, если строка в пределах видимости: номер, который отображается у строки, и j или k.

emorozov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.