Вы можете создать файл ~/.xkb/символы/локал
, содержащий:
xkb_symbols "local" {
key {
type= "ONE_LEVEL",
symbols[Group1]= [ ISO_Level3_Shift ]
};
key
или
xkb_symbols "local" {
key {
type= "ONE_LEVEL",
symbols[Group1]= [ Alt_L ]
};
key
(или что-то между ними), в зависимости от того, какой Alt вам нужен. И делайте каждый раз при запуске X (например, в файле ~/.xsession
, если он у вас есть):
mkdir -p .xkb/keymap
setxkbmap -print | sed -e '/xkb_symbols/s/"[[:space:]]/+local&/' > $HOME/.xkb/keymap/custom
xkbcomp -w0 -I$HOME/.xkb -R$HOME/.xkb keymap/custom $DISPLAY
Вторая строка создает файл ~/.xkb/keymap
с xkb_символами { включать ". ..+локальный" };
, т.е. включающий ~/.xkb/символы/локальный
, когда xkbcomp
(третья строка) используется с опцией -I$HOME/.xkb
. Вы можете проверить этот файл перед запуском xkbcomp
.
Я не пробовал точно, но это основано на том, что я делаю: https://www.vinc17.net/unix/xkb.html (без директории types
).
Это потому, что эти программы являются частью чашек , разработанных Apple.
То, что программа ( номер люкс) является открытым исходным кодом, не означает, что разработчик или компания (частично), оплачивающая разработку, не могут претендовать на авторские права на свои усилия.
-121--154438- Функция current-message
возвращает сообщение, которое в данный момент отображается в области эха , если имеется. Вставить его можно с помощью (вставить (текущее сообщение))
. Однако все, что заставляет что-либо другое занимать эхо-область, приведет к тому, что current-message
возвратит nil
.
Сообщения от Emacs архивируются в буфере * Messages *
. Было бы полезнее захватить оттуда последнюю строчку. Это не совсем надежно, так как возможно иметь многострочное сообщение, но это редко: функция message
предназначена для коротких сообщений, которые помещаются в одну строку.
Следующая функция вставляет последнее сообщение (точнее, последнюю строку из буфера * Messages *
. При использовании аргумента префикса он возвращает более старые сообщения: 1 для последнего сообщения, 2 для следующего сообщения и т.д. Аргумент 0 вставляет (текущее сообщение)
, если имеется.
(defun last-message (&optional num)
(or num (setq num 1))
(if (= num 0)
(current-message)
(save-excursion
(set-buffer "*Messages*")
(save-excursion
(forward-line (- 1 num))
(backward-char)
(let ((end (point)))
(forward-line 0)
(buffer-substring-no-properties (point) end))))))
(defun insert-last-message (&optional num)
(interactive "*p")
(insert (last-message num)))
Свяжите его с ключом обычным способом. Например, если вы хотите, чтобы команда всегда была доступна на C-c m
:
(global-set-key "\C-cm" 'insert-last-message)
Возможно, проще, чем вызвать две пользовательские команды для вставки имени файла, см. Emacs wiki .
Чтобы вставить выходные данные вычисления фрагмента Lisp с помощью C-x C-e
, передайте аргумент префикса C-u C-x C-e
.
«Ошибка ввода/вывода» указывает на проблему низкого уровня, которая, вероятно, имеет мало общего с файловой системой.
Он должен появиться в dmesg
, и выходные данные smartctl -x/dev/sdX
также могут дать подсказки.
Можно также попробовать strace -f -s200 ntfs-3g [args] 2 > & 1 | less
, чтобы увидеть, какой syscall попадет в ошибку ввода/вывода.
Основной причиной, вероятно, является одна из следующих причин:
Если вы опубликуете выходные данные вышеперечисленных команд, можно будет сказать, какие.