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 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.