LINUX.ORG.RU

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

 , , , , ,


0

0

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

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

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

> Блин ты еще и туп. Вот тебе задача вставить 100000000 раз букву 'a' в строку

Ну да, я туп, что мой редактор 100000000 букву в строку не вставляет, а тот, кто такие вещи текстовым редактором делает, вершина интеллекта, конечно. Дятел, sed сделает это в тысячи раз быстрее вия. Ты слышал, что в юниксовых редакторах можно блоки текста отдавать через пайп произвольным утилитам, типа grep или sort?

> Кстати как в фаре разбить окно на два и открыть в этих окнах один и тот же файл в разных местах?

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

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

> кто такие вещи текстовым редактором делает, вершина интеллекта

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

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

> Тебе пример привели как аргумент против твоей идиотской идеи считать эффективность по кликам.

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

Mess
()

Stop feeding the troll

Господа, перестаньте кормить тролля.

Лучше обратите внимание на то, что этой новости три года от роду, и что на сайте DeveloperWorks свободная лицензия на этот текст заменена проприетарной.

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

Верно, кроме кликов еще я бы еще учел ценность предлагаемой операции редактирования. Наксолько она соответствует повседневным задачам пользователя. Мне лично никогда не приходилось вставлять в текст букву 1000000 раз. И более чем уверен что никогда и не понадобится, а если раз в жизни и случится такой геморой, то только ради этого я изучать текстовый редактор не стану. Есть куча других способов вставить в текст букву а 100000 раз.

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

> И этих простых задачек - подавляющее большинство

Ну да, вот моя ЧАСТАЯ задача это приводить в читабельный вид книги электронные + иногда переводить или исправлять ошибки. Кучу редакторов попробовал, и на яве и не на яве, только вот у всех есть дурацкие ограничения и фактически нужно 2-3 редактора чтоб сделать то, что я могу сделать с одним вимом. Пример с книгой, что я привел очень показательный, для этих замен я долго искал редактор, спрашивал на форумах, не нашел.

Если твои задачи это скопировать что-то с веба и сохранить, то таки да, для этого и ноутпад подойдет.

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

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

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

Burbaka ★★
()

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

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

> Ну да, вот моя ЧАСТАЯ задача это приводить в читабельный вид книги электронные + иногда переводить или исправлять ошибки.

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

> Если твои задачи это скопировать что-то с веба и сохранить, то таки да, для этого и ноутпад подойдет.

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

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

> А как в виме сделать, чтобы в длинных строках, которые занимают больше одной строки в терминале, при нажатии клавиш вверх/вниз курсор перемещался вверх/вниз на одну экранную строку, а не строку текста?

g + стрелки или hjkl работают именно так. Если хочется чтобы так было поумолчанию перемапь j на g+j -> на g+-> и.т.д

vgudkov
()

gedit рулит =)) А вообще юзайте nano и будет вам счастье!

ceeqwer
()

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

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

>> ee из FreeBSD

> А зачем это угробище вообще вспоминать? Есть для привыкших к морлокскому стилю vi такой компромисс как joe. Для себя я выбрал малоизвестный редактор le.

Это "угробище" — часть системы. Ничего дополнительно устанавливать не надо.
(Кстати:
> joe
joe: Команда не найдена.
> le
le: Команда не найдена.)

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

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

>И я в своих редакторах могу попасть сразу в нужную строку.

С клавиатуры на мышку. Поволить указателем. Понажимать на кнопки мыши. Потом с мышки снова на клавиатуру и т. д.

А мне, почему-то, в vim не приходится строчки считать. Интересно почему?

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

>Блин, как меня умиляет гордость виеводов за квадратные вставки!

Только вот подобные вставки тоже разные бывают. И возможности работы с ними тоже.

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

> Сколько нажатий надо чтоб в тексте из числа 9999 сделать 10000? в виме ровно одно.

А в каком нормальном редакторе не одно? В joe например можно так:

:def plus1_word psh,nextword,markk,prevword,markb,filt,"perl -pe '$_++'",rtn,nextword

Почему perl с "++", а не скажем "expr 9999 + 1"? Просто таких задач для редактора
на фильтрацию у меня десятки, perl для редактирования подходит в самый раз. :)

:def rot13_word ... "perl -pe 'tr/A-Za-z/N-ZA-Mn-za-m/' ...
:def rever_word ... "perl -pe '$_ = reverse'" ...
:def upper_word ... "perl -pe '$_ = uc'" ...
:def lower_word ... "perl -pe '$_ = lc'" ...
:def lo4up_word ... "perl -pe '$_ = /^[a-z]/ ? uc : lc'" ...
:def capit_word ... "perl -pe '$_ = ucfirst lc'" ...

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

>Кстати как в фаре разбить окно на два и открыть в этих окнах один и тот же файл в разных местах?

Или 2 разных файла (точнее 2 разные версии одного файла), выделить отличия и помочь ликвидировать некоторые из них?

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

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

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

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

>> Сколько нажатий надо чтоб в тексте из числа 9999 сделать 10000? в виме ровно одно.

>А в каком нормальном редакторе не одно? В joe например можно так:

>:def plus1_word psh,nextword,markk,prevword,markb,filt,"perl -pe '$_++'",rtn,nextword

Нифига, у тебя это занимает как минимум 86 нажатий клавиш, программирование этой функции + сама замена. (не думаю, что такая замена является повседневной операцией и функция уже заранее подготовлена).

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

Слушай, Mess! вот опять разберу твой дурацкий пример удалить 3 слово в 20 строке. В виме можно не только считать строки, там есть и переход на следующую строку. И пока ты передвигаешь руки куда-то в область стрелок, можно просто нажать j. Алгоритм тот же, но j на основной клавиатуре, поэтому вим тут оказывается быстрее. Переход к 3 слову... о ужас, тянуться к ctrl, нажимать стрелки... Поверь, нажать ww будет гораздо быстрее, поверь (хотя есть риск случайно по привычке нажать w три раза). Ctrl-del - тоже ужасно. и ctrl, и del далеко от нормального расположения рук на клавиатуре, нажать dw будет _гораздо_ быстрее. вот так и получается выигрыш в скорости в виме.

зы: капча harwed

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

> С клавиатуры на мышку. Поволить указателем. Понажимать на кнопки мыши. Потом с мышки снова на клавиатуру и т. д.

Кто тебе сказал про мышку? С каких веществ тебе прибредилось, что я при работе с текстовым редактором вообще мыши касаюсь?

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

> Только вот подобные вставки тоже разные бывают. И возможности работы с ними тоже.

Я весь - одно большое ухо. Какие такие разные вставки ты можешь описать кроме линейных и вертикальных блоков?

Да, ктонить ответит на мой вопрос по вию, заданный чуть выше? Может? Как? Или не может?

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

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

anonymous
()

до ворда линуксу ещё работать и работать

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

> И пока ты передвигаешь руки куда-то в область стрелок, можно просто нажать j

Угу. А ты не принмаешь в расчёт, что джи, она именно что на основной клавиатуре, значит - среди кучи остальных. Её там ещё найти надо. Я не владею слепым десятипальцевым методом. Мне слово на клавиатуре из n букв набрать медленнее, чем n раз нажать курсорную клавишу. Как и 99% людей Земли.

Ты про эти ужасы "тянуться к ctrl" серьёзно? Если нет, то не смешно, если да, то иди в жопу, идиот. Куда там тянуться-то? Ты клавиатуру в глаза видел? Контрол далеко от остальных клавиш находится? Курсорные клавиши находтся к основной клавиатуре ближе, чем цифровая клавиатура, но мне цифры набрать на ней неизмеримо удобнее и быстрее, чем на основной. Левая зажимает контрол, правой, не глядя, на ощупь не промахнёшься, тычем по курсорным. Делет, дятлушко, находится к энтеру, например, в десять раз ближе, чем к тому же энтеру находится Tab. Тебя кто-то заставляет, под страхом отлучения от Истинной Веры в Великого Пингвина, нажимать все аккорды только одной рукой?

В общем, такой бред даже не интересен.

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

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

В le - курсор в начало блока, F5, курсор в конец блока, F6, F4, >#, Enter. Но он в этом деле не самый удобный. В ФАРе мне просто нет нужды это делать, поэтому и плагинчик к редактору, соответсвтующий, не установлен. Если установить, то примерно так же.

А ты перечисли-ка свои клавиши, а то я что-то не верю в твои подсчёты, тут уже были преценденты, когда виеводы тупо перевирали цифры.

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

> В общем, такой бред даже не интересен.

Только вот бред тут несешь ты. Ты путаешь "это очень удобно 99% населению земли" и "я ничего другого не знаю, а значит это удобно всем, а все, кто не согласен - уроды"

Вот кстати верно сказали, сколько тебе надо клавиш, чтоб закоментировать 20 строк?

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

>И пока ты передвигаешь руки куда-то в область стрелок, можно просто нажать j

Только чтобы предварительно перейти в коммандный режим надо оторвать руку и нащупать Esc в левом верхнем углу, а потом найти j в середине.

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

>5,cc daje 4 poluchaetsa, ya oshibsya

Кодировку сначала настрой.

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

> 5,cc

Курсор в начало блока ты упустил, переход в режим командной строки ты не учёл. Какобычно. А что ты будешь делать, если захочется не стандартный комментарий влепить, а произвольный? Я часто использую что-то вроде ##-##-##, чтобы с полувзгляда было видно, где мои шаловливые ручонки блок заремили, а где авторское творчесвто. Ы?

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

> нащупать Esc в левом верхнем углу, а потом найти j в середине

дада, Esc далеко :(( а вот (огромный секрет) на j есть такая специальная засечка )

ЗЫ: да и не владеть слепым десятипальцевым методом печатания - ЛОЛ.

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

> ЗЫ: да и не владеть слепым десятипальцевым методом печатания - ЛОЛ.

Щас тебе объяснят, что это не надо и что прАдвинутые пОцОны пользуют фаровский редактор.

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

> ЗЫ: да и не владеть слепым десятипальцевым методом печатания - ЛОЛ.

Ой, я щас расплачусь. Я не секретутка, чтоб скорсть печати для меня важнее всего была. Меня моя скорость набора вполне устраивает. Быстрее многих и многих.

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

> прАдвинутые пОцОны пользуют фаровский редактор.

И не знают эти пОцОны, что вим может как обычный редактор (читай аля ноутпад) работать со всеми ctrl+-> ctrl+c, ctrl+v. ему для этого даже в конфиг лезть не надо.

и плачут эти пОцОны, потому что истерика у них началась сразу при виде вима.

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

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

> А нажимать её приходится ну очень часто. Удобна-а-а...

а вот ctrl у меня на клавитуре нажимать неудобно. и что?

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

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

> не думаю, что такая замена является повседневной операцией и функция уже заранее подготовлена

С чего ты такое придумал? В vi же подготовили заранее, если верить высказывающимся. А тут даже исходников не надо менять, чтобы как угодно и что угодно под себя подстроить. Кому надо, один раз подготовит или у друга скопирует и будет всю жизнь использовать, нажимая одну клавишу.

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

Mess ты лузер! убей себя - яд, стенка.. выбирай

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

>вот ctrl у меня на клавитуре нажимать неудобно. и что?

Не 3.1316зди. Контрл можно мизинцем нажать, а вот для того чтобы нажать Esc нужно отрывать руку 100%. Ну, кроме случаев скрипачей с граблями как у Паганини, так чтго 99%.

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

> а вот ctrl у меня на клавитуре нажимать неудобно. и что?

Выкинь такую клаву, вот что.

> и нажимаю я tab все-таки левой, а не правой.

У тебя правая рука не работает? Бе-едненький. А мне кусрорные клавишы очень удобно правой нажимать.

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

Толстые тролли детектед. Esc нажимается левым мизинцем легко и непринужденно, не сходя с основной позиции.

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

Да ты в курсе режимов вима :) это уже +

#some block

test string test string test string test string test string

/some<enter> (это быстрый поиск твоего блока ) qqj^i##-##-##q4@q

каков коментарий таково и решение теперь этот тип коментария можно сохранить и для последющего применения нажатием скажем ctrl+k просто замапим команду и все

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

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

капча: bootly

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

>> и нажимаю я tab все-таки левой, а не правой.

> У тебя правая рука не работает?

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

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

Mess, ты действительно нажимаешь tab _правой_ рукой? у тебя настолько кривые руки, что ты можешь удобно нажимать правой на стрелки и одновременно нажимать на tab? это надо руку перемещать куда-то далекооо...

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

>>У тебя правая рука не работает? Бе-едненький. А мне кусрорные клавишы очень удобно правой нажимать.

Клавишы, блять. КЛБ!

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

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

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