Похоже, что нет такой в настоящее время доступной функциональности. Этот двухлетний поток форума обсуждает такой спрос, но даже последнее руководство пользователя, кажется, не упоминает способа сделать это.
Как обходное решение, можно использовать Clone
опция. Просто создайте своего рода "шаблон VM" без любых устройств хранения, установите настройки на свое предпочтение и клонируйте эту машину каждый раз вместо того, чтобы создать новые стандартным способом. Конечно, добавьте устройство хранения данных к клонированным соответственно.
Если Вы хотели бы более специализированный автоматический подход или хотели бы быстро создать много VMs сразу, можно создать использование сценария командной строки VBoxManage
(см. руководство, на которое ссылаются, выше).
В зависимости от того, как настроен терминал, введение Alt+Key похоже на ввод Esc, и Key вводит последовательность, таким образом, это отправляет символ ESC (иначе \e
или ^[
или \033
) сопровождаемый символом или последовательностью символов, отправленных после нажатия той Клавиши.
На нажатие Up большинство эмуляторов терминала отправляет любому эти три символа \033[A
или \033OA
в зависимости от того, являются ли они в режиме вспомогательной клавиатуры приложения или нет.
Первый действительно соответствует escape-последовательности, которая, когда произведено к терминалу, переместите курсор вверх. Если Вы делаете:
printf '\nfoo\033[Abar\n\n'
Вот увидишь bar
записанный после foo
одна строка. Если Вы делаете:
stty -echoctl; tput rmkx; read foo
Вы будете видеть, что клавиши со стрелками действительно перемещают курсор.
Когда приложение как zsh
или vi
чтения, что последовательность символов от терминала, это интерпретирует его как действие, потому что это знает от terminfo базы данных (kcuu1
возможность), что это - escape-последовательность, отправленная на нажатие Up.
Теперь, для Alt-Up, некоторых терминалов как rxvt
и его производные как eterm
отправить \033
сопровождаемый escape-последовательностью для (который является \033\033[A
или \033\033OA
), в то время как некоторые другие как xterm
или gnome-terminal
имейте отдельные escape-последовательности для тех типов ключей при использовании с ключами комбинации как Высокий звук, Сдвиг, Ctrl.
Они будут обычно отправлять \033[1;3A
на Alt-Up.
При отправке в терминал та последовательность также переместит курсор вверх (второй параметр (3) проигнорирован). Нет никакой соответствующей клавиши клавиатуры, таким образом, это - та же последовательность, отправленная на Alt-Up в или из режима вспомогательной клавиатуры приложения.
Теперь, ли это \033\033[A
или \033[1;3A
, много приложений не знают то, для чего те последовательности. terminfo база данных не поможет им, потому что нет такой возможности, которая определяет, какие символы те сочетания клавиш отправляют.
Они будут стараться изо всех сил интерпретировать ту последовательность. bash
например, интерпретирует \033[1;3
в то время как escape-последовательность, ничего не знает об этом, также - ничто, сопровождаемое A
. zsh
, прекратит читать, как только это узнает, что нет никакой известной последовательности символов соответствия. Нет никакой escape-последовательности, что это знает, что запускается с \033[1
таким образом, это пропустит это и считает остальных: ;3A
и вставьте это в строчный редактор.
Много приложений как vi
, zsh
или readline
основанные как gdb
или bash
(хотя остерегаются bash
использует измененную версию readline
) позвольте Вам добавлять привязку для любой последовательности символов.
Например, в zsh
, можно хотеть связать Alt-Up, Alt-Down как:
bindkey '\e[1;3A' history-beginning-search-backward
bindkey '\e[1;3B' history-beginning-search-forward
Они должны искать историю назад и вперед для командных строк, которые запускаются как текущий до текущей позиции курсора, который довольно удобен, чтобы повторно вызвать предыдущие команды.
Можно использовать Crtl+v для возврата входных кодов клавиатуры. Если Вы сделаете это для клавиш со стрелками, то Вы доберетесь [[D^
, [[C^
, [[A^
, и [[B
значения. Нет никакой привязки по умолчанию для ключей Alt+arrow, таким образом, кажется, что выполненное действие печатает один только алфавитный код. Hovewer, если Вы создаете свою локальную версию readline конфигурационного файла библиотеки:
$ cp /etc/inputrc ~/.inputrc
И добавьте строку:
"\e[1;3C": "sometexthere"
Где [1;3C
входной код Высокого звука + → (можно получить его тот же путь как перед использованием ярлыка Crtl+v), и перезапустите терминал затем, Crtl + → ярлык возвратит Вас, текст "sometexthere" и другие ярлыки Alt+arrow прекратят возвращать символы.
Вместо этого текст можно передать связываемую команду из http://www.gnu.org/software/bash/manual/html_node/Bindable-Readline-Commands.html#Bindable-Readline-Commands как
"\e[1;3C": unix-line-discard
иметь тот же эффект как Crtl+u (удаляют строку).
Больше информации здесь: http://cnswww.cns.cwru.edu/php/chet/readline/readline.html
Клавиша Alt часто используется как модификатор meta. Курсорные и функциональные клавиши называют специальными клавишами, поскольку они могут передавать несколько символов - и символы, которые передаются, могут быть изменены.
Некоторые пользователи, например, для bash
ожидают, что нажатие Alt пошлет клавишу с префиксом символа escape. Документированная функция "meta" (см. terminfo(5)
) имеет дело с восьмым битом:
Если терминал имеет "meta key", которая действует как клавиша shift устанавливая 8-й бит любого передаваемого символа, этот факт может быть указан с помощью
km
. В противном случае программное обеспечение будет считать, что 8-й бит является битом четности, и он обычно будет очищен. Если существуют строки для включения и выключения этого "мета-режима" и выключения, они могут быть заданы какsmm
иrmm
.
bash
тоже знает об этом (см. ncurses FAQ), но мало кто из его пользователей интересуется этой возможностью. Тем не менее, они привыкли называть Alt "meta", даже если режим meta выключен. И rxvt, и xterm имеют эту возможность с (по крайней мере) начала 1990-х годов.
Другие пользователи (с тех пор как xterm
представил эту возможность в патче #94, 1999) могут ожидать, что информация о модификаторе будет закодирована как параметр в последовательности символов, которые посылает специальная клавиша. В документации XTerm эти модифицированные клавиши назывались "PC-style" функциональными клавишами, чтобы отличить их от "VT220-style" (которые не имели модификаторов). Немодифицированная курсорная клавиша может посылать ESC[A, но также законно иметь параметр, например, ESC[5A, что приложение должно понимать как повторение этого пять раз. В первой версии xterm
клавиши в стиле ПК использовали эту "5" для обозначения управления, а более поздняя версия изменила ее, чтобы избежать путаницы с количеством повторений. Итак...
ESC[5A
предлагает приложению переместить курсор на 5 строк вверх, а
ESC[1;5A
предлагает переместить его на одну строку вверх, сообщая приложению, что была нажата клавиша control.
Полезные комбинации находятся в базе данных ncurses terminfo с 2004 года:
# 2004-07-17
# * add xterm-pc-fkeys -TD
База данных terminfo показывает текущую версию xterm+pcfkeys с комментарием, показывающим, как закодированы модификаторы:
# This fragment describes as much of XFree86 xterm's "pc-style" function
# keys as will fit into terminfo's 60 function keys.
# From ctlseqs.ms:
# Code Modifiers
# ---------------------------------
# 2 Shift
# 3 Alt
# 4 Shift + Alt
# 5 Control
# 6 Shift + Control
# 7 Alt + Control
# 8 Shift + Alt + Control
# ---------------------------------
# The meta key may also be used as a modifier in this scheme, adding another
# bit to the parameter.
(Alt и meta не обязательно являются одной и той же клавишей). Это строительный блок (в свою очередь состоящий из других строительных блоков), из которого формируется описание xterm
терминала. Он использует расширение, предоставляемое в ncurses с 1999 года, которое позволяет использовать имена, определяемые пользователем. Поскольку termcap поддерживает только 2-символьные имена и 1023-байтовые описания, не было причин делать эти расширенные имена доступными через интерфейс termcap. Они легко доступны приложениям, использующим интерфейс terminfo.
Теперь возникает трудность: есть несколько способов для приложения определить, что представляет собой такая последовательность клавиш:
Немногие программы будут делать первое; некоторые текстовые редакторы будут делать второе (на самом деле, я делал это для ded
в конце 1980-х). Разработчики таких приложений, как bash
, выбрали третий путь, полагая, что большая часть информации находится в termcap. В качестве альтернативы они могли бы составить таблицу с информацией termcap/terminfo и использовать интерфейс, дающий наилучшую информацию. xterm
делает это для функции tcap-query , предоставляя vim
фактические назначения функциональных клавиш.
Поскольку ни одна из строк, с которыми сравнивает bash
, не совпадает с полученными строками, он может запутаться, выбирая частичные совпадения (например, символ escape сам по себе).
Дальнейшее чтение: