Вы, вероятно, используете подобные vi привязки клавиш в zsh, не зная это.
Zsh выбирает режим ввода с клавиатуры по умолчанию путем рассмотрения $VISUAL и $EDITOR. Если они посмотрят vi-выход (как "энергия"), то это выберет подобную vi привязку вместо подобной emacs привязки.
C-p
привязка, которой это находится только в подобной emacs ключевой таблице по умолчанию. Вы, очевидно, свободны связать ключи к тому, что Вы любите в подобных vi ключевых таблицах также, как "интервал" предположил. Но возможности, что Вы действительно хотите emacs режим вместо этого, которого можно достигнуть путем выполнения следующего где-нибудь в конфигурации:
bindkey -e
... предпочтительно перед реализацией другой связанной с клавиатурой конфигурации.
Как всегда, полное изложение о строчном редакторе zsh (zle) может быть найдено в соответствующем разделе справочника zsh. Это описывает, как режим по умолчанию выбран, а также какие действия связываются с какой ключи по умолчанию в различных контурных картах.
Рыночные силы.
Специально для Linux гораздо больше программ, чем для * BSD. Большая часть исходного кода программного обеспечения достаточно переносима, чтобы его можно было скомпилировать на обоих, но многие производители программного обеспечения, которые поставляют двоичные файлы Linux, не заботятся о том, чтобы сделать это для BSD, поскольку они имеют меньшую долю рынка, чем Linux по всем направлениям. ¹
Если часть программного обеспечения доступна только в двоичной форме для другой ОС, эмуляция ABI - это один из способов заставить его работать, что и делают BSD.²
Когда-то давно, когда x86 Unix занимала большинство рынка по сравнению с Linux, в Linux была добавлена функция iBCS , позволяющая запускать двоичные файлы, созданные для SCO Unix и тому подобное. Интерес к этой функции снизился по мере увеличения рыночной доли Linux, так что во время серии разработок Linux 2.3 было позволено прийти в упадок .3 Судебные процессы SCO помогли вывести эту функцию из Linux. , но я считаю, что это вторично по сравнению с потерей рыночной силы, которая породила эту функцию.
Нет никаких технических причин, по которым Linux не смог бы когда-нибудь получить функцию, подобную iBCS, для запуска двоичных файлов BSD, но это маловероятно, если рыночные позиции BSD и Linux по какой-то причине не изменятся.
Сегодня такая вещь мало востребована. Сколько вам известно двоичных программ для BSD, которые также не созданы для Linux? Должны быть некоторые, но я предполагаю, что большинство из них предназначены для встроенных BSD, таких как Junos . Такая функция не будет создана, если она не позволяет запускать в Linux важный набор программ, которые иначе не запустились бы.
Сноски:
Я не считаю OS X здесь BSD , поскольку это отдельная проблема двоичной совместимости. FreeBSD, OpenBSD и NetBSD используют ELF на x86, тогда как OS X использует совершенно другой исполняемый формат . Динамическое связывание также сильно отличается в OS X от традиционных x86 BSD.
См. этот вопрос для получения дополнительной информации о двоичной совместимости Linux и OS X.
Как и в случае некоторых видов акул , программа, которая перестает двигаться вперед, умирает. Мы называем это явление гнилью , а не удушьем, когда оно происходит с программным обеспечением, но причина и следствие те же.
Контраст NDISwrapper ,что позволяет Linux запускать только двоичные драйверы сетевых карт, написанные для Windows XP. Выявлена потребность, и потребность удовлетворена. Где это нужно для запуска двоичных файлов, предназначенных только для BSD?