LINUX.ORG.RU
ФорумTalks

Каждодневные usecase vim

 , ,


3

7

Здравствуйте.

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

Вот стало интересно, у какого есть какие каждодневные сценарии использования возможностей в vim, которые его выгодно отличают от остальных редакторов и даже ide? Какие задачи он помогает решать быстрее и лучше чем в других редакторах?

А жареную картошку ты ешь через трубочку? Да, надолго такого не хватает и скорость насыщения падает, но это временный эффект.
Брось ты каку. Vim это удел админов и то лишь потому, что этот редактор есть в практически любом дистре. Его не от хорошей жизни используют. Vim можно довести до ума с помощью разнообразных плагинов, но тогда теряется унификация. Любая IDE для написания кода подойдёт лучше, чем vim. Не ведись на крики позёров и тех, кто так долго ел картошку через трубочку, что забыл как пользоваться вилкой.

Stahl ★★☆
()

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

Сабститушны и поиск в виме удобнее. Макросам я применения практического для себя не нашёл, но про это тебе расскажут другие.

Пошто зобанели kepа? Он как раз нужен в таких тредах.

r3lgar ★★★★★
()

Какие задачи он помогает решать быстрее и лучше чем в других редакторах?

Поменять местами два расположенных рядом символа:
xp

Выделить строку и отсортировать все слова в ней по алфавиту:
V:call setline(".",join(sort(split(getline(".")," "))," "))

Показать в отдельном окне дифф текущего несохраненного файла и его же, но сохраненного ранее:
:diffthis|vertical new|read #|0d_|diffthis|setlocal buftype=nofile

Можно привести четвертый пример, пятый и так далее.

ns_ramesses
()
Последнее исправление: ns_ramesses (всего исправлений: 3)
Ответ на: комментарий от r3lgar

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

Абсолютно то же применимо и к Nano.

border-radius
()

Выучи команды для навигации по тексту, поставь вим-плагин в ide_твоего_выбора, забудь про вим. Voilà, ты взял все полезное для работы, что можно вынести из вима.

ptarh ★★★★★
()

Все пытаюсь приучить себя к vim как к основному редактору

написания кода зачем?

временный эффект

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

каждодневные сценарии

для редактирования конфигов/небольшого исправления в коде чего-нибудь как нельзя лучше подходит

Какие задачи он помогает решать быстрее и лучше

математические. а emacs больше по физическим

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

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

Допустим надо изменить строчку кода в рандомном файле, в виме я сделаю это раньше чем твоя иде загрузится)

kazufukurou
()
Ответ на: комментарий от border-radius

Абсолютно то же применимо и к Nano.

Но в нём нет перемещения на определённую строку; выделение, вырезание, удаление, вставка куска текста в нём тоже отсутствует; замена в нём может и есть, но если так, то я её не нашёл.

r3lgar ★★★★★
()

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

Это временно. Время зависит от вашего желания и способностей адаптироваться к новому подходу.

Какие задачи он помогает решать быстрее и лучше чем в других редакторах?

Это единственный редактор, в котором редактирование текста сделано удобно.
Использую его как основной и единственный редактор (с претензией на ide для c++) на всех платформах.

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

Любая IDE для написания кода подойдёт лучше, чем vim.

Или это закостенелость мышления, или особая степень криворукости.

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

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

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

в кодерстве тоже иногда такое нужно. если проект уже не открыт в ide, то в виме это сделать будет проще

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

Но в нём нет перемещения на определённую строку; выделение, вырезание, удаление, вставка куска текста в нём тоже отсутствует;

Наглое 4.2. Ты хоть мануалы читал?

Переход на любую строку: Alt+G.

Выделение: Alt+A, стрелки.

Вырезание/удаление: Ctrl+K.

Копирование: Alt+6.

Вставка куска текста: Ctrl+U.

замена в нём может и есть, но если так, то я её не нашёл.

Плохо искал - Alt+R.

Всё это и многое другое, кстати, можно переназначить при желании. А не подстраиваться под шизу разработчика.

Короче, RTFM, RTFM и ещё раз RTFM.

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

ну смотрел чувак только на подсказку по основным хоткеям, бывает

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

закостенелость мышления

Это в большей степени подходит для описания вимеров — очевидно странный инструмент, требующий серьёзной подготовки для выполнения тривиальных операций, они возводят в ранг самого удобного. Почему? Привычка. Закостенелость, как ты говоришь, мышления.
Я пользовался вимом не один год. Потом столкнулся с удобной на мой взгляд ИДЕ и забыл про вим как про страшный сон. Те широкие возможности, которые предоставляет вим по автоматизации необычных и нехарактерный манипуляций с текстом полностью нивелируются его странным способом выполнения банальных манипуляций.

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

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

f1u77y ★★★★
()

Vim - хороший редактор текста. IDE - посредственный редактор текста, хорошие автокомплит, рефактор, дебаггинг, навигация по проектy. Раз скорость падает значит ТС скорее всего не хватает какой-то из этих фич. Хорошая новость в том, что есть куча плагинов для vim, которые более менее восполняют недостаток.

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

Не видел пока хороших плагинов. Пользовался IdeaVim года два назад, постоянно что-то глючило, vimrc подключить не удалось. А в vimrc вся суть продуктивности, мало кто пользуется дефолтным вимом. Может за это время исправили, но верится с трудом.

kazufukurou
()

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

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

т.е 1 (быстрый поиск) - это навигация и прочее что позволяет концентрироваться на важном в текущий момент.

2(программируемость инструментов) возможность «погрузить» удачные(обнаруженные самим али узнанные из «источников») приёмы исполнения в виде своих действий в письменную форму к которым можно обращаться в дальнейшем как «чёрным ящикам» - если инструмент позволяет это делать - то это годный редактор/иде/среда если нет - нафиг нужно.

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

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

всё вышеперечисленное о том что хорошие инстументы снижают к теоритическому минимуму рутиность

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

vimrc подключить не удалось

мне удавалось подключить vimrc, удалив из него не нужные для ide вещи типа плагинов и костылей для рефакторинга

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

Я подозреваю что кроме биндингов ничто другое и не поддерживается. К сожалению есть нужные плагины: vim-surround, easy-motion например.

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

VsVim — отличный плагин для Visual Studio. Подхватывает из моего .vimrc биндинги, настройки индентации и нумерации строк, умеет в блочное выделение, поиск, замену, макросы.
В vim-плагине для MonoDevelop, например, я мгновенно замечал нехватку бинда <Esc> на <kj>, а тут — просто счастье, в VS стало удобно кодить.

mathcrosp ★★
()
Ответ на: комментарий от border-radius

Всё это и многое другое, кстати, можно переназначить при желании. А не подстраиваться под шизу разработчика.

Так и в Vim есть vnoremap, nnoremap...

ns_ramesses
()

Какие задачи он помогает решать быстрее и лучше чем в других редакторах?

Внезапно, редактировать текст.

special-k ★★★
()

Не нужно иметь иде на каждый случай? Раньше я держал arduino ide, clion, pycharm и atom (просто конфиги с подцветкой редактировать). Сейчас у меня gvim решает все мои задачи.

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

Это в большей степени подходит для описания вимеров

Дело в том, что вимер знает как пользоваться и другими инструментами. Знает их недостатки. По этой причине вимер и выбрал вим. А неосиляторы да, рассказывают веселые сказки о том, чего не понимают.

Я пользовался вимом не один год. Потом столкнулся с удобной на мой взгляд ИДЕ и забыл про вим как про страшный сон.

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

полностью нивелируются его странным способом выполнения банальных манипуляций.

Значит про «Я пользовался вимом не один год.» я был прав.

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

Управление нано с клавиатуры - это как управление емаксом - управлять можно, но ручонки начинают болеть.

andreyu ★★★★★
()

Use case простой: установить как основной текстовый редактор. Это позволит привыкнут к комбинациям. Забавно, что я в Excel'е уже иногда :wq нажимаю ))

Кричащим про «для админов» скажу что я далеко не админ, но gvim у меня даже на виндовой машине как основной, и менять не хочу.

А основной подход к работе - кастомизировать его под себя, желательно не затрагивая основной функционал. Например, я часто делаю пометки на митингах, ли если что-то читаю. Первое что сделал - строка, начинающаяся с '!' выделяется жирным; '?' в начале строки делается красным (фон делается красным), '>>' в начале строки - синим. Если еще не понял - «обратить внимание», «спросить», «Action Point». Потом заголовки сделал, чтобы fold работал. Еще я пользовался MindManager/Xmind, теперь подстроил vim чтобы делать mindmap'ы: перемещение по веткам одного уровня, перемещение между уровнями, fold, в перспективе export в разные форматы.

Use case очень индивидуален. Ты говоришь что скорость разработки падает. Зач счет чего? Не привык к комбинациям? Что-то находишь неудобным? Не хватает фич?

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

или один плагин для ide.

Какой?

если ide нормальная, то это меньшее из двух зол

Можно пример нормальной ide?

andreyu ★★★★★
()
Ответ на: комментарий от border-radius

Как этот список совершенно бесполезных функций

А, так вы из этих, болезных.

andreyu ★★★★★
()

Единственный плюс vim'a по сравнению с ide, лично для меня - оно умеет работать из терминала, читай по ssh и есть дофига где. То бишь позволяет закостылить/запатчить что-то неотходя от кассы.

По сравнению с остальными редакторами умеющими так же - есть плагиньё позволяющее удобно просматривать говнокодец.

Имеется ещё некая автоматизация, в виде скриптов и макросов, но в большинстве нормальных ide, в том или ином виде сиё имеется так же.

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

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

Какой?

эмулятор vim

пример нормальной ide?

intellij idea(и производные), vs

под нормальностью я подразумеваю функционал самой ide, который делает не нужными примерно любые фичи вима кроме навигации, а также вимоплагин с искоробочной интеграцией в ide(например семантический goto definition и подобное)

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

Всегда удивляло, как делают рефакторинг в vim'ах и подобных. Банальное переименование метода класса превращается в ад.

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

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

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

но быстро поправить что-то, когда не хочется запускать ide

Я решил эту проблему иначе — я пользуюсь IDE, написанной на плюсах и которая запускается где-то секунду.

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

во-во. когда он научится жаве на уровне идеи - тогда и обращайтесь.



(вообще, еще оч многообещающий gnome-builder, однако он сейчас крайне забагованный, даже в тех milestones, которые отмечены выполненными)

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

но тогда теряется унификация

Могу понять, зачем админу унификация в виде дефолта, ну а программисту то?

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

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

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