Вот хороший источник выбранных dev статей, Литературного Списка Какао:
http://osx.hyperjeff.net/Reference/CocoaArticles
(Это может быть особенно полезно, если однажды Вы хотите использовать Mac OS X определенные положительные герои.)
Я сейчас на Fedora, но я предлагаю вам внимательно прочитать вики Archlinux , все это: Home и End ключи не рабочий .
Что я сделал, чтобы это исправить:
Нажмите Ctrl-V Home, будет напечатана экранированная последовательность для клавиши Home. Это не \ e [4 ~
и \ e [1 ~
], как я ожидал, глядя на / etc / inputrc
. Это были [H
и [F
Извлечь информацию о терминале infocmp $ TERM> terminfo.src
Откройте этот файл для редактирования, например vim terminfo.src
, найдите khome
и kend
, он назначен чему-то, скажем khome = \ E [1 ~
и kend = \ E [4 ~
, который в этом случае не работает. удалите его и замените последовательностью, которую вы нашли на шаге № 1, поэтому для меня после редактирования это было: khome = \ E [H
и kend = \ E [F
].
Если вы хотите перестраховаться, убедитесь, что [F
и [H
(или любая другая последовательность, которую вы только что использовали) не назначены на что-то еще, иначе все будет испорчено!
запустить tic terminfo.src
, который создает каталог ~ / .terminfo
.
Вверху .zshrc
перед любыми другими командами поместите: export TERMINFO = ~ / .terminfo
Откройте новое окно терминала, и все будет в порядке, домой и в конец должен работать сейчас.
P.S: Теоретически метод bindkey должен работать и проще, но для меня это не так.
Escape-последовательности, отправленные функциональными клавишами и клавишами управления курсором, состоят из символа ESC, сопровождаемого печатаемыми символами. Нажмите Ctrl+V затем Домой. Это вставит escape-последовательность буквально. Затем добавьте a bindkey
инструкция к Вашему ~/.zshrc
.
Инструкция, вероятно, будет (примечание O
, нет 0
):
bindkey '\e[OH' beginning-of-line
bindkey '\e[OF' end-of-line
Добавьте эти строки к /etc/zshrc
и затем сделайте a source /etc/zshrc
(взятый отсюда)
bindkey '\e[1~' beginning-of-line # Linux console
bindkey '\e[H' beginning-of-line # xterm
bindkey '\eOH' beginning-of-line # gnome-terminal
bindkey '\e[2~' overwrite-mode # Linux console, xterm, gnome-terminal
bindkey '\e[3~' delete-char # Linux console, xterm, gnome-terminal
bindkey '\e[4~' end-of-line # Linux console
bindkey '\e[F' end-of-line # xterm
bindkey '\eOF' end-of-line # gnome-terminal
Я обнаружил, что должен был попасть в CTRL-v
, отпусти, затем клавиша Home
или End
, чтобы получить последовательности ^[[H
и ^[[F
для Home
и End
, соответственно. Добавление следующих строк в файл .zshrc
решило для меня проблему:
bindkey '^[[H' beginning-of-line
bindkey '^[[F' end-of-line