Проблема: другой ПУТЬ в masi
и корне
, поэтому используйте su -p
не чтобы изменить ПУТЬ при переходе к корню
.
Мое предложение по обходному пути
su -p
tlmgr update --self
Результат
tlmgr: package repository http://mirror.datacenter.by/pub/mirrors/CTAN/systems/texlive/tlnet (verified)
tlmgr: saving backups to /usr/local/texlive/2016/tlpkg/backups
tlmgr: no self-updates for tlmgr available.
По иронии судьбы, ответ на вопрос, который люди предлагают в качестве дубликата…
bindkey '\e[A' history-beginning-search-backward bindkey '\e[B' history-beginning-search-forward… является совершенно неправильным ответом . Это гарантирует, что управляющие последовательности вашего терминала для клавиш редактирования со стрелками отображаются ZLE на виджеты расширения
history-beginning-search-backward
и history-beginning-search-forward
, которые предоставляются подключаемым модулем Oh My ZSH history-substring-search
.
{{1} } Это именно то, что вам не нужно.
Вы пытаетесь отключить эту функцию, потому что предпочитаете другое поведение; не пытаюсь отремонтировать его, потому что он сломан.
Вы хотите, чтобы эти ключи отображались на виджеты, как в оригинальной Z Shell, Oh My ZSH - это набор расширений и настроек Z Shell, которые нравятся некоторым (но не всем) людям. Виджеты Vanilla Z Shell имеют примерно то же поведение оболочки Bourne Again, которое вы предпочитаете.(В отличие от оболочки Bourne Again, если у вас есть многострочный буфер редактирования, они будут перемещаться вверх и вниз в нем раньше, по верхнему и нижнему краям буфера, перемещаясь вверх и вниз по истории.)
Те виджеты будут:
bindkey "$terminfo[kcuu1]" up-line-or-history bindkey "$terminfo[kcud1]" down-line-or-history
Обратите внимание на то, как не встраивают один конкретный тип терминала в свои сценарии. В качестве альтернативы можно использовать «$ termcap [ku]»
и «$ termcap [kd]»
. Z Shell, предполагая, что у вас загружены соответствующие модули, поддерживает карту для обоих. Однако в целом мир предпочитает terminfo, если он есть сейчас. Чтобы быть строго пуленепробиваемым, в том, что вы используете с гетерогенными системами или передаете другим людям, вам понадобится test -n
- так же, как вы обнаружите, что расширения Oh My ZSH на самом деле делают .
test -n "$terminfo[kcuu1]" && bindkey "$terminfo[kcuu1]" up-line-or-history test -n "$terminfo[kcud1]" && bindkey "$terminfo[kcud1]" down-line-or-history
(В крайнем случае, чтобы справиться с некоторыми маловероятными возможностями, вам понадобится некоторое расширение переменных "$ {terminfo [x] - $ {termcap [y]}}"
. Расширения Oh My ZSH не беспокойтесь о последнем, и на практике вы также можете в значительной степени обойтись без него.На практике почти у всех загружены модули termcap и terminfo, и все, о чем вам нужно беспокоиться, - это действительно ли запись для вашего текущего типа терминала определяет соответствующие управляющие последовательности, для которых предназначен test -n
.)
Более точное приближение поведения оболочки Bourne Again будет
bindkey "$terminfo[kcuu1]" up-history bindkey "$terminfo[kcud1]" down-historyЭто не стандартная Z Shell по умолчанию, и после редактирования вашей первой многострочной командной строки вы можете решить, что по умолчанию это то, что вы предпочитаете.☺