Вот объясните мне, IDE-бляди, что такого есть в IDEшках чего не умеет Vim?А вот вам задачки (как вы решите их в IDE)?1)Нужно закомментить несколько строк кода, скажем, с 100 по 200-ю.В виме решается одной командой с закрытыми глазами:100,200s/\(.\)/#\1/2)Вот такой ещё пример. Нужно строки из print'ов запихать в один:1. print('Первая строка')2. print('Вторая строка')3. print('Третья строка')В виме так же с закрытыми глазами::1s/')/\\n'/|2,3s/print('\(.\)')/ '\1\\n'/|3s/\\n'/')/Получаем:1. print('Первая строка\n'2. 'Вторая строка\n'3. 'Третья строка')Понятное дело, что на практике таких строк может быть 1000. Вот как вы всё это в IDE будете делать?
>>2125215 (OP)>100,200s/\(.\)/#\1/Хех.100,200s/\(.\)/#\1/фикс*
>>2125217Короче, там звёздочка после точки должна быть.
>>2125215 (OP)Неужели он умеет в компиляцию и отладку сишарп-кода хотя бы точками останова, ставящимися мышкой?
>>2125215 (OP)> 1)Нужно закомментить несколько строк кода, скажем, с 100 по 200-ю.> В виме решается одной командой с закрытыми глазами:> 100,200s/\(.\)/#\1/В иде решается одним свайпом и кликом мышкой.
>>2125236>Неужели он умеет в компиляцию и отладку сишарп-кодаВ компиляцию компилятор должен уметь, который можно вызвать в вимовском шелле например.> точками останова, ставящимися мышкой? gvim с соответствующим расширением может и имеет. А может и не умеет, с шарпом никогда не сталкивался, врать не буду.>В иде решается одним свайпом и кликом мышкой. Что за "свайп", объясни рачиле плиз.
>>2125238>может и имеетВезет сегодня на ошибки. Зря я тред создал(
>>2125238Ну выделяешь кусок текста как в ворде, и кликаешь за/раскомментить.
>>2125215 (OP)Слишком много документации читать, слишком много переучиваться. Да еще и плагины необходимые понаходить. Sublime пока что устраивает.
>>2125215 (OP)>Вот объясните мне, IDE-бляди, что такого есть в IDEшках чего не умеет Vim?Допустим, у меня есть поле Hueta некоторого класса. Я хочу переименовать его как в объявлении класса, так и во всех местах, где оно используется, в Pizda. При этом я не хочу переименовывать ни методHuetaMethod(),ни портить комментарий// Kakaya-to Hueta,ни даже переименовывать одноимённое поле другого класса, объявленного в этом же файле.В QtCreator я могу это сделать за 5 секунд.А в Vim?
>>2125281Пока что оп ничего интереснее регулярок не показал, тащемта.Впрочем, если тебе и их много, у меня плохие новости.
>>2125215 (OP)Vim не умеет в человечность. А емакс — тем более. И беда не в консоли, а в странной логике этих редакторов. /thread
>>2125215 (OP)>что такого есть в IDEшках чего не умеет VimУмный автокомплит, разворачивание макросов при наведении куросра (как в Eclipse), умный переход на декларацию и реализацию ф-ций.>ужно закомментить несколько строк кода, скажем, с 100 по 200-юЛюбая уважающая себя IDE имеет vim-плагин в редакторе.Бери от жизни лучшее
У Vim только один недостаток: после него невозможно пользоваться ничем другим. Программировать мышкой в ИДЕшечке, не чувствуя себя инвалидом, уже не сможешь.
>>2125383>автокомплитhttps://github.com/Shougo/deoplete.nvim>разворачивание макросов при наведении куросраНе знаю, как в eclipse, нужно пояснение>умный переход на декларацию и реализацию ф-цийgdctags?Хотя для поиска мне чаще всего хватает встроенного плагина для ag.
>>2125215 (OP)Все умные люди давно пользуются vim/emacs-режимами в любимых vs code/idea/что-угодно ещё, таким образом и не опускаясь до пещерной прыщебляди, которая пердолится месяцами с дотфайлами вместо того, чтобы гулять с тян, и сочетая все современные IDE-фичи с божественными раскладками. Конечно, ничего зазорного нет для правки конфигов/единичных скриптов в консолечке, но не более того./thread
>>2125403>Не знаю, как в eclipse, нужно пояснениепикgd, разве работает если декларация в другом файле?Если ты работал с ctags, то знаешь, что это ад и погибель, постоянные ошибки, беда с современными сями, перегенерация симовлов, да ещё и настрой это дерьмо!Другое дело, кода всё из коробки, поставил и оно идеально работает.
>>2125242А если кусок текста 10. 000 строк? Долго выделять придётся. Или, например, в этом диапозоне (10. 000) строк тебе нужно закоментить только каждую вторую, или ещё по какому-либо условию.
>100,200s/\(.\)/#\1/>1s/')/\\n'/|2,3s/print('\(.\)')/ '\1\\n'/|3s/\\n'/')/У меня нет времени.
>>2126106>Вот как вы всё это в IDE будете делать?
>>2125617>закомментить 10000 строкЮзкейс.>закомменитить каждую вторую или ещё по какому-либо условиюЮзкейс.
>>2126153Да просто какой-то кусок кода закомментить. Функцию саму по себе, ветвление, чтобы не отсвечивали.
>>2125388Ну, некоторые на имакс переходят. Evil и всё такое.
>>2125388Двачую, инвалиды так не могут. https://github.com/alevchuk/vim-clutch
>>2125215 (OP)>на практике таких строк может быть 1000.На практике я пошлю такой код нахуй, независимо от редактора.
>>2126439Сразу видно профессионала.
>>2126439Вот такие как ты и тормозят прогресс, когда используется ненужный гуй и тонны текста, вместо интуитивно понятного регэкспа!
>>2126535Прогресс подразумевает развитие чего-то, а не создание удобств для еще большего отупления, посредством возможности лёгкого движения мышкой. Совсем уже, блядки, хипстеры, в своём псевдопрогрессе утонули и нихуя вокруг не видят.
>>2126538Вот-вот, отупели вкрай со своими счётами. Нужно было как прадиды палочками считать.
>>2126541Ну, вообще-то, когда калькуляторов не было толком, то учились считать на бумаге и в уме, когда сейчас эту функцию целиком и полностью выполняет смартфон, что на самом деле не есть хорошо. Зря ты драматизируешь это. Любая нагрузка всегда полезна.
>>2125215 (OP)Мало того что проблемы надуманные и ирл такого не встретишь, так и еще этот виморебенок не слышал про клавиатурные макросы.
>>2125215 (OP)> учить командыКек
>>2127712>100>200>1000Все эти цифры придуманы из голове, и на самом-то деле, очень большие. На деле у пользователей редактора проблемы с подобным появляются уже на 2-3 и более строках, где надо повторять одни действия для кайдой строки или слова.
>>2127930>у пользователей редакторау пользователей обычного редактора
>>2125215 (OP)>:1s/')/\\n'/|2,3s/print('\(.\)')/ '\1\\n'/|3s/\\n'/')/Ты уже не человек бля, ты робот нахуй!
>>2126226мммм, каждый сеньйор ежедневно выполняет задачи по комментированию строчек ровно через одну. оче полезная фича, бро
Вот вам рабочие юзкейсы:1. В код нужно вставить, предварительно написанный, sql-запрос, т.е. каждую отдельную строку нужно взять в кавычки прибавить "+" в конце и заменить начальные пробелы на табуляцию. Таких запросов может быть очень много и не всегда есть возможность и время переписывать чужой говнокод, так, что вим со своими регекспами приходит на помощь.2. Есть три коммита в гите, нужно сравнить последовательные изменения в файле. В виме, например, можно одновреммено сравнивать до 4 файлов.3. Для некоторого количества строк нужно выполнять одинаковую последовательность действий. В виме для подобного есть макросы.
>>2128074
>>2128074>1. В код нужно вставить, предварительно написанный, sql-запрос, т.е. каждую отдельную строку нужно взять в кавычки прибавить "+" в конце и заменить начальные пробелы на табуляцию. Таких запросов может быть очень много и не всегда есть возможность и время переписывать чужой говнокод, так, что вим со своими регекспами приходит на помощь.бля, я это в блокноте могу сделать>2. Есть три коммита в гите, нужно сравнить последовательные изменения в файле. В виме, например, можно одновреммено сравнивать до 4 файлов.вижуал студия может сравнивать как минимум 2 файл. Хз может быть умеет и больше, но мне больше двух просто никогда не приходилось сравнивать.>3. Для некоторого количества строк нужно выполнять одинаковую последовательность действий. В виме для подобного есть макросы.абстрактная задача. допустим в блокноте тоже такое можно делать
>>2128086>допустим в блокноте тоже такое можно делатьДвачую, можно вообще в хекс редакторе. Нахуя все эти абстракции?
>>2128245> можно вообще в хекс редактореНадеюсь, этот хекс-редактор будет запускаться прямо из BIOS и открывать накопитель целиком? Файлы нинужны. Файлоблядь не человек.
>>2125215 (OP)Чем Убунту лучше LFS?
>>2128277Лучше для кого?
Хуевые у вас юз кейсы, ребят. Реальные выглядят так:1. Откатиться на 5 минут назад.2. Поменять местами аргументы функций в нескольких разных методах. (при рефакторинге или апдейте 3p либы)3. Из кучи 100+ строк сделать массив. Скачали хуету и хотим подключить в код статически, а писать скрипт и вспоминать awk лень.4. Перенести нижестоящую строку в конец текущей. И еще вставить под текущей строкой пустую с корректным отступом. - мелочи, а приятно.
>>2125388То же самое после освоение емакса. Обычные редакторы, где управление стрелочками, просто кажутся жутко неудобными и ты не представляешь, как ты ими пользовался раньше.
>>2128353Ты за вим топишь или против него? В виме заместо 2-ого случая решается всё элементарно.
Я перешел на вим из-за макросов и множества регистров. Если есть какие-то монотонные таски, которые очень сложно выполнить регулярками, то макросы спасают.
>>21283531. Persistent undo, сохраняется даже после выхода из редактора, откатиться можно на любой момент.2. :bufdo %s/method(int arg1, bool arg2)/method(bool arg2, int arg1)/g3. ^V100jI"<Esc>^V100j$A", <Esc>V100jJВообще легкотня, делается с закрытыми глазами. И это еще даже без макросов. С макросамиеще легче, просто записываешь движения для одной строчки с переходом на другую и повторяешь этот макрос 100 раз, само собой не руками.4. J<Enter>Ну и всё.
>>2128530>3. ^V100jI"<Esc>^V100j$A", <Esc>V100jJ>^VЕсли что, то это просто вредная привычка, Ctrl + V нажимать. Тут можно и простым v обойтись.
>>2128534А, или нихуя... ctrl + v надо.
>>2128530> 2. :bufdo %s/method(int arg1, bool arg2)/method(bool arg2, int arg1)/gммм, мне кажется речь не шла не только об определении/объявлении, но и о вызовах метода, а в этом случае аргументы по-разному могут называться, более того вызов может быть записан не в одну строчку, а заместо аргументов может быть вызов других функций, лямб, хуямб ну и т.д.
>>2128539Навигация через ctags (:tag method), и макросы, если дохуя где надо менять.
>>2128530Оу воу, вообщет я спрашивал за АйДиИ1. Да2. Ммм... Тут скорее что-то вроде $t(dwxei, <ESC>p)3. Че за V100? Макрос применить на все строки сразу4. 'O' забыл.
>>2128560>^V100jCtrl +V или ^V — выделение колонками100j — 100 строк в низСам эти действия повтори и поймёшь.>'O' забыл.Да, пожалуй. Т.е. JO
>>2128621Так блять хуй поймёшь, кстати. У меня фонт DejaVu Sans показывает заглавную i как обычную L. Там заглавная i, если что.