Вероятно, указанный маршрутизатор по умолчанию мог бы быть неправильным. Для обнаружения сделать
netstat -r
видеть таблицу маршрутизации. Найдите маршрут по умолчанию (место назначения 0.0.0.0) и затем проверьте с помощью ping-запросов маршрутизатор по умолчанию... т.е.
ping 10.0.0.1
В общем случае проблемы как это происходят из-за mistmatch между тем, что отправляет эмулятор терминала и что ожидает клиентское приложение.
Различные эмуляторы терминала имеют другую степень настраиваемости, таким образом ознакомление себя с эмуляцией tunables конкретной необходимо.
Клиентские приложения зависят от значения $TERM
который привык к терминалу поиска (эмулятор) возможности в terminfo
(или termcap
) база данных.
В Вашем случае Ваша emacs привязка использует явные последовательности таким образом $TERM
и terminfo не важны: определенный эмулятор терминала ожидается - когда Вы уже выяснили, a xterm
- совместимый.
Во-первых, удостоверьтесь, что Ваш ТЕРМИН является правильным в каждом местоположении:
xterm
- что-то (например. xterm-256color
) в Вашей локальной оболочке, работающей в Вашем iTerm2 окнеxterm
- что-то в Вашей оболочке после SSHing к системе Linuxscreen
- что-то (например. screen-256color
) в Вашей оболочке, работающей под tmux в системе Linuxscreen
- основанный ТЕРМИН внутри tmux.Наличие xterm
НАЗОВИТЕ сразу снаружи tmux, позволит tmux распознавать измененные клавиши со стрелками, но он не передаст их через, если у Вас также не будет xterm-keys
опция окна включена. Вставьте это Ваш ~/.tmux.conf
в системе Linux:
set-window-option -g xterm-keys on
Последовательности для клавиш одновременно с "SHIFT" должны теперь сделать его до Emacs, работая внутри tmux, через соединение SSH, в iTerm2 окне.
export XTERM=xterm-256color
(Я пишу этот becasue, я не знал то, что "Ваш ТЕРМИН" в средствах ответа, я искал комментарий, объясняя что... не было ни одного, и теперь существует тот.)
– jhegedus
27.02.2017, 23:03
Сначала необходимо включить xterm-keys
в Вашей конфигурации tmux. Так вставляет следующее ~/.tmux.conf
setw -g xterm-keys on
Но, это повредит другие сочетания клавиш. Для фиксации их вставьте следующее Ваш~/.emacs
или ~/.emacs.d/init.el
конфигурация
;; handle tmux's xterm-keys
;; put the following line in your ~/.tmux.conf:
;; setw -g xterm-keys on
(if (getenv "TMUX")
(progn
(let ((x 2) (tkey ""))
(while (<= x 8)
;; shift
(if (= x 2)
(setq tkey "S-"))
;; alt
(if (= x 3)
(setq tkey "M-"))
;; alt + shift
(if (= x 4)
(setq tkey "M-S-"))
;; ctrl
(if (= x 5)
(setq tkey "C-"))
;; ctrl + shift
(if (= x 6)
(setq tkey "C-S-"))
;; ctrl + alt
(if (= x 7)
(setq tkey "C-M-"))
;; ctrl + alt + shift
(if (= x 8)
(setq tkey "C-M-S-"))
;; arrows
(define-key key-translation-map (kbd (format "M-[ 1 ; %d A" x)) (kbd (format "%s<up>" tkey)))
(define-key key-translation-map (kbd (format "M-[ 1 ; %d B" x)) (kbd (format "%s<down>" tkey)))
(define-key key-translation-map (kbd (format "M-[ 1 ; %d C" x)) (kbd (format "%s<right>" tkey)))
(define-key key-translation-map (kbd (format "M-[ 1 ; %d D" x)) (kbd (format "%s<left>" tkey)))
;; home
(define-key key-translation-map (kbd (format "M-[ 1 ; %d H" x)) (kbd (format "%s<home>" tkey)))
;; end
(define-key key-translation-map (kbd (format "M-[ 1 ; %d F" x)) (kbd (format "%s<end>" tkey)))
;; page up
(define-key key-translation-map (kbd (format "M-[ 5 ; %d ~" x)) (kbd (format "%s<prior>" tkey)))
;; page down
(define-key key-translation-map (kbd (format "M-[ 6 ; %d ~" x)) (kbd (format "%s<next>" tkey)))
;; insert
(define-key key-translation-map (kbd (format "M-[ 2 ; %d ~" x)) (kbd (format "%s<delete>" tkey)))
;; delete
(define-key key-translation-map (kbd (format "M-[ 3 ; %d ~" x)) (kbd (format "%s<delete>" tkey)))
;; f1
(define-key key-translation-map (kbd (format "M-[ 1 ; %d P" x)) (kbd (format "%s<f1>" tkey)))
;; f2
(define-key key-translation-map (kbd (format "M-[ 1 ; %d Q" x)) (kbd (format "%s<f2>" tkey)))
;; f3
(define-key key-translation-map (kbd (format "M-[ 1 ; %d R" x)) (kbd (format "%s<f3>" tkey)))
;; f4
(define-key key-translation-map (kbd (format "M-[ 1 ; %d S" x)) (kbd (format "%s<f4>" tkey)))
;; f5
(define-key key-translation-map (kbd (format "M-[ 15 ; %d ~" x)) (kbd (format "%s<f5>" tkey)))
;; f6
(define-key key-translation-map (kbd (format "M-[ 17 ; %d ~" x)) (kbd (format "%s<f6>" tkey)))
;; f7
(define-key key-translation-map (kbd (format "M-[ 18 ; %d ~" x)) (kbd (format "%s<f7>" tkey)))
;; f8
(define-key key-translation-map (kbd (format "M-[ 19 ; %d ~" x)) (kbd (format "%s<f8>" tkey)))
;; f9
(define-key key-translation-map (kbd (format "M-[ 20 ; %d ~" x)) (kbd (format "%s<f9>" tkey)))
;; f10
(define-key key-translation-map (kbd (format "M-[ 21 ; %d ~" x)) (kbd (format "%s<f10>" tkey)))
;; f11
(define-key key-translation-map (kbd (format "M-[ 23 ; %d ~" x)) (kbd (format "%s<f11>" tkey)))
;; f12
(define-key key-translation-map (kbd (format "M-[ 24 ; %d ~" x)) (kbd (format "%s<f12>" tkey)))
;; f13
(define-key key-translation-map (kbd (format "M-[ 25 ; %d ~" x)) (kbd (format "%s<f13>" tkey)))
;; f14
(define-key key-translation-map (kbd (format "M-[ 26 ; %d ~" x)) (kbd (format "%s<f14>" tkey)))
;; f15
(define-key key-translation-map (kbd (format "M-[ 28 ; %d ~" x)) (kbd (format "%s<f15>" tkey)))
;; f16
(define-key key-translation-map (kbd (format "M-[ 29 ; %d ~" x)) (kbd (format "%s<f16>" tkey)))
;; f17
(define-key key-translation-map (kbd (format "M-[ 31 ; %d ~" x)) (kbd (format "%s<f17>" tkey)))
;; f18
(define-key key-translation-map (kbd (format "M-[ 32 ; %d ~" x)) (kbd (format "%s<f18>" tkey)))
;; f19
(define-key key-translation-map (kbd (format "M-[ 33 ; %d ~" x)) (kbd (format "%s<f19>" tkey)))
;; f20
(define-key key-translation-map (kbd (format "M-[ 34 ; %d ~" x)) (kbd (format "%s<f20>" tkey)))
(setq x (+ x 1))
))
)
)
Также у меня есть свое решение в archlinux Wiki