Neovim (aka Nvim) - это не обычный текстовый редактор, а программа, которая позволяет вам превратить свой рабочий процесс в изящный танец или фортепианную партию.
Фишкой колдовского редактора является то, что вы общаетесь с ним не через аналоговое управление (двигаем мышкой, вводим текст), а через команды и макросы.
Зачем заморачиваться и пользоваться текстовым редактором через код?
Потому что это чертовски быстро!
Просто представьте:
В Nvim мышка включается отдельной командой в конфиге. Но обычно ее не включают - лень-матушка.
Возможно, что у повстанцев с Навуходоносора на компьютере стоял именно Nvim. Он гибкий, и позволяет редактировать не только текст, но и код Матрицы…
Документация максимально подробна и понятна.
Выйти из Nvim'а не легче, чем уйти из мафии. Новички, впервые запустившие колдовской редактор, обречены годами скитаться в поисках заветного "Exit"...
Ну что, молодые маги, добро пожаловать в Колдовской Nvim!
Почему вам стоит выбрать Neovim?
По моему мнению, у редактора 3 киллер-фичи:
Супер-Скорость
Невероятная гибкость
Nvim растет вместе с Пользователем
Супер-Скорость
Nvim молниеносно быстр. И сложен в освоении. И в этом нет ничего плохого. Например:
Представьте, что вы только сегодня познакомились с консольными командами. И вы соревнуетесь с обычным Юзером с клавомышью и GUI интерфейсом.
Вам нужно создать папку!
Юзер наводит мышку, жмет правой кнопкой, выбирает “Создать папку” - и выигрывает, пока вы копошитесь в мануале...
Реванш через месяц
Через месяц? Через месяц скорость будет примерно одинаковой - вы просто наберете “mkdir papka” и создадите папку. Юзер пожмет плечами и пойдет дальше. Он не проиграл.
Задачи посложнее
А если надо создать сразу 6 папок?
А если выбрать из папки все файлы с определенным расширением?
А если сделать скрипт, который будет разворачивать в определенном месте целое дерево папок с файлами (например исходники для проекта).
Вы и ваша консоль побеждаете, потому что обычный Юзер либо тратит очень много времени, либо попросту неспособен справиться с заданием.
Думаю, что аналогия понятна. Да, первые пару недель с Nvim будет тяжело… а через пару месяцев вы вдруг осознаете, что обычная IDE кажется вязкой, медленной и сковывает полет ваших мыслей.
В Nvim вы нажимаете несколько клавиш и за секунды выполняете объем работы/передвижений, который бы занял минуты в обычном редакторе. А любой программист понимает, что сэкономленное время = время заработанное.
Давайте посмотрим на примере. Вот код, который вы хотите исправить:
Обратите внимание, на каком символе находится курсор (второй символ 16й строчки). Итак, мы нашли себя вот в такой тестовой ситуации. Что мы хотим сделать?
Имя функции переписать строчными буквами.
Удалить лишние символы “kkk” на 18й строчке.
Скопировать всю функцию
big_and_ugly_name1()
и перенести ее на 21ю строчку, попутно удалив комментарий. Да, нам надо 2 одинаковых функции. И не забудем поменять постфикс!Удалить функцию
unused_function()
После этого удалить самую первую строчку, а еще 3 строчки после импорта.
Прыгнуть в самый конец, и написать на новой строке
print(”Hello World!”)
Заметим, что из всей работы созидаем мы только при написании последней строчки print(”Hello World!”)
. Все остальное - непроизводительный труд.
Вы можете попробовать самостоятельно засечь время на решение этой задачи. А можете добавить чуть-чуть колдовства... Введем в Nvim следующие команды:
guu 2jfkD yip 21G SHIFT+v jp f1CTRL+a 11Gdip ggdd jv4jd Go'Hello World!'
Бррр, абракадабра, да как такое запомнить? Но набор такой команды в разы быстрее, чем клавомышь. И мышки дорогие.
Давайте разберемся. Только что я:
guu
Превратил все символы на 16й строке в строчные (lowercase). Заметьте, что курсор находился на втором символе - мне даже не пришлось его двигать к названию функции.2jfkD
Перешел на 2 строчки ниже, прыгнул на первую букву k и удалил все оставшиеся символы.yip
Скопировал всю функцию. Обратите внимание - я скопировал ее изнутри самой функции! Мне не пришлось наводить курсор или мышь на первый-последний символ.21G SHIFT+v jp
Прыгнул на 21ю строку и вставил скопированную функцию, попутно удалив комментарий.f1 CTRL+a
Прыгнул к единичке и с помощьюCTRL+a
увеличил ее на один! Ваша IDE умеет такое?11G dip
Прыгнул на 11ю строчку, опять в середину функции, и всю ее удалил, не перемещая курсор.ggdd
Прыгнул на первую строчку, удалил её.jv4jd
Перешел на строчку ниже импорта, выделил 4 строчки и удалил их.Go"Hello World!"
Прыгнул на последнюю строчку в файле. Создал еще одну строку ниже и написал в ней ‘Hello World!’
При этом я ни разу не тронул мышь, ни разу не убрал руки с центра клавиатуры, не отводил глаз от экрана и контролировал каждый шаг. Вот поэтому Nvim по-колдовски быстр!
Невероятная гибкость
Nvim никак вас не ограничивает:
Используйте любой язык программирования. LSP серверы - в наборе. Все подключается за секунды.
Огромное количество плагинов на выбор. Большое комьюнити, которое пишет эти плагины.
Nvim легко взаимодействует с Github.
Подключитесь к другой машине через SSH, скачайте Nvim (20 мегабайт), вставьте свой конфиг и у вас тут же появится привычная среда разработки.
Используйте любые самописные скрипты. Например, у меня есть маленький скриптик, который обернет выделенный текст в фигурные скобки. Мелочь - но удобная!
Редактор бесшовно переходит в консоль и обратно. Прямо из редактора доступны консольные команды и скрипты. Nvim является естественным продолжением терминала Linux и прекрасно дружит c tmux.
Nvim работает с любыми файлами. Более того, он открывает даже самые большие и тяжелые файлы!
Nvim растет вместе с Пользователем
Он как зернышко! Сначала будет небольшой росток, его надо оберегать и поливать. Потом росток станет деревцем, а затем огромной секвойей.
Nvim воплощает один из ключевых принципов мышления программиста:
Не делай ничего дважды!
Столкнулся с проблемой - реши ее так, чтобы в следующий раз у тебя было готовое автоматизированное решение. Нвимисты и нвимастера с каждым днем упрощают свою жизнь. Любые сложности и проблемы делают ваш конфиг удобнее, навыки - разнообразнее, а мышку более пыльной. Время, которое вы тратили на пустые действия, теперь вы сможете тратить на программирование. И это по-колдовски круто!
В следующей части данного руководства мы установим Nvim и познакомимся с конфигурационным файлом.
Комментарии (91)
cry_san
13.12.2022 07:41+3-Супер-Скорость
Пока запомнишь все эти команды, проще будет заменить вручную. А еще проще - писать сразу более-менее нормально, чтобы потом не нужно было исправлять. И завести себе это в привычку.
ZillahGiovanni
13.12.2022 10:18+6Команды на самом деле очевидны и даже их использование в разных ситуациях логично. Достаточно один раз прочесть ман. 8)
Например:
$ - прыгнуть в конец строки
d$ - удалить все от курсора до конца строки
y$ - скопировать все от курсора до конца строки
... и т. д. и т. п.DeepFakescovery
13.12.2022 12:11-1т.е. находясь в глубоких размышлениях и разработке, я должен отвлекаться на лайв-программирование IDE в своём уме, чтобы сделать простые вещи? дичь какая-то
DeniSix
13.12.2022 12:42-1Всё-таки для большинства (на мой взгляд) проще воспринимается модель kakoune/helix: выделение -> действие. Когда ты видишь с чем конкретно произойдёт действие чувствуешь себя увереннее.
sshemol
13.12.2022 16:10+2End
Shift + End, Del
Shift + End, Ctrl + C
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
vvzvlad
14.12.2022 11:48+1Только базовые. Огромной кучи комбинаций нет
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
vvzvlad
14.12.2022 16:58+1Вы статью-то читали?
yip Скопировал всю функцию. Обратите внимание — я скопировал ее изнутри самой функции! Мне не пришлось наводить курсор или мышь на первый-последний символ.
f1 CTRL+a Прыгнул к единичке и с помощью CTRL+a увеличил ее на один! Ваша IDE умеет такое?
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
vvzvlad
15.12.2022 17:11Примеры высосаны из пальца короче. А то что это нужно трем с половиной извращенцам в расчет не берется.
— Вот тоже не понимаю чего фанаты vim носятся со своими комбинациями. Вроде в любом современном редакторе все то же самое делается комбинациями не сложнее, просто комбинации другие.
— Вот вам комбинации, которых нет
— Они нужны трем с половиной извращенцам(≈не мне), несчитово.
Очень удобно. «Меня устраивает функционал обычного редактора, (я считаю, что все остальные такие же, как я), поэтому все остальные функции нужны ограниченному количеству людей, а значит, примеры этих функций нерелевантны, т.о. я победил». То, что в такой формулировке очень сложно подобрать какую-то функцию, которая нужна вам, но ее еще у вас нет, в расчет не берется.anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
vvzvlad
15.12.2022 21:45+2Еще раз. Ваш тезис «в современном редакторе все делается теми же самыми средствами» — неверен. Хотя бы потому, что там нет разделения на режим управления и режим ввода, а значит, добро пожаловать в 2-3 кнопочные комбинации, т.к. основная панель клавиатуры занята под буквы.
Я привел вам два примера. По моему мнению, два примера уже достаточно показательны, чтобы считать неверным тезис «в виме нет никаких фичей по сравнению с обычными редакторами, только неудобное управление». Есть ли еще примеры? Конечно. Хочу ли я их искать человеку, который считает, что «победив» в соревнования с двумя примерами, выиграл весь спор, и тут же обвиняет меня во лжи? Нет, пожалуй.
Как назвать ваше «ну мне же эти два примера не нужны, а значит, не нужны никому, а раз мне не могут показать еще примеры, значит больше их не существует, следовательно, редактор никому не нужен» — я не знаю. Глупостью? Самоуверенностью? Ощущением себя пупом мира?
vvzvlad
15.12.2022 22:14+1Ржу. Диалог вести не способны, смысл сообщений собеседника не понимаете. Ок.
kasyachitche
14.12.2022 13:36+1Суть не только в комбинациях. В вим есть еще режимы, буферы и возможность строить комбинации из комбинаций. С одной стороны, если не знаком с этим, кажется что оно нафиг не нужно, с другой стороны, я, привыкнув ко всему этому, не смог пользоваться PyCharm с "вимовской раскладкой", потому что кроме набора некоторых комбинаций эта раскладка ничего и не реализует. Оказалось, что просто привязка функций на другие кнопки ничего удобнее не делает.
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
kasyachitche
14.12.2022 16:20+1Я не пользовался vsc, не могу сказать.
Дело не только в комбинациях, вы упустили режимы и буферы.
Спор о vim бессмысленнен. Вы не понимаете в чем удобство, да, честно говоря, я тоже не понимаю в чем удобство, просто ничего лучше за годы работы не встречал. Нет способа передать вам понимание, что такое работа в vim. Все, что я могу сделать, это лишь указать на то, что привязки кнопок и комбинации - это лишь интерфейс для работы с vim, его отличия от обычных редакторов шире и раскрываются только если научиться с ним работать.
Хотя, может быть уже все редакторы поддерживают подобные подходы в работе. На тот же PyCharm я пытался перейти пару лет назад, может они уже реализовали базовый функционал vim.
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
kasyachitche
14.12.2022 17:35Конкретику дайте плиз хоть какую-то.
У меня такое чувство, будто вы не читали мой комментарий.
Какой? Что вы не можете сделать с текстом в PyCharm?
Все могу делать. И в блокноте могу все делать. Чем вызван этот вопрос?
чтобы с комбинациями другого редактора кто-то носился выдавая это за великое удобство
В vim дело не в комбинациях клавиш. Вы читали мой комментарий?
Что в них удобного?
Да в целом, ничего. Это просто инструменты vim.
micronull
13.12.2022 08:08+7Большую часть времени разработчик размышляет и перемещается по коду. Скорость набора кода тут не столь важна.
У vim/nvim сейчас основное преимущество в небольшом потреблении ресурсов, благодаря чему батарея живёт значительно дольше. И ориентация на работу с клавиатурой избавляет от необходимости пользоваться тач панелью. ИМХО разумеется.
Сам пользуюсь этой сборкой https://astronvim.github.io/ через neovim-qt (из-за контекстного меню и буфера), хочу попробовать ещё https://github.com/akiyosi/goneovim.
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
micronull
13.12.2022 08:22+2По первому, тут jetbrains вне конкуренции разумеется. Там синхронизация конфигов через облако есть.
Сам nvim использую только в домашних проектах, чисто по фану.economist75
13.12.2022 09:15+3Плюсую. И добавлю что у VSC (Microsoft Visual Studio Code) и Codium синхронизация конфигов тоже есть (а также полная бесплатность/свободность). Для программиста написать простейшую синхронизацию к любой IDE сейчас не проблема.
antgubarev
13.12.2022 10:36+1Часто слышу такой аргумент. Да редактирование занимает времени меньше чем чтение. Однако энерго затраты на редактирование можно существенно снизить. То есть тут речь не про время, а про количество внимания, которые вы вкладываете на перепрыгивание с мыши на код, листание скролом, выделения и вот это все. Вим это еще про десятипальцевую печать, а значит даже на клавиатуру смотреть не нужно и постоянно перекидывать взгляд.
Но это не единственное, что дает вим. Помимо редактирования, такая же огромная скорость действий касается всего остального. Работа с табами, поиск по проекту/файлу, работа с гитом, навигация по всякого рода имплементациям интерфейсов и вот это все.
Вим ощутимо увеличивает общую скорость работы, а главное перестаешь со временем думать про инструмент (так как автоматизм действий приходит неизбежно) и начинаешь думать про код. У меня это так работает.alexkil
13.12.2022 13:09Для того чтобы начать делать работу с помощью Вима надо учиться Виму.
Большинство же просто хочет делать свою работу.
С другой стороны если условный VSC добавить в себя управления редактором на уровне Вима, против особо никто не будет
pecheny
13.12.2022 15:44Ну почему же «если»? Плагины для управление в стиле вим есть для большинства IDE, браузеров и всякого другого. Вон, на маркетплэйсе плагинов Intellij – IdeaVim на первом экране с почти 12М установок… Для VSC, разумеется, такие плагины тоже есть.
domix32
13.12.2022 17:02Ну это примерно как с QWERTY на Dvorak пересесть. Кому-то эффективнее, а кто-то хочет продолжить стирать через Backspace и скакать по строке одной кнопкой Home/End.
Fen1kz
13.12.2022 08:50А какой порекомендуете туториал или курс по этой штуке? Желательно для туповатых кодеров и с простыми практическими заданиями :)
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
Fen1kz
13.12.2022 09:30+1Можно нагуглить миллион уроков любой сложности и даже игры для вимеров.
Вот именно, и большинство будет отстоем, поэтому я и спросил какой порекомендуете, в гугл я и сам могу себя послать, спасибо =/
Fen1kz
13.12.2022 20:05Я погуглил - миллион уроков ссылается на :tutor, а он не то чтобы туториал, а скорее типа интерактивная справка.
Вот дали бы кусок кода который надо отредактировать вимом или практическую задачку какую-то.
alzurken
13.12.2022 20:16https://vim-adventures.com/ я вот эту игру проходил для переноса базовых движений в мышечную память
kasyachitche
13.12.2022 09:06+2Самый простой способ - начать писать в нем. Гуглишь команды по мере необходимости или когда кажется, что нажимаешь слишком много кнопок.
Я пробовал читать книжки, но в отрыве от работы это абсолютно бесполезно. Весь вим держится на мышечной памяти и на том, что она опережает мысль, а для этого нужна практика в тех условиях, в которых вы его планируете использовать.Чтобы интерес не пропал до начала работы советую использовать готовые сборки (я использую spacevim, тут в комментах еще советуют)
BitLord
13.12.2022 10:04Уважаю vim и использую для редактирования конфигов, но вот во всех статьях про как бы замену IDE, которые я встречал, описываются только возможности редактирования текста. Но вот нигде не встречал описание возможностей, которые (лично для меня) делают из редактора IDE: работа с несколькими файлами, глобальный поиск/замена, навигация по классам/методам/..., автодополнение с учётом контекста. Я подозреваю, что это всё возможно, но подскажите, где об этом информативно посмотреть, почитать.
garwall
13.12.2022 10:45+1я так думаю, проще всего будет зайти на какой-нибудь vimawesome и поискать по интересующим вас вещам.
SquareRootOfZero
13.12.2022 10:15+9Пробовал, в очередной раз, перейти на это в начале ковидной эпопеи, когда мудрое начальство решило, что удалённо работать через удалённый рабочий стол через медленный корпоративный VPN будет тоже нормально. Думал, щас вот я со скрежетом зубовным пытаюсь не промахнуться по нужному месту лагающим мышиным курсором, а буду, такой, «VIM, удоли символы с пятого по семнадцатый тремя строками выше»,
а VIM, такой, «I'm afraid I can't do that, Dave»...По личному опыту:- Основы, вроде навигации по hjkl и прочих dd xx, в принципе, осваиваются довольно быстро. Да, это всё равно боль, но такая, к которой привыкаешь. Нет, это не быстрее мыши.
- Всякие более сложные фишки могут быть весьма удобны, они могут, наверное, быть быстрее мыши если прям привыкнуть и проникнуться. Но ты ж их используешь-то пару раз в году и никогда не запомнишь, каждый раз заново гуглить, как это сделать. Вся быстрота и всё удобство убиваются и уходят в минус.
- Но я же не совсем тупой, я напишу шпаргалку по нужным командам и буду держать на втором мониторе! Да, ага, очень помогает, вместо ковыряния по менюшкам IDE теперь происходит ковыряние в тексте шпаргалки в поисках чего там как где.
- Совсем лютое джедайство вроде guu 2jfkD yip 21G SHIFT+v jp f1CTRL+a 11Gdip ggdd jv4jd Go'Hello World!', возможно, действительно становится киллер-фичей после многолетних практик и медитаций, когда в отдельной специальной зоне мозга из особых нейронов формируется Vim-сопроцессор и можно херачить подобное, не переключая основной ментальный контекст. В моём случае переключение взад-вперёд между «вот я программирую мою задачу на Питоне» и «вот я программирую сложную текстовую операцию в командах Vim» выбивало, что называется, «из потока» не хуже внезапного звонка от секретарши босса с очередной бессмысленной и беспощадной бюрократической по2.7ботой. Нахер-нахер, пусть я мышью, пусть я медленнее, но при этом продолжая обдумывать задачу, а не просыпаясь, как герой фильма «Memento», внезпано посреди нигде и вспоминая «кто я? где я? что я там делал-то до того, как решил эффективно отредактировать текст?»
vtb_k
13.12.2022 11:08+2Лет 6 назад я потратил где-то 3 месяца на освоение вима. Хотя со временем я пересел на Емакс, я все равно использую вимовские сочетания через evil-mode. И это кардинально поменяло мои способности. С ужасом вспоминаю, каким я медленным был на PyCharm. Вечно прыгать рукой с клавиатуры на мышь. Это постоянно выбивало меня из контекста. Теперь мои руки фактически материализуют мои мысли, курсор двигается за взглядом и я просто не думаю, как что-то набрать.
SquareRootOfZero
13.12.2022 15:37В тот раз я дольше трёх месяцев практически безвылазно просидел в Vim-е (не помню точно, где-то полгода-год). Освоил хоткеи, настроил конфиги, поставил плагины, привык, пользовался. Никакого кардинального изменения моих способностей к чему бы то ни было не заметил от слова «совсем». Когда-то давно пару лет просидел в Emacs-е, с тем же результатом: свой особый путь, сперва ломает, но изучаешь, привыкаешь, можно пользоваться. Только, с одной стороны, а зачем? Но, с другой стороны, а почему бы и нет?
Совершенно не парит «прыгать рукой с клавиатуры на мышь» (тут можно было бы привести широко известную в узких кругах цитату про секундомер, но мы сдержимся). Замедляет ли меня это, и если да, то насколько — я не знаю, но думаю я обычно медленнее, чем печатаю, даже с учётом мыши, так что пофиг.vtb_k
13.12.2022 16:08-1думаю я обычно медленнее, чем печатаю, даже с учётом мыши, так что пофиг.
Это частая ошибка людей, зависимых от ИДЕ. Потому что мозг приспосабливается к скорости печати и вам кажется, что вы думаете медленно. Если сможете быстро печатать, будете думать быстрее
SquareRootOfZero
13.12.2022 16:24Не думаю. Русским или даже английским языком я владею всяко лучше, чем любым из языков программирования, но даже на них я обычно не могу гнать хоть сколько-нибудь осмысленный контент с максимальной слепой десятипальцевой скоростью набора, на которую технически способен.
vtb_k
13.12.2022 16:57-1Не советую вам сравнивать человеческий язык с программным. Это не одно и тоже
Pavel1114
15.12.2022 14:59Причём тут IDE. Pycharm(и другие IDE от jetbrains), помимо того что имеет очень развитую(и максимально настраиваемую) систему хоткеев, также предоставляет замечательный плагин ideavim, с помощью которого можно пользоваться vim-like хоткеями, а также некоторыми очень полезными плагинами (surround, easymotion, multiple cursors)
vtb_k
15.12.2022 15:33Для текста только. В виме и емаксе управлять всем нужно клавишами. Иде без мыши нельзя использовать. Для каких то действий все равно нужно к ней тянутся
Pavel1114
15.12.2022 16:08+1Нет, не припомню таких действий. Если знаете, подскажите
До последнего релиза не было возможности по хоткею перемещать таб между окнами. Теперь сделали. Хотя в vim этого не сделаешь даже с мышью.
И совет. Попробуйте. IDE (как минимум от jetbrains) за последнее время хорошо продвинулись и большинство из них имеет плагины для эмуляции vim-like команд. Vim отличный редактор. Но, при всём уважении, для разработки больших проектов хорошей IDE он не конкурент. А вот на сервере и для быстрых правок - отличный инструмент.vtb_k
15.12.2022 16:49Я использую Емакс и он меня полностью устраивает. Даже этот коммент я пишу в нем. И у меня есть все фичи из ИДЕ, благодаря lsp серверу. И он загружается у меня меньше секунды. Я использую его везде, от написания кода, до конфигурации линукса.
PeterFukuyama
14.12.2022 00:40Сильно подозреваю, что hjkl было удобным именно на клавиатурах древних никсов. Самые удобные курсорные по моему опыту -- слой с jkli на клавиатурах corne. Там даже эмуляция мыши есть для особо изысканных господ.
micronull
14.12.2022 06:59Просто у создателя vi изначально была клавиатура со стрелками на этих клавишах. Традиционных стрелок тогда ещё на клавиатурах не было, на сколько я понимаю.
SquareRootOfZero
14.12.2022 08:08Я не знаю за клавиатуры corne, у меня на Moonlander стрелки в отдельном слое на ijkl. Там даже эмуляция мыши есть, но я, честно, не представляю, кто и зачем мог бы ей пользоваться: она сочетает в себе недостатки клавиатуры и мыши, не обладая их достоинствами. Разве что идеальные прямые в Пэйнте рисовать?
Касательно «просто у создателя была клавиатура», читал где-то, что вся эта «эргономика» сложносочинённых команд vi изначально задумывалась для медленных удалённых текстовых терминалов, где ты не просто нажал del-del-del и в реальном времени удалил три символа, а нажал, ждёшь, пока оно дойдёт туда, ждёшь, пока ответ придёт оттуда, дождался, убедился, снова нажал — в таких условиях фишки вроде цифры перед командой действительно должны экономить кучу времени и нервов. Собственно, примерно такой юзкейс я и описывал в первом комментарии.
MentalBlood
13.12.2022 10:39+2вы соревнуетесь с обычным Юзером с клавомышью и GUI интерфейсом
Справедливости ради, юзер может пользоваться GUI интерфейсом, но не пользоваться мышью. Кажется, все современные редакторы кода и IDE такое позволяют
DeniSix
13.12.2022 12:39+1В Nvim мышка включается отдельной командой в конфиге.
Наоборот, она включена по-умолчанию.
turbidit
13.12.2022 15:49И это доставляет страдания - задолбался ее отключать на серверах чтобы она не перехватывала правый клик.
Dropsen
13.12.2022 17:20Оно, конечно, всё хорошо, но:
1. Тут есть плагины, как, к примеру, в vscode, для удобного управления контейнерами?
2. Тут есть плагины для удобного доступа к wsl?
Её реально можно отстроить так, чтобы она заменила мне абсолютно все необходимые инструменты, которые есть в том же самом vscode?) Если да, то я заинтересованMentalBlood
13.12.2022 19:02-1Похоже, что
- Нет
- Нет
P.S. я гуглилъ, думаю если бы было то на поверхности
vtb_k
13.12.2022 19:34В Емакс есть мод для управления контейнерами кубика, есть мод для почты/рсс, есть мод для телеги, есть мод для твиттера, есть мод для удаленного редактирования с сервера/докера. Легче перечислить моды, которых нету)
Dirlandets
13.12.2022 17:22+3Я довольно долго сопротивлялся, но потом попробовал Doom Emacs (с evil mode - биндинги как у vim) с него я потом перепрыгнул на nvim, написал себе гавноконфиг и радуюсь до сих пор c большим удовольствием его эволюционируя вместе с собой. Удаляю неиспользуемые штуки, добавляю или дописываю новые, заодно приоткрыл для себя мир lua.
Например из фишек: `CTRL + a` как в примере у автора, у меня не только инкрементит числа, но и переключает bool. Странно, но эту фигню использую чаще чем может показаться.
Через некоторое время начал испытывать дискомфорт когда надо было открыть VScode или любой онлайн редактор.Типа:
- Какого фига я должен тянуться мышкой куда-то водить ей, убирать руку с клавиатуры если я туда посмотрел, а курсор уже стремительно движется в нужное время (моторика вырабатывается и это все без раздумий как мышкой пошевелить)
На счет скорости я мегаприроста не заметил но эргономичность выросла очень сильно.
Сейчас реально почти физическую боль испытываю когда надо в ворде поработать или в каком-нибудь онлайн-редакторе кода.Из минусов:
Обновление плагинов может сломать рабочий день, так как может перeстать работать все.
Но я приучил себя не делать такое в утро понедельника и все норм :/Написать свой конфиг чтобы он работал это как петпроект, который никогда не заканчивается и имеет косяки которые ты конечно исправишь, но когда то потом.
Осознание собственного превосходства над жалкими людишками, теперь я неостоновимый дух коддинга
ojgenn
13.12.2022 17:44всю жизнь мечтал, вот вырасту, сильно вырасту. и в 21 веке, рядом с vr технологиями, откажусь от мыши и гуи, чтобы запомнить тонну команд
le2
14.12.2022 13:20В vim невозможно рефакторить чужой код. И как выше правильно написали vim "выбивает из потока".
Но в остальном знать его чрезвычайно полезно в встраиваемых и удаленных системах, когда кроме консоли ничего нет. Да и, согласно Posix, vi обязан присутствовать из коробки. Но лучше в нем только читать с приятной подсветкой синтаксиса ВСЕГО что есть и править не больше пары строк.
SuperFly
14.12.2022 19:45(сам я vim знаю только на базовом уровне, конфиги на сервере поправить или типа того)
Вот что бросилось в глаза, в кунг-фу по исправлению кода - мы прыгаем к строке номер такой-то, затем к строке номер другой-то, то к первой, то к последней.Но когда я пишу код, в ИДЕ (pycharm в моем случае), я не ориентируюсь по номерам строк. Я ориентируюсь в контексте, названии функций, переменных, ошибках подсвеченных ИДЕ, и т.п.
И соответственно что б редактировать тот кусок кода, я б тоже не использовал мышь, но я б скакал к объявлению функции, к ошибке, использовал бы контекстное выделение что б скопировать/удалить блоки кода (ф-ции) и в конце жмякнул бы авто-формат что б убрать неиспользуемые импорты/добавить где нужно пустых строк и т.п. Наверняка я б нажал больше кнопок, что б перейти к той же единице и исправить ее на двойку (хотя я привык к плагину AceJump, c ним быстрее это).Но когнитивная нагрузка была б, ИМХО, меньше, т.к. не нужно переключать в голове контекст с программы на номера строк.
Работал с любителем неовим, на сеансах парного программирования подкалывали друг-друга частенько на этой почве, но по результатам - не важно кто был за клавой, скорость решения задачи была приблизительно одинаковой.
Mitai
15.12.2022 17:12сижу в неовиме пару недель, по началу было очень не привычно, сейчас уже начал привыкать. Это интересный опыт, будут ли статьи про дебаг в неовим?(единственное что пока не настраивал) остальное типо gitui или лсп сервер уже сделал
HelpOrMe
16.12.2022 03:56Честно сказать, настроил я себе неовим год назад, да так с пафосом, прям отдельной сборкой можно выставлять. Только смысла то от этого не много, установить вим биндинги на vscode/idea будет банально удобнее, тебе не надо фиксить deprecated у пакетов, не надо для каждой новой фитчи дописывать конфиг, не надо заботится о переносе этого конфига на новое устройство и т.д.
С тем же vscode все куда удобнее, у тебя и раскладка окон по одному нажатию мышки, и пакеты по нажатию мышкой, и синхронизация настроек, и мультиплатформеность без билда каждой новой версии под платформу, ибо в пакетных менеджерах устарелые версии. Поставив в vscode плагин Vim, ты получаешь весь самый важный функционал в виде биндов, и можно спокойно строить козни из команд по типу замены всего текста внутри квадратных скобок (не включительно) текстом из 5 регистра 3 раза, а потом через record повторить это на всех участках кода.
anonymous
НЛО прилетело и опубликовало эту надпись здесь
zezic
А почему именно этот вопрос? Там есть какой-то подвох, про который не говорится в этом мане? https://vim.fandom.com/wiki/Search_and_replace_in_a_visual_selection#Substituting_in_a_visual_selection
UPD: Хотя, тут-то оказалось, что всё даже ещё проще – https://stackoverflow.com/questions/773137/find-and-replace-within-selection-in-vi/773158#773158
anonymous
НЛО прилетело и опубликовало эту надпись здесь
anonymous
НЛО прилетело и опубликовало эту надпись здесь