Короткий, бесполезный ответ:пресса C-c C-c
.
Можно получить справку на текущем режиме (режимах), используемом путем ввода C-h m
в Emacs. С определенным прочтением различных команд поддерживал и несколько щелчков мышью, я нашел это: в буфере Emacs содержание источника Python, нажатие C-c C-c
(это - CtrlC CtrlC), отправляет источник на интерпретатор Python.
'Подчиненный' (ничто, чтобы сделать с качеством) интерпретатор Python работает в названном буфере *Python*
. Можно нажать C-x 2
разделять окно, затем C-x o
(это - буква, о) перемещаться в нижнее окно, затем с C-X b *Python*
Введите, выберите *Python*
буфер. После этого вернитесь к исходному окну (C-x o
) и используйте C-c C-c
каждый раз, когда Вы хотите запустить свою программу Python. Это - то, на что это похоже:
Можно, очевидно, сделать все это с мышью, если Вам не нравятся команды клавиатуры. И если Вы проходите документацию для python-mode
, Вы найдете, что команды Emacs отправляют отдельные функции, классы и т.д. к интерпретатору. Попробовать M-x python-send
TabTab для списка.
Так как у Вас есть эта команда в Вашем ~/.profile
, это будет только выполняться однажды, когда Вы войдете в систему. Один, не очень изящный, решение состояло бы в том, чтобы поместить команду в Ваш ~/.bashrc
вместо этого, таким образом, это будет выполнено каждый раз, когда Вы открываете терминал.
Лучшее решение состояло бы в том, чтобы определить a udev
правило, которое выполнится xmodmap
когда Ваша клавиатура USB вставляется (я использую значения, возвращенные для моей клавиатуры USB, необходимо будет отредактировать это решение соответствовать Вашей):
Получите детали своей клавиатуры USB. Выполните эту команду с включенной клавиатурой:
$ /lib/udev/findkeyboards | grep USB
USB keyboard: input/event6
Записать udev
правила, необходимо знать то, против чего они должны соответствовать. Можно получить это путем поиска вывода udevadm info --export-db
для event6
запись, или просто анализируют его непосредственно как так:
udevadm info --export-db | perl -ne 'BEGIN{$/="\n\n"}print if /event6/'
Это возвращает несколько строк текста включая их, которые мы будем использовать:
E: ID_MODEL_ID=0002
[...]
E: ID_VENDOR_ID=1c4f
udev
является сложным при использовании X программ как xmodmap
, Я не мог даже заставить это работать при экспорте $DISPLAY
и $XAUTHORITY
. Так или иначе я не мог заставить это работать с Вашим методом, таким образом, мое решение использует keymap
вместо этого. Во-первых, необходимо будет узнать коды клавиши для Esc и Caps Lock, можно сделать это путем выполнения
sudo /lib/udev/keymap -i input/event6
и затем нажимая соответствующие клавиши. В моей системе это возвращается:
scan code: 0x70029 key code: esc
scan code: 0x70039 key code: capslock
Создайте новое правило контурной карты, содержащее эти строки:
0x70029 capslock
0x70039 esc
и сохраните его как /lib/udev/keymaps/speedswap
.
Определите новое udev
правило. Создайте названный файл /etc/udev/rules.d/95-speedswap.rules
и добавьте эти строки к нему:
ACTION=="add",
SUBSYSTEM=="input",
ATTRS{idVendor}=="1c4f",
ATTRS{idProduct}=="0002",
RUN+="keymap $name speedswap"
Это должно сделать, это, по крайней мере, в моей системе, включая мой внешний USB заставляет Esc действовать как Caps Lock и наоборот.
udevadm info --export-db
с несколькими клавиатурами и видят шляпу, которую они имеют общего. Возможно,ID_MODEL=USB_Keykoard
илиID_USB_DRIVER=usbhid
но это могло бы также инициировать правило с неправильным устройством.Вам решать. – terdon♦ 31.08.2013, 03:19