19 Кб, 610x333
Vim лучше IDE, дискасс Аноним (Linux: Firefox based) #2125215 В конец треда | Веб
Вот объясните мне, 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 будете делать?
Аноним (Linux: Firefox based) #2 #2125217
>>2125215 (OP)
>100,200s/\(.\)/#\1/
Хех.
100,200s/\(.\)/#\1/
фикс*
Аноним (Linux: Firefox based) #3 #2125218
>>2125217
Короче, там звёздочка после точки должна быть.
Аноним (Google Android: Mobile Safari) #4 #2125236
>>2125215 (OP)
Неужели он умеет в компиляцию и отладку сишарп-кода хотя бы точками останова, ставящимися мышкой?
Аноним (Google Android: Mobile Safari) #5 #2125237
>>2125215 (OP)
> 1)Нужно закомментить несколько строк кода, скажем, с 100 по 200-ю.
> В виме решается одной командой с закрытыми глазами:
> 100,200s/\(.\)/#\1/
В иде решается одним свайпом и кликом мышкой.
Аноним (Linux: Firefox based) #6 #2125238
>>2125236
>Неужели он умеет в компиляцию и отладку сишарп-кода
В компиляцию компилятор должен уметь, который можно вызвать в вимовском шелле например.
> точками останова, ставящимися мышкой?
gvim с соответствующим расширением может и имеет. А может и не умеет, с шарпом никогда не сталкивался, врать не буду.
>В иде решается одним свайпом и кликом мышкой.
Что за "свайп", объясни рачиле плиз.
Аноним (Linux: Firefox based) #7 #2125239
>>2125238
>может и имеет
Везет сегодня на ошибки. Зря я тред создал(
Аноним (Google Android: Mobile Safari) #8 #2125242
>>2125238
Ну выделяешь кусок текста как в ворде, и кликаешь за/раскомментить.
Аноним (Linux: Chromium based) #9 #2125281
>>2125215 (OP)
Слишком много документации читать, слишком много переучиваться. Да еще и плагины необходимые понаходить. Sublime пока что устраивает.
Аноним (Linux: Firefox based) #10 #2125283
>>2125215 (OP)
>Вот объясните мне, IDE-бляди, что такого есть в IDEшках чего не умеет Vim?
Допустим, у меня есть поле Hueta некоторого класса. Я хочу переименовать его как в объявлении класса, так и во всех местах, где оно используется, в Pizda. При этом я не хочу переименовывать ни метод
HuetaMethod(),
ни портить комментарий
// Kakaya-to Hueta,
ни даже переименовывать одноимённое поле другого класса, объявленного в этом же файле.

В QtCreator я могу это сделать за 5 секунд.
А в Vim?
Аноним (Microsoft Windows 7: Chromium based) #11 #2125322
>>2125281
Пока что оп ничего интереснее регулярок не показал, тащемта.
Впрочем, если тебе и их много, у меня плохие новости.
Аноним (Microsoft Windows 7: Яндекс браузер) #12 #2125359
>>2125215 (OP)
Vim не умеет в человечность.
А емакс — тем более.
И беда не в консоли, а в странной логике этих редакторов.

/thread
Аноним (Microsoft Windows 7: Firefox based) #13 #2125383
>>2125215 (OP)
>что такого есть в IDEшках чего не умеет Vim
Умный автокомплит, разворачивание макросов при наведении куросра (как в Eclipse), умный переход на декларацию и реализацию ф-ций.
>ужно закомментить несколько строк кода, скажем, с 100 по 200-ю
Любая уважающая себя IDE имеет vim-плагин в редакторе.

Бери от жизни лучшее
Аноним (Linux: Firefox based) #14 #2125388
У Vim только один недостаток: после него невозможно пользоваться ничем другим. Программировать мышкой в ИДЕшечке, не чувствуя себя инвалидом, уже не сможешь.
Аноним (Linux: Firefox based) #15 #2125403
>>2125383
>автокомплит
https://github.com/Shougo/deoplete.nvim
>разворачивание макросов при наведении куросра
Не знаю, как в eclipse, нужно пояснение
>умный переход на декларацию и реализацию ф-ций
gd
ctags?
Хотя для поиска мне чаще всего хватает встроенного плагина для ag.
Аноним (Linux: Firefox based) #16 #2125417
>>2125215 (OP)
Все умные люди давно пользуются vim/emacs-режимами в любимых vs code/idea/что-угодно ещё, таким образом и не опускаясь до пещерной прыщебляди, которая пердолится месяцами с дотфайлами вместо того, чтобы гулять с тян, и сочетая все современные IDE-фичи с божественными раскладками. Конечно, ничего зазорного нет для правки конфигов/единичных скриптов в консолечке, но не более того.

/thread
11 Кб, 486x278
Аноним (Microsoft Windows 7: Firefox based) #17 #2125433
>>2125403
>Не знаю, как в eclipse, нужно пояснение
пик

gd, разве работает если декларация в другом файле?

Если ты работал с ctags, то знаешь, что это ад и погибель, постоянные ошибки, беда с современными сями, перегенерация симовлов, да ещё и настрой это дерьмо!

Другое дело, кода всё из коробки, поставил и оно идеально работает.
Аноним (Linux: Firefox based) #18 #2125617
>>2125242
А если кусок текста 10. 000 строк? Долго выделять придётся. Или, например, в этом диапозоне (10. 000) строк тебе нужно закоментить только каждую вторую, или ещё по какому-либо условию.
Аноним (Linux: Firefox based) #19 #2126106
>100,200s/\(.\)/#\1/
>1s/')/\\n'/|2,3s/print('\(.\)')/ '\1\\n'/|3s/\\n'/')/
У меня нет времени.
Аноним (Microsoft Windows 7: Firefox based) #20 #2126109
>>2126106
>Вот как вы всё это в IDE будете делать?
igor1099 (Microsoft Windows 10: Firefox based) #21 #2126153
>>2125617
>закомментить 10000 строк
Юзкейс.

>закомменитить каждую вторую или ещё по какому-либо условию
Юзкейс.
Аноним (Microsoft Windows 10: Chromium based) #22 #2126226
>>2126153
Да просто какой-то кусок кода закомментить. Функцию саму по себе, ветвление, чтобы не отсвечивали.
Аноним (Microsoft Windows 10: Chromium based) #23 #2126227
>>2125388
Ну, некоторые на имакс переходят. Evil и всё такое.
Аноним (Linux: Chromium based) #24 #2126342
>>2125388
Двачую, инвалиды так не могут. https://github.com/alevchuk/vim-clutch
Аноним (Linux: Firefox based) #25 #2126439
>>2125215 (OP)
>на практике таких строк может быть 1000.
На практике я пошлю такой код нахуй, независимо от редактора.
Аноним (Microsoft Windows 7: Firefox based) #26 #2126485
>>2126439
Сразу видно профессионала.
Аноним (Linux: Firefox based) #27 #2126535
>>2126439
Вот такие как ты и тормозят прогресс, когда используется ненужный гуй и тонны текста, вместо интуитивно понятного регэкспа!
Аноним (Linux: Chromium based) #28 #2126538
>>2126535
Прогресс подразумевает развитие чего-то, а не создание удобств для еще большего отупления, посредством возможности лёгкого движения мышкой. Совсем уже, блядки, хипстеры, в своём псевдопрогрессе утонули и нихуя вокруг не видят.
Аноним (Microsoft Windows 7: Firefox based) #29 #2126541
>>2126538
Вот-вот, отупели вкрай со своими счётами. Нужно было как прадиды палочками считать.
Аноним (Linux: Chromium based) #30 #2126545
>>2126541
Ну, вообще-то, когда калькуляторов не было толком, то учились считать на бумаге и в уме, когда сейчас эту функцию целиком и полностью выполняет смартфон, что на самом деле не есть хорошо. Зря ты драматизируешь это. Любая нагрузка всегда полезна.
Аноним (Linux: Firefox based) #31 #2127712
>>2125215 (OP)
Мало того что проблемы надуманные и ирл такого не встретишь, так и еще этот виморебенок не слышал про клавиатурные макросы.
Аноним (Google Android: Mobile Safari) #32 #2127763
>>2125215 (OP)
> учить команды
Кек
Аноним (Linux: Chromium based) #33 #2127930
>>2127712
>100
>200
>1000
Все эти цифры придуманы из голове, и на самом-то деле, очень большие. На деле у пользователей редактора проблемы с подобным появляются уже на 2-3 и более строках, где надо повторять одни действия для кайдой строки или слова.
Аноним (Linux: Chromium based) #34 #2127931
>>2127930
>у пользователей редактора
у пользователей обычного редактора
Аноним (Microsoft Windows 10: Internet Explorer) #35 #2127938
>>2125215 (OP)
>:1s/')/\\n'/|2,3s/print('\(.\)')/ '\1\\n'/|3s/\\n'/')/
Ты уже не человек бля, ты робот нахуй!
Аноним (Microsoft Windows 7: New Opera) #36 #2128071
>>2126226
мммм, каждый сеньйор ежедневно выполняет задачи по комментированию строчек ровно через одну. оче полезная фича, бро
Аноним (Microsoft Windows 10: Firefox based) #37 #2128074
Вот вам рабочие юзкейсы:
1. В код нужно вставить, предварительно написанный, sql-запрос, т.е. каждую отдельную строку нужно взять в кавычки прибавить "+" в конце и заменить начальные пробелы на табуляцию. Таких запросов может быть очень много и не всегда есть возможность и время переписывать чужой говнокод, так, что вим со своими регекспами приходит на помощь.
2. Есть три коммита в гите, нужно сравнить последовательные изменения в файле. В виме, например, можно одновреммено сравнивать до 4 файлов.
3. Для некоторого количества строк нужно выполнять одинаковую последовательность действий. В виме для подобного есть макросы.
200 Кб, 1920x1080
Аноним (Microsoft Windows 10: Firefox based) #38 #2128076
Аноним (Microsoft Windows 7: New Opera) #39 #2128086
>>2128074
>1. В код нужно вставить, предварительно написанный, sql-запрос, т.е. каждую отдельную строку нужно взять в кавычки прибавить "+" в конце и заменить начальные пробелы на табуляцию. Таких запросов может быть очень много и не всегда есть возможность и время переписывать чужой говнокод, так, что вим со своими регекспами приходит на помощь.
бля, я это в блокноте могу сделать
>2. Есть три коммита в гите, нужно сравнить последовательные изменения в файле. В виме, например, можно одновреммено сравнивать до 4 файлов.
вижуал студия может сравнивать как минимум 2 файл. Хз может быть умеет и больше, но мне больше двух просто никогда не приходилось сравнивать.

>3. Для некоторого количества строк нужно выполнять одинаковую последовательность действий. В виме для подобного есть макросы.
абстрактная задача. допустим в блокноте тоже такое можно делать
Аноним (Microsoft Windows 10: Firefox based) #40 #2128245
>>2128086
>допустим в блокноте тоже такое можно делать
Двачую, можно вообще в хекс редакторе. Нахуя все эти абстракции?
Аноним (Microsoft Windows 7: Chromium based) #41 #2128253
>>2128245
> можно вообще в хекс редакторе
Надеюсь, этот хекс-редактор будет запускаться прямо из BIOS и открывать накопитель целиком? Файлы нинужны. Файлоблядь не человек.
Аноним (Microsoft Windows 10: Firefox based) #42 #2128277
>>2125215 (OP)
Чем Убунту лучше LFS?
Аноним (Linux: Chromium based) #43 #2128327
>>2128277
Лучше для кого?
Аноним (Неизвестно: Firefox based) #44 #2128353
Хуевые у вас юз кейсы, ребят. Реальные выглядят так:
1. Откатиться на 5 минут назад.
2. Поменять местами аргументы функций в нескольких разных методах. (при рефакторинге или апдейте 3p либы)
3. Из кучи 100+ строк сделать массив. Скачали хуету и хотим подключить в код статически, а писать скрипт и вспоминать awk лень.
4. Перенести нижестоящую строку в конец текущей. И еще вставить под текущей строкой пустую с корректным отступом. - мелочи, а приятно.
Аноним (Microsoft Windows XP: Firefox based) #45 #2128366
>>2125388
То же самое после освоение емакса. Обычные редакторы, где управление стрелочками, просто кажутся жутко неудобными и ты не представляешь, как ты ими пользовался раньше.
Аноним (Microsoft Windows XP: Firefox based) #46 #2128369
>>2128353
Ты за вим топишь или против него? В виме заместо 2-ого случая решается всё элементарно.
Аноним (Linux: Chromium based) #47 #2128512
Я перешел на вим из-за макросов и множества регистров. Если есть какие-то монотонные таски, которые очень сложно выполнить регулярками, то макросы спасают.
Аноним (Linux: Chromium based) #48 #2128530
>>2128353
1. Persistent undo, сохраняется даже после выхода из редактора, откатиться можно на любой момент.

2. :bufdo %s/method(int arg1, bool arg2)/method(bool arg2, int arg1)/g

3. ^V100jI"<Esc>^V100j$A", <Esc>V100jJ
Вообще легкотня, делается с закрытыми глазами. И это еще даже без макросов. С макросамиеще легче, просто записываешь движения для одной строчки с переходом на другую и повторяешь этот макрос 100 раз, само собой не руками.
4. J<Enter>
Ну и всё.
Аноним (Linux: Chromium based) #49 #2128534
>>2128530
>3. ^V100jI"<Esc>^V100j$A", <Esc>V100jJ
>^V
Если что, то это просто вредная привычка, Ctrl + V нажимать. Тут можно и простым v обойтись.
Аноним (Linux: Chromium based) #50 #2128536
>>2128534
А, или нихуя... ctrl + v надо.
Аноним (Microsoft Windows XP: Firefox based) #51 #2128539
>>2128530
> 2. :bufdo %s/method(int arg1, bool arg2)/method(bool arg2, int arg1)/g
ммм, мне кажется речь не шла не только об определении/объявлении, но и о вызовах метода, а в этом случае аргументы по-разному могут называться, более того вызов может быть записан не в одну строчку, а заместо аргументов может быть вызов других функций, лямб, хуямб ну и т.д.
Аноним (Linux: Chromium based) #52 #2128542
>>2128539
Навигация через ctags (:tag method), и макросы, если дохуя где надо менять.
Аноним (Неизвестно: Firefox based) #53 #2128560
>>2128530
Оу воу, вообщет я спрашивал за АйДиИ
1. Да
2. Ммм... Тут скорее что-то вроде $t(dwxei, <ESC>p)
3. Че за V100? Макрос применить на все строки сразу
4. 'O' забыл.
Аноним (Linux: Chromium based) #54 #2128621
>>2128560
>^V100j
Ctrl +V или ^V — выделение колонками
100j — 100 строк в низ
Сам эти действия повтори и поймёшь.
>'O' забыл.
Да, пожалуй. Т.е. JO
Аноним (Linux: Chromium based) #55 #2128627
>>2128621
Так блять хуй поймёшь, кстати. У меня фонт DejaVu Sans показывает заглавную i как обычную L. Там заглавная i, если что.
Обновить тред
« /s/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

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


Загрузка...

М.Двач хостится на Host-Food.ru, уже 6 лет. Зеркала М.Двача: m2ch.hk, m2ch.lib, 91.227.17.26.