LINUX.ORG.RU
Форум — Talks  

Зачем нужен vi в любом году, который не 1980?

 , , ,


2

1

Появилось огромное количество наиудобнейших редакторов, без всех этих :wq и прочего говна. Годный TUI был даже в DOS (Turbo Pascal, например), даже с поддержкой мыши. В чём прикол быть садомазохистом (в самом ужасном значении этого слова) добровольно в date +%Y, когда есть nano, ee и прочие удобные редакторы? Есть, конечно, некрофилы, которые педалят очень древнее железо… но сколько их? 1% от 1% от 1%?

Зойчем вообще тащить стандарты прошлого века в современный мир? Сейчас, конечно, начнутся возгласы про «ты просто смузихлёб, бери свой электрон и не ной», но это же манипуляция и/или подмена понятий.



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

Нотепад++

Нет под линуксы (NotepadQQ - это вообще не то)

Original_1
() автор топика
Ответ на: комментарий от stalkerbss

Ммм, сравнивать удобство использования текстового редактора с обязательным знанием таблицы умножения… ЛОР снова пробует в подмену понятий.

Original_1
() автор топика
Ответ на: комментарий от bread

не хочется внешних зависимостей

Ну да, всякое apt install anothershit-dev куда лучше.

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

Если хочется действительно эффективно работать в текстовом редакторе, то руки не должны отрываться от клавиатуры

Кто тебе вообще такое сказал?

Original_1
() автор топика
Ответ на: комментарий от special-k

конец текущего слова

конец строки

Но ведь это умеет любой текстовый редактор

Original_1
() автор топика
Ответ на: комментарий от GFORGX

руки сами Esc+:w набирали постоянно

Приросли, бывает

Original_1
() автор топика
Ответ на: комментарий от special-k

Мышь - это костыль

Ну смотри. Представим, что этот тред открыт в виме. Я вот просто взял и выделил мышью то, что процитировал. Это заняло у меня меньше секунды, хотя у меня дисплей - FullHD, текста много, сам понимаешь. Неужели в виме можно быстрее и удобнее выделить текст?

Original_1
() автор топика

Кстати, заметил в nano одну особенность. Сколько лет им пользуюсь - во всех дистрибутивах дефолт всегда одинаковый. Он уже вменяемый. И уже не надо лезть во всякие .nanorc.

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

Не поняли с первого раза? Я повторю.
Вы ежедневно, «на каждом клиентском сервере» ВиМ пишите?

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

дефолт всегда одинаковый. Он уже вменяемый

В какой Вселенной говно в хотеях вида:

  • Ctrl+O – Save File
  • Ctrl+R – Open File
  • Ctrl+X – Exit
  • Ctrl+K – Cut
  • Ctrl+G – Help
  • Ctrl+W – Find

Является вменяемым?

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

В какой Вселенной говно в виде жонглирования между режимом вставки и коммандным режимом с вводом ублюдочных команд является вменяемым?

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

А vi или vim и не претендует на звание user-friendly editor в отличие от nano. И vi, и vim – редакторы для программистов с высоким порогом вхождения.

Сравнивать nano нужно c micro, mcedit, joe и подобными. И все они гораздо адекватнее этого убогого недоредактора.

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

Мне что, на каждом клиентском сервере лезть в .vimrc? Даже если этих серверов не один десяток?

есть такая классная штука - ansible

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

Да, удобный и логичный. Так как клавиша команды чаще всего соответствует первой букве операции. А поставив перед командой число, ты выполнишь ее это число раз.

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

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

В какой Вселенной говно в виде жонглирования между режимом вставки и коммандным режимом с вводом ублюдочных команд является вменяемым?

Конечно, лучше говно в виде вложеных менюшек, до которых надо мышкой тянуться. Пройди хотя бы vimtutor, а потом вопросы такие задавай.

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

А vi или vim и не претендует на звание user-friendly editor в отличие от nano

ой ли? nano то user-friendly с его невменяемыми сочетаниями клавишь? Вряд ли ты застал и долго пользовался pico

Вот joe - да. Он специально мимикрирует под разные, уже изученные раньше пользователем редакторы. Правда редакторы эти wordstar, emacs (и тот же pico)

И vi, и vim – редакторы для программистов с высоким порогом вхождения.

Ух какая элитарность. Но нет. Достаточно vimtutor пройти за несколько минут и дальше спокойно им пользоваться.

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

Достаточно vimtutor пройти за несколько минут и дальше спокойно им пользоваться.

Гвозди микроскопом тоже можно забивать, но невыгодно и трудозатратно.

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

Но ведь это умеет любой текстовый редактор

Т.к. это реализовано неудобно - никто этим не пользуется.

Неужели в виме можно быстрее и удобнее выделить текст?

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

Плюс в виме легко можно выделять целые строки и даже столбцы. Это все дается одной кнопкой - v (просто, либо с шифтом и контрлом соответственно).

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

Да и вообще, вот надо какой-то один текст привести к другому (например xml данные к json) - я запишу макрос (т.е. запишу действия) и спокойно это сделаю (даж не напрягусь). А что будете делать вы, мышкой копипастить?

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от adn

ой ли? nano то user-friendly с его невменяемыми сочетаниями клавишь? Вряд ли ты застал и долго пользовался pico

Редактор nano так себя позиционирует. Понятно, что это расхождение с реальностью.

Ух какая элитарность. Но нет. Достаточно vimtutor пройти за несколько минут и дальше спокойно им пользоваться.

Нет никакой элитарности, это юмор:

https://img.devrant.com/devrant/rant/r_83706_36LLz.jpg

P.S. Кстати, невменяемые хоткеи в nano как раз и послужили причиной того, что я когда-то давно прошёл vimtutor и вот уже как 15+ лет пользуюсь много где VI-like редакторами.

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

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

у меня вот мизинчик отклоняется, поэтому мне комфортно ползоваться полноразмерной клавиатурой со стрелками, клавишами Home, End, PgUp, PgDwn и даже Num блоком.

не зарекаюсь, если со мной случится несчастный случай и мне отрубит мизинчик, то придётся переучиваться на маленькие клавиатуры и VIM режимы повсюду. а пока что на VS Code полёт нормальный.

P.S. вимом пользоваться умею, при необходимости использую, но не нахожу в нём критичных киллер фич

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

Например, в MS Excel чтобы вставить строку можно нажать Alt, i, r.

У меня тоже есть идея, что можно было бы вимоподобный подход (не хоткеи) присобачить к более привычным наборам клавиш. Например, Alt+6 l стрелка вниз — переход на 6 строк вниз. Да, это медленнее, чем в самом виме (на один Alt, lol), но позволит сохранить другие привычные клавиши и не держать в голове, в каком я сейчас режиме.

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

https://img.devrant.com/devrant/rant/r_83706_36LLz.jpg

Кстати, за это люблю Vim (а многие, наверняка, по той же самой причине Emacs) за то, что постоянно узнаю какие-то новые штуки. Ну, например, из относительно недавнего – case insensitive search с «\c».

И тут можно было бы как топикстартер порассуждать, что это делается двумя кликами в GUI, только в Vim командой это удобнее и быстрее.

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

у меня вот мизинчик отклоняется, поэтому мне комфортно ползоваться полноразмерной клавиатурой со стрелками, клавишами Home, End, PgUp, PgDwn и даже Num блоком.

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

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

заметил в nano одну особенность. Сколько лет им пользуюсь - во всех дистрибутивах дефолт всегда одинаковый.

nano – не pico. Постоянно меняется, растёт и развивается.

vM ★★★
()

ex нужен для чего-то подобного:

cc -g gc.c -o gc; gdb -q gc

Reading symbols from gc...done.
(gdb) edit main
/tmp/q/gc.c: unmodified: line 1
:
vM ★★★
()

Есть 2 категории пользователей: те, кому нужен редактор текстов на постоянной основе, и те, кому надо иногда немного изменить небольшой текст. Вот между ними и идёт спор.

Для первых vi(m)/emacs очень хороший выбор, для вторых – нет, поскольку им просто не нужны удобства, всеядность и гибкости vi(m), для них нужно что-то вроде уже упомянутого tilda или mcedit, где вообще отсутствует «порог вхождения» и не нужно судорожно вспоминать команды, которые смотрел в шпаргалке полгода назад. Ещё лучше был бы ee, но его для Линусков нет.

Дефолтная наркомания nano не подходит никому. Потому nano и двигают в дефолт вместо «чистого» vi. Ну, чтобы никому не было обидно.

P.S. Я здесь различаю редактор текста, т.е. ввод и редактирование, сиречь, изменение текста, и текстовый редактор, в котором предусмотрено оформление (форматирование) текста для конечного потребителя.

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

Чо то мне mcedit совсем не кажется простым и интуитивно понятным. На самом деле сложно сделать консольный блокнот без каких-то заморочек. Из-за тараканов в головах юникс-хакиров в самой консоли и прочих эмуляторах. Вроде как авторам micro наконец-то это удалось.

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

///Чо то мне mcedit совсем не кажется простым и интуитивно понятным.

Что там непонятного, если надо немного исправить файл настроек или сбацать примитивный скрипт?! Разве что несколько способов копирования/вставки.

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

Нельзя. Там без шпоры даже текст невозможно ввести. Или выйти. Или сохраниться. Меню для того и придумали, чтобы пользователь мог начать работать с прогой без чтения многотонных руководств с параллельным их зазубриванием.

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

Согласен. Но ведь консолью тоже невозможно пользоваться без шпоры. То есть до vi сферический юзер просто не доберется. Ну до mcedit ещё есть небольшие шансы конечно.

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

Просто меня удивляют люди, которые какбе работают админами или этими...дево-псами, но не могут найти выход из вима, и им требуются подсказки для альтернативно одаренных в стиле нано. Как они вообще ОСью при этом управляют, загадка. Обычному юзеру консольные редакторы вообще нафиг не нужны.

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

Не, «обычному» ю-зверю консоль и редактор в ней бывают нужны, но сильно редко и не столь универсальные, как vi(m).

Например, я отказался от удобного, но монструозного KDE в пользу lxqt+openbox. Теперь приходится подстраивать вид gtk-приложений редактированием 2х конфигов, находящихся в разных местах. Потому двухстрочник, вызывающий эти файлы на редактирование. Понятно, что всё в консоли и консольным редактором.

Очевидно, что для такого подойдёт ЛЮБОЙ редактор, но мне нужно это раз в 3-4 месяца и возможности vi(m) здесь излишни. Понятно, что на таком уровне я спокойно пользуюсь vi(m), но я не буду рекомендовать кому-либо использовать для этого vi(m).

Но я так же не буду утверждать, что раз vi(m) мне не нужен, то он вообще ///стандарт прошлого века в современном мире.

Потому да, любой сталкивающийся с Linux, должен уметь выполнять простейшие операции в vi(m) и знать о существовании ee, nano (раз уж это пихают как дефолт), mcedit, joe, tilda.

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

Есть 2 категории пользователей: те, кому нужен редактор текстов на постоянной основе, и те, кому надо иногда немного изменить небольшой текст. Вот между ними и идёт спор.

Для первых vi(m)/emacs очень хороший выбор, для вторых – нет, поскольку им просто не нужны удобства, всеядность и гибкости vi(m), для них нужно что-то вроде уже упомянутого tilda или mcedit, где вообще отсутствует «порог вхождения» и не нужно судорожно вспоминать команды, которые смотрел в шпаргалке полгода назад. Ещё лучше был бы ee, но его для Линусков нет.

По-моему всё наоборот. «Немного изменить» - сойдёт и дефолтный vi, а пользоваться им на постоянной основе, имея возможность установить удобный mcedit - мазохизм.

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

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

Я использую Vim. В нем написал такой код:

  • Несколько скриптов на bash для своего локалхоста.
  • Кастомные .bashrc и .vimrc.
  • Скрипты на bash для парсинга веб-страниц при помощи xpath-выражений и складывания значений в SCV.
  • Несколько скриптов для упрощения рутины, когда работал в техподдержке ISP. Один скрипт был реализован на expect, ходил на шейпер трафика и делал «выключить и включить» для конкретного абонента, если он заплатил, а трафик все равно резался.
  • Учебные примеры на C из книжек я перепечатывал в Vim. Не настоящее программирование, но все же.
  • Когда проходил на Coursera курс по Python от ВШЭ, там использовалась PyCharm. В нее я тоже запихнул Vim-режим, потому что он упрощает навигацию по коду. Учебные задачки – не промышленное, но все-таки программирование.

Максимум, что им нужно – это заменить параметр или дописать полторы строчки, отредачить конфиг. Для таких вещей vi, может быть, и удобен.

А еще я писал в Vim стихи и прозу. Для стихов, кстати, Vim идеален, ибо форматирование. Для прозы надо запомнить, что переход по видимым строкам происходит не по [jk], а по g[jk] (но при желании можно переназначить [jk] в .vimrc). Несколько переводов я выполнил в Vim, пока не открыл для себя CAT. Некоторые свои документы набираю в LaTeX, тоже в Vim, в том числе мое текущее резюме. Многие личные записи набраны в *.txt в Vim.

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

По-моему всё наоборот. «Немного изменить» - сойдёт и дефолтный vi, а пользоваться им на постоянной основе, имея возможность установить удобный mcedit - мазохизм.

mcedit удобен для эпизодических правок маленьких текстов, vi(m) – для постоянного использования, когда имеет смысл изучить всё богатство его возможностей. Зачем для правки конфигов подсветка ЯП? Многобуферность? Возможность копировать в буфер от курсора вперёд/назад слово/кусок строки/строку/кусок кода? И пр., о чём я даже не подозреваю.

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

Что ты несёшь?

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

Ты подсветку синтаксиса в фичу vi записываешь?) Лучше найди редактор где её нет. Подсказка: это как раз vi (в vim видимо есть, прикостылили). И да, для конфигов она тоже нужна, и для всех общеизвестных текстовых форматов в mcedit она есть по-дефолту.

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

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

и те, кому надо иногда немного изменить небольшой текст.

Для правки небольших конфигов, где я примерно помню, что на какой строке, и нужны примитивные замены, я вообще ed использую. :) Там меньше нажатий нужно, чем в vi-vim. :)

те, кому нужен редактор текстов на постоянной основе

gedit/pluma, mcedit, vim. Выбираю по задаче и/или по настроению. :)

alt-tab-let ★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.