Горячие клавиши
Total Commander позволяет настраивать горячие клавиши (или клавиатурные ярлыки) на вызов внутрених или пользовательских команд. В этой статье описан процесс назначения горячих клавиш, а также раскрываются некоторые нюансы этого процесса.
Содержание
Назначение горячих клавиш
Процесс назначения клавиатурных ярлыков в Total Commander последних версий очень прост: достаточно указать горячую клавишу, а затем указать, какое действие должно выполняться. В текущих версиях выбор команд производится через удобный инструмент, в старых версиях выбирать нужно было из огромного и неудобного списка. Уже имеющиеся горячие клавиши могут быть быстро выбраны из меню, доступного по нажатию на кнопку
Назначение горячих клавиш производится в настройках, в пункте "Разное". Для назначения доступны комбинации клавиш из представленного списка с модификаторами Ctrl, Alt, Shift и Win. Модификаторы могут комбинироваться в различной последовательности, либо вовсе не использоваться. Левые и правые модификаторы не различаются. Использование клавиш вне списка (в том числе расширенных мультимедийных клавиш) не поддерживается.
Для привязки выбранной команды к клавиатурному сочетанию нужно нажать кнопку . Нажатие кнопок "Применить" и "ОК" влияния на настройки горячих клавиш не оказывает.
Исключения и конфликты
Клавиатурные ярлыки, совпадающие с системными горячими клавишами (например, Win+R или Win+Up в Windows 7), могут быть назначены, но работать не будут, поскольку будут перехвачены системой. То же касается горячих клавиш, используемых другими программами, перехватывающими глобальный ввод с клавиатуры (например Punto Switcher). В случае проблем с неработающими горячими клавишами всегда проверяйте, запущены ли такие программы. Наибольшее количество жалоб, к примеру, поступает на программу настройки видеокарт ATI, перехватывающую, в том числе, стандартное клавиатурное сочетание Alt+F5.
Нежелательно использовать горячие клавиши, которые не перехватываются системой, но используются как стандартные сочетания в различных элементах управления. Сюда, например, относятся команды быстрого перемещения по текстовым элементам (Ctrl+Left\Ctrl+Right), выделения (Ctrl+A) и редактирования (Del\Insert\Crtl+C\Ctrl+V и т.п.) текста, клавиша перемещения фокуса (Tab). В большинстве случаев переназначение клавиш будет работать, однако при этом потеряются стандартные функции. В других случаях переназначение просто не произойдёт.
Некоторые горячие клавиши не могут быть переназначены стандартными способами. В основном, такие сочетания включены во встроенных инструментах TC (F2 в инструменте мультипереименования), различных диалогах (F2 в диалоге копирования) и списках (Shift+Del в истории команд). Большинство таких клавиатурных ярлыков указано в списке стандартных горячих клавиш.
Стандартные горячие клавиши
Total Commander содержит значительное число клавиатурных сочетаний уже сразу после установки. Они не записаны в конфигурационном файле, и будут работать до тех пор, пока пользователь явно не переназначит их. Список стандартных горячих клавиш можно найти в файле KEYBOARD.TXT, находящемся в каталоге %commander_path%, либо в файле Keyb_rus.txt расширенного пакета русификации (дополненный русский вариант).
Назначение команд
Назначение команд производится через специальный инструмент, в котором собраны и отсортированы по группам все встроенные команды TC. Инструмент поддерживает фильтрацию по названиям и описаниям команд, поэтому нахождение и выбор команды в нём не составляет труда.
Инструмент может быть вызван встроенной командой cm_CommandBrowser, например для поиска и просмотра нужной команды, либо для добавления пользовательских команд.
Пользовательские команды
Пользовательские команды - инструмент, появившийся в TC 7.0. Он был призван избавить пользователя от страшно неудобного способа привязки пользовательских команд к горячим главишам, и успешно с этой задачей справился.
Пользовательские команды - алиасы (например, для вызова внешних программ), которые TC способен использовать также, как и встроенные команды. Основной способ их применения описан выше, кроме этого пользовательские команды могут применяться для назначения алиасов на внутренние команды, которые могут принимать дополнительные параметры (например OPENBAR).
Пользовательские команды хранятся в файлах usercmd.ini - глобальный список команд и WCMD_XXX.ini (например WCMD_RUS.ini) - список команд, зависящий от выбранной локализации. Последний файл не защищён от перезаписи при установке локализации и может быть перезаписан, поэтому все пользовательские команды лучше добавлять в usercmd.ini.
Для добавления пользовательской команды нужно выбрать пункт usercmd.ini в инструменте выбора команд, нажать кнопку "Новая", ввести название будущей команды (например em_calc), и настроить параметры команды. Настройка производится абсолютно аналогично настройке кнопок на панели инструментов. На скриншоте можно видеть пример команды, вызывающей стандартный калькулятор.
В дальнейшем пользовательская команда может использоваться наравне со встроенными командами, в том числе - для привязки к горячей клавише.
Горячие клавиши в меню
Открыв любой пункт главного меню Total Commander можно видеть, что ко многим его пунктам добавлены вызывающие их клавиатурные сочетания. На самом деле - это просто подсказки, добавление которых в меню никакого эффекта не даёт. Подробнее о добавлении горячих клавиш в пункты меню можно прочесть в статье "Своё меню: разбираемся за десять минут".
Назначение горячих клавиш для меню "Запуск"
Меню "Запуск" долгое время предоставляло единственный способ назначения горячих клавиш на вызов различных команд. Во-первых, для каждого пункта этого меню можно назначить клавишу из предопределённого списка (сочетания функциональных клавиш с модификаторами Alt+Ctrl\Alt+Ctrl+Shift). Кроме того, настроенные команды меню "Запуск" (с первой по сто девяносто восьмой) получали внутренние алиасы cm_UserMenu1 - cm_UserMenu198, и, таким способом, могли быть привязаны к горячим клавишам обычным способом.
В настоящее время этот способ используется всё реже по причине замещения более удобным способом, однако всё ещё может встретиться в старых конфигурационных файлах.
wincmd.ini
Осталось только рассказать о том, в каком виде горячие клавиши хранятся в конфигурационном файле Total Commander.
Все настроенные клавиатурные сочетания, не использующие модификатор Win, записываются в секцию [Shortcuts], и имеют вид Сочетание модификаторов+Клавиша=Команда. Модификаторы записываются как A (Alt), C (Ctrl), S (Shift), например:
[Shortcuts] AS+F11=cm_visTabheader F1=cm_Maximize S++=cm_SelectCurrentName CS+Z=em_comment_editor
Клавиши, использующие модификатор Win, записываются в секцию [ShortcutsWin], и имеют вид Сочетание модификаторов+Клавиша=Команда (аналогично ключам в секции [Shortcuts]). Модификатор Win напрямую в ключи не добавляется, подразумевается, что он используется во всех ключах секции. Пример:
[ShortcutsWin] F2=cm_VisBreadCrumbs R=cm_SrcComments S+R=em_calc
Горячие клавиши для элементов меню "Запуск" хранятся в секции [User] в виде ключей keyn=x, где n - порядковый номер пункта меню, а x - порядковый номер клавиатурного сочетания в списке (напомним, что все возможные сочетания для этого меню определены заранее). Пример:
[user] menu1=Create NTFS link cmd1=%commander_path%\SOFT\UTILS\NTFSLINKS\NtfsLinks.exe param1=""%L" "%T\"" key1=5
Пятый элемент списка - сочетание Ctrl+Alt+F5.