LINUX.ORG.RU

Операционная система GNU/Linux: Текстовые редакторы

 , , , , ,


0

0

В лекции вводится понятие «текстовый редактор». Задача лекции – познакомить читателя с двумя наиболее развитыми инструментами Linux, предназначенными для редактирования текста и решения смежных с редактированием задач: Vim/Vi и Emacs. В одной лекции невозможно дать подробное описание этих программ, поэтому изложение ограничивается основными принципами работы с этими редакторами, простейшими примерами и перечислением случаев, когда удобно и рационально использовать Vim/Vi и Emacs.

>>> Подробности

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

> Работать и параллельно фоеймить

Нет, это все от кривых рук, заточенных под ctrl+c и под стрелочки.

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

> Mess, ты действительно нажимаешь tab _правой_ рукой?

Ти глюпый. Совсем. Правой рукой я нажимаю ентер, шифт, бакспаце, курсорные, инсёрт, цифры на малой клавиатуре и т.п. А для виеводов это всё недоступная роскошь. У них руки скрючены полиомелитом, и перенести правую на десять см вправо они неспособны. Зато ескейп мизинцем без отрыва нажимают...

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

> По теме статьи. И vim и emacs имеют право на существование, но по удобству и полезно-конфигурируемой функциональности им всё же далеко до joe. :)

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

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

>Ти глюпый. Совсем. Правой рукой я нажимаю >ентер, шифт, бакспаце

правым мизинцем легко

>курсорные, инсёрт

нах не нужны, ибо есть hjkl и i, руку переносить никуда не надо.

>цифры на малой клавиатуре

Числа, товарищ, числа. Одну цифру можно и вверху основного блока клавиш нажать.

>перенести правую на десять см вправо они неспособны.

можно и перенести, но лень, поэтому делаем как проще

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

> А для виеводов это всё недоступная роскошь

ну-ну. и enter, и shift, и backspace я тоже нажимаю. числа типа 123456^123456 я руками писать не собираюсь, и тебе не советую, так что цифры писать легко и на обычном цифровом ряду.

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

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

> Оба тащат за собой груз заложенных в них давным давно ошибок/особенностей

ну обоснуй. хоть одну ошибку в виме. а особенности приравнивать к недостаткам это уже вообще...

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

Честно говоря такие высказывания рождаются только тогда когда ничего не знаешь о редакторе. Прежде чем осудить попробуй сначала заюзать Мне например очень обидно становится когда линуксоид говорит что вим/емакс сакс при этом даже не попробовав его поучить и знает лишь как побыстрее из него выйти :) . Мне не понятно, не стыдно ли товарищи говорить о мощностях sed perl and other и при этом обсырать vi/vim emacs ?

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

> нах не нужны, ибо есть hjkl и i, руку переносить никуда не надо.

О! Я понял! vi, это редактор для ноутбуков. У которых убогая клавиатура. Вот там его и юзайте, в своё полное удовольствие, а с дескотопов идите нафик.

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

сам иди нафик ) ты когда-нибудь видел эргономичные клавиатуры? они специально предназначены для удобства, и там очень удобно работать в виме, а ctrl и другое нафиг не нужно

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

>> нах не нужны, ибо есть hjkl и i, руку переносить никуда не надо.

>О! Я понял! vi, это редактор для ноутбуков. У которых убогая клавиатура. Вот там его и юзайте, в своё полное удовольствие, а с дескотопов идите нафик.

Я же говорю, лень махать рукой туда-сюда :) Впрочем, как я понял, ты десятипальцевого набора не знаешь, т. ч. тебе вполне могут быть удобней стрелки и ins. Что ж, как говорится, каждому свое...

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

Mess ты растешь на глазах !!! Ты сам нашел еще одно преимущество VIM на нем одинаково удобно и эффективно работать даже на разных клавах

anonymous
()

что-то я не помню в Emacs файла .emacsrc - по умолчанию используется .emacs

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

> Ты сам нашел еще одно преимущество VIM на нем одинаково удобно и эффективно работать даже на разных клавах

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

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

Mess так в этом и есть его преимущество! Тебе будет абсолютно по барабану с какой клавой тебе редактировать текст :)

Vim rulez!

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

под расширенными возможностями клав подразумеваются мультимедийные клавиши, которые можно замапить хоть вместо того же ескейпа? удобное расположение esc? отодвинутые в стороны delete,стрелки и нумпад? если да, то вим на современной клавиатуре - идеал.

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

> Mess так в этом и есть его преимущество! Тебе будет абсолютно по барабану с какой клавой тебе редактировать текст :)

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

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

Раз пошла такая пьянка, можно я тоже подкину задачу?
Есть два файла. В первом некоторое количество строк. В каждой строке по одному слову. Во втором - текст. Задача - каждое слово из первого файла найти во втором (все вхождения!) и к примеру удалить.
М? Хто там спец-та?

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

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

Чего не умеет реализовывать? И стрелки и ins/del/home/end и иже с ними в vim работают идеально. Для альтернативно одаренных даже придумали vim-easy, в котором режим вставки включен изначально, и с ним можно работать как с обычным текстовым редактором.

По поводу той задачки, что ты задал - фаром/вордом ее решать будет еще трудней, чем вимом. Вообще, для такой рутинной работы придумали вещи вроде sed и регулярных выражений. Их и надо использовать в данном случае

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

> Есть два файла.

Десятки способов. Учи основы скриптинга на шелле, sed тебе в руки, он спасёт отца русской демократии.

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

> По поводу той задачки, что ты задал - фаром/вордом ее решать будет еще трудней, чем вимом. Вообще, для такой рутинной работы придумали вещи вроде sed и регулярных выражений. Их и надо использовать в данном случае

ФАРом чуть геморойнее, но не запредельно, вордом же в полпинка. Но всё же - как в вие?!

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

>ФАРом чуть геморойнее, но не запредельно, вордом же в полпинка. Но всё же - как в вие?!

А при чем здесь вий (название ты классно обыграл, не спорю :))?

>>Вообще, для такой рутинной работы придумали вещи вроде sed и регулярных выражений. Их и надо использовать в данном случае

То бишь, vi/vim в _данном_ случае не нужен. Преобразовывать один формат в другой - работа для компьютера, а не для человека

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

> А при чем здесь вий

Блин. Мы всю дорогу спорим, что он супер-пупер редактор, который хоть и имеет странный интерфейс, но это окупается тем, что может всё.

> (название ты классно обыграл, не спорю :))?

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

> То бишь, vi/vim в _данном_ случае не нужен. Преобразовывать один формат в другой - работа для компьютера, а не для человека

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

Я всю дорогу мужесвтенно молчал об одном из самых главных и мерзких недостатков этого уродца - о регэкспах. А именно, что даже самый навороченный регэксп оперирует только в пределах одной строки. И это просто пипец. В le я это делаю элементарно. Потому, что он помимо регэкспов умеет понимать \n как обычный символ. В Ворде тож самое. Для ФАРа я подобного плагина не нашёл, там приходится геморроиться побольше. В тех редакторах, которые целиком полагаются на мощь регэкспов, такую несложную вещь не сделать.

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

Почувствуй это !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

:g/^\( \)\@!/-1j

vim forever!!!!!!

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

> А именно, что даже самый навороченный регэксп оперирует только в пределах одной строки

лол! ты не юзал его ) :%s/first/second/

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

>Блин. Мы всю дорогу спорим, что он супер-пупер редактор, который хоть и имеет странный интерфейс, но это окупается тем, что может всё.

Фига :) Никто не говорил, что он умеет все. Уметь все - не юниксвей, в конце концов. vi/vim удобен тем (по крайней мере, для меня), что он позволяет не снимать пальцы с основной позиции при печати десятью пальцами.

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

> vi/vim удобен тем (по крайней мере, для меня), что он позволяет не снимать пальцы с основной позиции при печати десятью пальцами.

+100 за это и любим

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

> Mess ты уныл.

Mess - молодец. Самому всегда было интересно за что так любят вим его фанаты. Пока адекватных, практически ценных доводов в пользу вима прозвучало немного. Да и среди них в основном упоминаются какие-то ускоспециализированные задачи, с которыми лично мне не приходилось сталкиваться ни разу

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

>ускоспециализированные задачи

Лолшто? Набор текста и перемещение по нему - узкоспециализированная задача? Не смеши меня, я - свежее молоко!

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

> Мне не понятно, не стыдно ли товарищи говорить о мощностях sed perl and other и при этом обсырать vi/vim emacs ?

Надеюсь, это не меня к таким товарищам отнесли, я о vim или emacs плохого не скажу. Просто отконфигурировать их, чтобы вели себя максимально удобно, хотя бы как мой отконфигурированный joe за _десятки лет_ попыток не смог. И ты не сможешь, тут надо принципиально исходники менять, далеко не всё в этих "мощных" редакторах конфигурируется, и look, и feel, и функциональность. В своё время такой ответ мне давали специалисты по этим редакторам, когда я ещё не оставлял попытки на них перейти много лет назад, да и сам я спец в конфигурировании. Можно даже поискать мой старый список желаемых, мо невозможных поведений. Многие десятки нудных мелочей (которые непривередливому пользователю может и не мешают, а мне мешают), а также десятки мелких полезных вкусностей не представляется возможным удалить/переделать/добавить в emacs и vim без серьзёзного изменения их исходников. К сожалению.

Да это и не нужно. Полно других текстовых редакторов. Каждому на свой вкус, привычку, функциональность и цвет.

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

>Полно других текстовых редакторов. Каждому на свой вкус, привычку, функциональность и цвет.

+1024

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

"Набор текста и перемещение по нему" как раз задача часто встречающаяся. Смешно другое - попытки приспособить для этого дела программу с интерфейсом тридцатилетней давности.

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

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

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

месс простой тролль, а не молодец, он сам ни одного адекватного аргумента не привел, а все его сопли в одну сторону: "мне так удобно, а значит это единственный правильный путь".

выделение абзаца у меня на Shift+gv повешено и оно выделит абзац именно до следующего, который начинается или с таба или с пробела.

2Месс: месс, как в твоем редакторе быстро перевод слова вставить вместо выделенного (причем выбрать направление перевода и выбрать вариант, если их несколько) или хотябы быстро посмотреть как оно вообще переводится? или подключить тезаурус?

А как найти слово со всеми его формами? (желтый, желтого, желтушный, но не слова типа желудь)

а еще я хочу, чтобы редактор при выходе проверял правильность скобочек (чтобы открытая, соответствовала закрытой) и удалял лишние пробелы в конце строк.

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

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

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

>"Набор текста и перемещение по нему" как раз задача часто встречающаяся. Смешно другое - попытки приспособить для этого дела программу с интерфейсом тридцатилетней давности.

Ога. Даешь каждый год новый интерфейс! Чем старый плох? Одной тридцатилетнестью? Или чем-то еще?

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

в емаксе лисп есть, там можно ИИ сделать, а вы про какие-то "мелкие вкусности" добавить не можете )

капч neeburn

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

> Смешно другое - попытки приспособить для этого дела программу с интерфейсом тридцатилетней давности.

А вот в чем дело. Нужны кнопочки? Кнопочки есть в gvim, который удобнее но совсем не по причине наличия кнопочек

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

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

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

> А вот в чем дело. Нужны кнопочки? Кнопочки есть в gvim, который удобнее но совсем не по причине наличия кнопочек

По сравнению с вимом это кстати большой шаг вперед.

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

> Mess - молодец.

дада, "Это не мы - уроды, это все остальные - уроды" (с)

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

>Да возьми ту же модальность, доставшуюся в наследство от телетайпов, старых как говно мамонта. От нее вообще какой-нибудь толк то есть?

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

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

vi есть везде .
vi надо знать .
vim просто удобен.
есть perl
есть shell
есть sed/awk
я люблю plain text .
в ms office есть doom :)
мне хочется блевать от MS
я вспомнил что там есть cmd
bueee ......
:wq

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

> Ты лучше, раз такой куртой перетц, расскажи, как сделать в вие то, что я спрашивал. Повторю для особых: текст, в котором абзацы оформлены пробелами в начале первой строки, пустых строк между абзацами нету. Требуется получить абзацы в одну строку.

:%s,\n\([^ ]\), \1,g

> Я всю дорогу мужесвтенно молчал об одном из самых главных и мерзких недостатков этого уродца - о регэкспах. А именно, что даже самый навороченный регэксп оперирует только в пределах одной строки.

o_0

Jini ★★
()

А ненадо тянуться к Esc отрывая руки (кому?). Достаточно нажать Ctrl + [ не отрывая рук (кому опять же?). Капча undled

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

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

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

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