У меня установлен tmux 1.5 на нескольких машинах Ubuntu, и в моем ~/.tmux.conf есть следующее:
unbind-key C-b
set-option -g prefix C-\
Итак, на нескольких машинах RedHat, к которым у меня есть доступ по ssh (но не root), я скомпилировал tmux 1.6 и установил его в свой каталог. Теперь, когда я пытаюсь установить C-\ в качестве префикса, я получаю это при запуске:
/home/user/.tmux.conf: 2: line continuation at end of file
Очевидно, что он не обрабатывает файл правильно. В качестве теста я изменяю его на:
unbind-key C-b
set-option -g prefix C-'
И я получаю:
/home/user/.tmux.conf: 2: invalid or unknown command: set-option -g prefix C-'
Так что парсинг все равно некорректный.
Однако это работает:
unbind-key C-b
set-option -g prefix C-o
Похоже, проблема связана с небуквенно-цифровыми клавишами.
есть идеи>
решение1
Вtmux1.6 обратная косая черта в конце строки конфигурации действует как символ продолжения строки. Вы можете сделать так, чтобы обратная косая черта была в самой команде несколькими способами:
Просто убедитесь, что это не последний символ. Поставьте после него пробел или пробел и комментарий:
set-option -g prefix C-\ # (not a line continuation!)
Заключите его в одинарные кавычки:
set-option -g prefix 'C-\'
Заключите его в двойные кавычки (и экранируйте его, поскольку обратная косая черта внутри двойных кавычек имеет особое значение):
set-option -g prefix "C-\\"
Ошибка C-'
произошла из-за того, что одинарная кавычка начинала строку в кавычках (сообщение об ошибке здесь не столь полезно).
Кроме того, не существует стандартного управляющего символа или последовательности для Control- ', поэтомуtmuxпожаловался бы ( bad key: C-'
), даже если бы вы заключили его в двойные кавычки, чтобы провести его через начальную стадию синтаксического анализа; существует всего несколько неалфавитныхуправляющие символы: @[\]^_?
.