"Каковы плюсы и минусы Vim и Emacs?" -Ха!
Я в основном оставлю профи другим.
Минусы обоих из них в том, что они оба старой школы. Я использовал, наверное, 50 различных редакторов на протяжении многих лет, от редакторов строки Basic до сверхбыстрых редакторов с кодом на ассемблере (и VEDIT для одного ), до причудливых редакторов с графическим интерфейсом, некоторые лучше других. Я даже написал свой собственный специальный редактор под названием ForthStar и адаптировал его для редактирования дерева листьев btrieve с несколькими индексами для мощного поиска, например, для мгновенного поиска последних листьев, которые я только что отредактировал, или для быстрого поиска компонентов кода или родителей листьев. или дети.
Я думаю, что и vi, и emacs являются скорее религией, чем мускулами. Творческие умы, создавшие их, в значительной степени продвинулись вперед, а новой опоре не хватает мужества и умения -изобретать их заново.
Да, Emacs может многое, но его работа замедляется из-за шепелявости, прекрасного и уже почти устаревшего языка.
Оба застряли в сложных раскладках клавиатуры. Emacs может немного подстроиться под пользователя, как минимум, распознав, что есть клавиша Alt, а не старая мета. И, подобно WordStar, признают, что сохранение C -A C -B прямо из C -A B при быстром наборе не стоит различия. Лучше просто иметь тот, который запускается любой комбинацией клавиш. Да, вы можете изменить привязки клавиш, но тогда какой беспорядок у вас будет позже.
Vi умен, но ему не хватает мощного поиска и замены, как в Notepad++, который показывает вам, что он нашел, позволяет вам расширять его и выборочно применять его в цвете, просто упомянув одно нововведение.
Почти любое другое приложение с графическим интерфейсом в наши дни позволяет изменять масштаб с помощью колесика мыши. Графический интерфейс Emacs, похоже, не работает. И где хороший греческий язык, как у Кейт?
Моей любимой раскладкой клавиатуры на протяжении многих лет был ромб курсора Wordstar. По крайней мере, это было легко освоить и сразу имело смысл.Больше всего я ненавидел WordPerfect, который увеличивал сложность и, похоже, был основан на emacs.
Посмотрим правде в глаза, в наши дни в большинстве стран мира есть GUI. И нравится вам это или нет, текстовые редакторы несколько застряли в своем возрасте.
Я думаю, что было бы лучше иметь универсальный редактор, который мог бы легко переключаться между emacs, vi, wordstar и другими раскладками клавиш, не теряя более мощных команд, которые он может предложить. Настоящим программистам приходится использовать различные инструменты редактирования. Почему бы не иметь редактора, который удовлетворяет наши потребности в выполнении работы, а не заставляет нас делать то, что делает он?
В конвейере источник сценария находится в отдельной среде. Аналогично в примере с заменой процесса. Это означает, что переменные, установленные в сценарии, устанавливаются в дочерней среде для вызывающей оболочки. Изменения в дочерней среде никогда не могут распространяться на родительскую среду.
Это можно решить двумя способами, избегая использования скрипта в отдельной среде.
Первый способ будет работать в оболочке, которая понимает «здесь -строки»:
source meta-cmf-raspberrypi/setup-environment <<<18
Второй способ — использовать стандарт здесь -документ:
source meta-cmf-raspberrypi/setup-environment <<END_INPUT
18
END_INPUT
В обоих вариантах источник сценария находится в текущей среде, а его ввод перенаправляется из документа здесь -строка/здесь -.