Экран идет с Ctrl+ A. С другой стороны, tmux - как разработано на экране - использует Ctrl+ B. Однако оба нажатия клавиш также используются в редакторах, оболочках и т. Д. Таким образом, выбор одного из них ухудшает пользовательский опыт и функциональность этих инструментов при использовании в tmux или на экране.
Какой префикс меньше всего конфликтует с сочетаниями клавиш других программ и оболочек?
gnu-screen
hotkeys
tmux
Скотт
источник
источник
~/.tmux.conf
не забудьте перезапустить сервер tmux, чтобы изменения вступили в силу ( superuser.com/q/188491/105108 ).Ответы:
Я думаю
^\
(ака^|
) лучше, если он находится в удобной позиции на вашей раскладке клавиатуры. Его использование в других программах довольно редко:SIGQUIT
в процесс^C
перехватываетсяtoggle-input-method
в EmacsЯ не знаю других применений. Будьте осторожны, чтобы не случайно убить процессы вне
tmux
илиscreen
после привыкания к нему. Это случилось со мной только один раз за несколько лет.~/.tmux.conf
~/.screenrc
источник
C-`. Can I escape the
символа `как-нибудь?'C-\'
вместо `C- \` в конфигурации tmux.Для людей, которые хотят использовать backtick как выход в tmux, вы можете добавить:
Это последнее важно, иначе вы не можете набрать обратный тик для других целей :-)
источник
$()
оболочек. Кроме того, это становится болью, когда вы начинаете писать много разметки. Я использую его в течение нескольких лет, но, к сожалению, мне придется изменить его сейчас.bind-key C-a set-option -g prefix C-a
. Всякий раз, когда мне нужно использовать обратные пометки, я нажимаю,`-Ctrl-a
который устанавливает мой префиксC-a
. И у меня есть,bind-key C-b set-option -g prefix `
так что я могу ударить,C-a-C-b
чтобы вернутьсяТакже известно, что Ctrl + A вызывает проблемы с Emacs, включая Bash в режиме Emacs. Похоже, это не проблема для вас.
Ctrl + O - другой вариант, который я видел. Очевидно, это значение по умолчанию в RatPoison (это X Window Manager, которому не нужна мышь). Я использовал Ctrl + O при использовании вложенных экранов: Ctrl + O для внешнего и Ctrl + A для внутренних. Работало хорошо, но напугало моих коллег. :-)
Я просто подумал, и если вы используете vi, а не Emacs, есть несколько альтернатив. Например, Ctrl + G используется не часто.
источник
set -g prefix2 C-j; bind-key C-j send-prefix -2
C-j
конфликтует с CtrlP. Перемещение вверх и вниз списка буферов используетC-k
иC-j
соответственноЯ получил
CAPS-LOCK
глобальное сопоставлениеESC
. Затем я используюM-Space
(т.е.CAPS-LOCK
+Space
) для моего префикса.источник
CAPS-LOCK
(думая о своей следующей команде или чем-то еще) tmux - или iTerm, не уверенный, что является причиной этого, - получаюESC
команду, неоднократно вызывающую,M-Space
чтобы потом не работать. Есть ли способ отключить эту повторяющуюся проблему с ключом? Например, это работает, когда я быстро нажимаюCAPS-LOCK + Space
, но не, если я удерживаю вCAPS-LOCK
течение секунды или около того, а затем нажимаю,Space
это не регистрируетM-Space
аккорд ...Я использую сложную систему для экрана. Мое экранирование по умолчанию установлено в \ 140 \ 140, что является обратным трюком. Ctrl-A усложняет редактирование Emacs и командной строки для меня в Zsh, и мне не нравится Ctrl-O (две ручные операции для большинства действий на экране).
Я привязываю 's' к экрану 1, чтобы новые сеансы создавались слева направо на клавиатуре, начиная с 1. Это позволяет мне зарезервировать экран 0 для того, что я считаю постоянными или ссылочными окнами. Это очень быстрый жест одной рукой для (backtick) 1, (backtick) 2, (backtick) 3 для переключения между окнами.
Проблема с использованием backtick в среде unix заключается в попытке вырезать и вставлять код сценария shell / perl. По этой причине я нажимаю клавишу F11 / F12, чтобы переключаться между моим escape-символом.
Это переключит escape на Ctrl-O, когда я выполняю операции вырезания и вставки. Я обнаружил, что двойная отметка проста и является хорошим компромиссом для большинства операций на экране.
Пересмотрите этот ответ с более новым решением, которое позволяет переключать режим, нажимая F12, и используя заголовок для обозначения режима.
источник
Я использую
Ctrl-Q
в,tmux
и это работало хорошо до сих пор. Я должен упомянуть, однако, что это противоречит контролю потока оболочки. По умолчаниюCtrl-Q
используется для повторного включения вывода после его остановкиCtrl-S
. Несколько раз после случайного удараCtrl-S
я был удивлен застрявшим снарядом , и я научился не давитьCtrl-S
.(Можно также полностью отключить управление потоком
stty -ixon
или связать разные ключи сstty start
иstty stop
.)источник
quote-inserted
. Пример использования (в emacs): если я хочу найти следующий символ табуляции<Ctrl-s>+<Ctrl-q>+<TAB>
Мне нравится резервировать
^Space
для очень специальных / общих операций, потому что я считаю, что это самый простой префикс для ввода, но сейчас я пытаюсь отобразить его какprefix
в tmux .Это оставляет ваши пальцы свободными, чтобы мгновенно перейти к команде, которую вы хотите набрать. Попробуйте.
источник
set -g prefix2 C-j; bind-key C-j send-prefix -2
Запоздалое предложение:
ctrl-s
.ctrl-s
имеет ряд преимуществ:ctrl-a
(на самом деле, для большинства TYPERS он будет использовать те же два пальца , которые они использовали дляctrl-a
), поэтому переключатель мышечной памяти отctrl-a
доctrl-s
тривиальна - для меня, она стала второй натурой в течение около часа первый пытается его.ctrl-a
операции в стиле "обратно к началу строки" в стиле emacs или "номер приращения" в стиле vim. Или эй, для запуска экрана внутри панели tmux, не беспокоясь о экранировании префиксных символов для управления экземпляром встроенного экрана. (Я часто делаю это, используя локальный tmux с панелями, содержащими сессии ssh на удаленных серверах, на которых я запускаю screen)Конечно, причина того, что на ctrl-s ничего нет, заключается в том, что в терминале он традиционно используется для управления потоком, начиная с тех дней, когда инструменты для пейджинга были
more
иless
были обычным явлением. Я уверен, что в некоторых терминальных программах с графическим интерфейсом пользователя эта функция управления потоками включена по умолчанию, но я на самом деле не сталкивался с ней; все программы с графическим интерфейсом, которые я пробовал, по умолчанию полностью игнорируют его, что делает эту удобную комбинацию клавиш доступной для более продуктивного использования.Так что, если вы на самом деле не используете screen / tmux из (например) терминала с сырым Linux, а скорее из терминала на основе графического интерфейса, то я рекомендую
ctrl-s
попробовать; он сделан, чтобы перемещаться в tmux и показывать мне экран намного удобнее.источник
Ключ без конфликта может быть C-z, так как он обычно используется для отправки программы в фоновый режим, чтобы продолжить работу в оболочке, которая ее запустила. Я не делаю этого, когда у меня есть Tmux.
источник
fg
приходится много бегать после ошибочного набора Cz.Я слышал об использовании `(backtick), и тогда вам просто нужно набрать его дважды для фактического backtick. Может быть лучше для пользователей vi, которые привыкли к действию (если только вы не используете блокировку Caps).
источник
'; bind '
' send-prefix; см. ответ Даррена Холла выше.Я рекомендую
C-j
, что не сильно мешает vi или emacs. По сути, я согласен с комментарием Сусама Пала, который, похоже, заслуживает того, чтобы его можно было найти в качестве ответа, поскольку у всех остальных, по-моему, существенные конфликты с моей точки зрения.источник
Для раскладки клавиатуры Программиста Дворжака довольно удобно использовать клавишу «минус» (тире) в качестве префикса, то есть
ctrl
+-
.Клавиша минус находится в позиции с одинарными кавычками в макете qwerty. Также у меня есть функция блокировки клавиш в виде клавиши ctrl. Далее следует tmux conf, чтобы установить его в качестве префикса:
Вы можете задаться вопросом, почему подчеркивание используется вместо минус? Обратитесь к Tmux: как мне связать с C- (контроль-минус)?
Для qwerty вы можете применить Как связать префиксный ключ tmux с C- '? решение, чтобы сохранить тот же ярлык.
Я бы сказал, что это идеальный префикс, если вы используете Vim / Neovim. Поскольку префиксы, такие как
ctrl
+a
илиctrl
+b
, выполняют теневую (перекрывающуюся) функциональность Vim любым способом.источник
Лично для меня
b
это слишком далекоCtrl
. Когда я использую tmux, я всегда изменяю привязку с Cb на Ca. Основной конфликт с Ca - это select all, но я не обнаружил, что это проблема с программами, с которыми я использую tmux.источник
Как пользователь GNU emacs, zsh и MS Windows, я использую Control-T. (например, в .screenrc :)
Да, Control-T имеет что-то связанное с этим, например выпадающее меню в aptitude Ubuntu или транспонирование символа в Emacs.
Я проигнорировал Ко, потому что это требует двух рук для меня.
источник
Я думаю, что лучшее решение - ^ C. Emacs использует ^ C в качестве префиксного ключа, и я обнаружил, что когда мне нужно набрать ^ C в оболочке, я почти всегда в любом случае набираю два. :-)
источник
Я использую Caps Lock, и в OSX вам нужно сделать что-то особенное, чтобы заставить его работать.
https://gist.github.com/burtlo/3788048
источник
Вы можете использовать backtick. Некоторые старые версии tmux не поддерживают backtick, так что вы можете сделать следующее, чтобы обойти (хотя это добавило бы C-`, C- @ и C-space в качестве вашей мета одновременно):
Я обычно переназначаю свой CapsLock на Ctrl, так что это имеет еще больший смысл с помощью backtick.
источник
Большинство ответов здесь используют Ctrl как часть комбинации клавиш.
Когда я использовал Ctrl, мой палец мизинца начал болеть, потому что мне всегда приходилось раздвигать его до Ctrl.
Я использую то,
Alt-j
что набираю левым и правым указательным пальцами, и это очень удобно. Я также не нашел никаких столкновений с какой-либо другой программой.источник
Для экрана GNU, отображающего обратную галочку для выхода, у меня работает следующее в ~ / .screenrc.
источник
Мне нравится предложение связывать ctrl- \ в качестве префикса , но чтобы заставить его работать на Linux Mint 12, мне пришлось избежать места привязки внизу. В противном случае это не займет. Смотрите мой .tmux.conf здесь: Использование tmux с emacs и vim
источник
Я думаю, что пользователи Mac найдут
§
более удобный, чем обратный удар.На не-Mac клавиатуре обратная клавиша расположена примерно на той же клавише, что и
§
на клавиатурах Mac. Таким образом, чтобы испытать те же удобства, что и люди, которые предлагают использовать backtick, используйте знак абзаца на клавиатуре Mac.Использовать обратную клавиатуру на клавиатурах Mac довольно сложно, так как она расположена очень близко к левому (shift) смещению, (⌃) элементу управления и (⌥) alt-клавишам. На MacBook даже рядом с левой
fn
клавишей.источник