LINUX.ORG.RU
ФорумTalks

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

 , ,


3

7

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

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

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

Ответ на: комментарий от aidaho

Вот именно. Программисту унификация нахрен не упёрлась. Поэтому программисту не нужен и вим, единственное преимущество которого — наличие во всех дистрах в дефолтной поставке.

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

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

man acme, например. Хоть сам я и не фанат, но ему трудно отказать в элегантности.

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

Для крестов, скоро сделают commandline тул, с возможностью скриптования обхода ast на lua...

Давно пора, странно, что ранее до этого никто не дошёл.

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

А для того же python и js, насколько я знаю такие поделки уже есть.

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

Какой?

эмулятор vim

Их тьма, но все что я видел - заменить вим даже близко не могут.

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

Ну кому-то и клопы коньяком пахнут.

под нормальностью я подразумеваю функционал самой ide,

Что за такой нормальный функционал есть у «intellij idea(и производные), vs»?

который делает не нужными примерно любые фичи вима кроме навигации,

Вот прямо так любые? :)

а также вимоплагин с искоробочной интеграцией в ide(например семантический goto definition и подобное)

То, что я вижу в visual studio + visual assist далеко до моего понимания «удобная навигация». А ведь vs + va далеко не самая худшая связка.

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

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

Тоже думал, что рефакторинг а-ля vs - это круто. Но вот ни разу не страдаю от отсутствия вижлового рефакторинга.

andreyu ★★★★★
()

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

Конфиги редактировать.

kernelpanic ★★★★★
()

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

На удивление, но редактирование текста.

beastie ★★★★★
()

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

зачем? раз тебе хорошо на emacs, сиди на emacs.

выгодно отличают от остальных редакторов

ты так говоришь, как будто их больше двух.

и даже ide?

а, ну тут все просто. vim уступает IDE только в одном пункте — времени изначальной настройки под какой-нибудь новомодный дурацкий набор технологий. после этого тупо превосходит во всем.

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

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

Я знаю разработчиков софта с 10-летним стажем, которые сменили 6-7 работ и с работы на работу таскали свой ~/.vimrc со скриптом-инсталлятором. Времени на настройку Vim на новом месте уходило полчаса в год.

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

А зачем скрипт установки? У меня измененный vimrc с vim-bootstrap и он разворачивается сам при первом запуске.

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

У меня измененный vimrc с vim-bootstrap

vimrc у меня сам проверяет наличие плагинов и, если надо, выкачивает их, компиляет, правит в них кое-что через sed. Но не все додумываются до такого. Обычно таскают связку .vimrc + vim_installer.sh.

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

vimrc у меня сам проверяет наличие плагинов и, если надо, выкачивает их, компиляет, правит в них кое-что через sed. Но не все додумываются до такого. Обычно таскают связку .vimrc + vim_installer.sh.

Чёрте сколько лет по-моему хипсторы деплоят всё с гитхаба одной кнопкой, используя очередной менеджер плагинов (vim-plug и ещё 9000 наименований). И сам vimrc, который запускает vim-plug, естественно тоже оттуда же клонится.

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

Так vim-bootstrap и делает что вы написали.

Он много лишнего пихает в ~/.vimrc. И использует NeoBundle зачем-то вместо vim-plug.

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

И сам vimrc, который запускает vim-plug, естественно тоже оттуда же клонится.

Я так и делаю. .vimrc клонирует vim-plug и ставит его, а затем vim-plug ставит плагины, после чего .vimrc правит некоторые плагины через sed.

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

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

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

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

Во время разработки происходит в т.ч. редактирование текста. С дебагом/рефакторингом хуже, да. Это можно и в IDE сделать.

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

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

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

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

Не знаю, у меня в питоне ropevim всё переименовывает.

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

Нет смысла запускать дебаггер прямо внутри Vim. Есть cgdb.

Любят понапихивать всякие дебаггеры внутрь Vim только те, кто не осилил динамические тайлинговые WM с нормальными лэйаутами.

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

Мне не нужна мнемоничность, мне нужна транзитивность и унифицированность.

В Nano, Mousepad, Textadept и Atom у меня везде настроено сохранение по Ctrl+S, а вырезание выделенного по Ctrl+X. Как в виме настроить такие же хоткеи, чтобы ориентироваться исключительно на моторную память и не задумываться лишний раз, в каком редакторе сейчас находишься? А никак, ибо модальность из вима не выпилишь.

В этом смысле вимеры похожи на макофилов - у всех есть PgUp/PgDn/Home/End, и только у них, сцуко, кастрированность выдаётся за преимущество, ибо «think different»...

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

А у меня мои программы используют вим хоткеи. Как во всех редакторах, которые вы перечислили настроить сохранение на :w, а копирование на 'y'?

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

У тебя все программы страдают модальностью или не принадлежат к классу текстовых редакторов?

В мире текстовых редакторов - одни правила, в мире модальной маргинальщины - другие.

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

Это не страдание, а преимущество.

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

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

Мне не нужна мнемоничность, мне нужна транзитивность и унифицированность.

В Nano, Mousepad, Textadept и Atom у меня везде настроено сохранение по Ctrl+S, а вырезание выделенного по Ctrl+X. Как в виме настроить такие же хоткеи, чтобы ориентироваться исключительно на моторную память и не задумываться лишний раз, в каком редакторе сейчас находишься? А никак, ибо модальность из вима не выпилишь.

Vim хоткеи тоже распространены. А зачем ты используешь несколько текстовых редакторов?

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

редкостный дебил с неприятной аватаркой

сам ты дебил, епта!

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

Vim хоткеи тоже распространены.

В немодальных редакторах? Каким образом?

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

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

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

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

Если мы о *nix окружении, то vi/vim там уже должен быть.

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

Vim — это редактор текста, потому им можно (и нужно) управлять с клавиатуры

Пять - это число, поэтому небо голубое.

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

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

Со всем остальным согласен.

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

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

чушь ;)

P.S. И да, я сейчас нажал CTRL+ENTER, а не взял мышку в руки, и не нажал на кнопку «Поместить».

P.P.S. И в браузере установлен vimium. Вообще, мечтаю купить клаву с тачпадом. Мышь не особо и нужна.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Pythagoras

Vim — это редактор текста, потому им можно (и нужно) управлять с клавиатуры

Пять - это число, поэтому небо голубое.

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

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

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

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

Продолжай заблуждаться.

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

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

Редактирование - это не только ввод текста.

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

Мне платят не за количество рук. И даже не за скорость набора текста.

Продолжай заблуждаться.

Ничем не подкреплённая аргументация фанатика.

Pythagoras ★★
()

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

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

Один из примеров людей с этим синдромом является Ричард Столлман. Но так как он использует только емакс, ему приходится заниматься проповедями, а не программировать.

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

чушь ;)

Ещё один фанатик!

Вот допустим нужно вставить в текущую позицию курсора слово, которое уже встречалось пол экрана назад. Мои действия: выделяю слово мышкой, нажимаю среднюю кнопку, продолжаю набирать текст. Твои действия? Вверх-вверх-вверх-вверх-вверх-вверх-вверх-вверх-вправо-вправо-вправо-вправо-вправо-вправо-v-вправо-вправо-вправо-y-вниз-вниз-вниз-вниз-вниз-вниз-вправо-вправо-вправо-p? Я здесь немного сократил, конечно. Ну ладно, можно немного оптимизировать, посчитать пальчиком на экране строчки и сразу написать, на сколько строчек надо переходить, можно выучить какой-нибудь хоткей запоминания позиции и возврата обратно, можно переходить по словам, а не по символам, но всё равно если упорото игнорировать остальные устройства ввода, то в итоге проще будет просто набрать слово заново.

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

Редактирование - это не только ввод текста.

Ввод текста — это и его редактирование в том числе.

Мне платят не за количество рук. И даже не за скорость набора текста.

Странно, что тебе с таким отношением вообще платят.

Ничем не подкреплённая аргументация фанатика.

Не считаю нужным распинаться перед тем, кто упёрся рогами в своё субъективное мнение, и не принимает аргументацию.

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

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

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

Вот допустим нужно вставить в текущую позицию курсора слово, которое уже встречалось пол экрана назад.

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

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

напечатать

зы. если есть авторасширение(не путать с выбором из спискапо префиксу) то при активном(+1 нажатие активации) авторасширении число нажатий равно уникальному префиксу

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

Странно, что тебе с таким отношением вообще платят.

А что, часто на собеседованиях спрашивают, «сколькими руками вы печатаете» и «сколько знаков в минуту»? Ты работаешь машинисткой что ли?

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

Не считаю нужным распинаться перед тем, кто упёрся рогами в своё субъективное мнение, и не принимает аргументацию.

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

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

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

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

Тогда вам лучше еще панельку в редактор

По-моему, вы меня не так поняли.

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

В виме есть автодополнение, которое работает на все слова

У автодополнения есть ограничение - оно работает только на слова. Ладно, а если это не слово, а, скажем, имя файла, заряжать автодополнение на каждый элемент пути? Или команда со списком аргументов?

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

А что, часто на собеседованиях спрашивают, «сколькими руками вы печатаете» и «сколько знаков в минуту»?

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

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

Я ниже развенчал твой юзкейс.

такая аргументация, которую в приличном обществе обычно не принимают

Я аргументировал выше, но ты почему-то проигнорировал эти строки.

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