Я пытаюсь установить некоторые сочетания клавиш для использования клавиши Shift для выделения текста.Я мог бы использовать pc-selection-mode
, но это не предлагает все привязки клавиш, которые я хочу.Например, я хотел бы иметь возможность сдвигать отметку по всему абзацу, нажимая Shift-Ctrl-down , что я могу сделать в большинстве текстовых редакторов MS, но pc-selection-mode
не позволяет вамсделать это.
Я нашел этот веб-сайт , в котором есть файл shift_mark.el
, который я могу использовать для установки всех желаемых привязок клавиш.Я загрузил .xemacs/init.el
файл для загрузки shift_mark.el
.
Это ошибка:
Warning (initialization): An error occurred while loading `/home/theory/phrkaj/\
.xemacs/init.el':
Wrong type argument: arrayp, (shift right)
Итак, я запустил Emacs с --debug-init
, чтобы попытаться найтиэта проблема.Вот что придумал отладчик:
Debugger entered--Lisp error: (wrong-type-argument arrayp (shift right))
signal(wrong-type-argument (arrayp (shift right)))
global-set-key((shift right) shift-mark-forward-char)
eval-buffer(#<buffer *load*<3>> nil "/home/theory/phrkaj/shift_mark.el" nil t) ; Reading at buffer position 1476
load-with-code-conversion("/home/theory/phrkaj/shift_mark.el" "/home/theory/phrkaj/shift_mark.el" nil nil)
load("~/shift_mark.el")
eval-buffer(#<buffer *load*<2>> nil "/home/theory/phrkaj/.xemacs/init.el" nil t) ; Reading at buffer position 25
load-with-code-conversion("/home/theory/phrkaj/.xemacs/init.el" "/home/theory/phrkaj/.xemacs/init.el" nil nil)
load("/home/theory/phrkaj/.xemacs/init.el" nil nil t)
load-file("/home/theory/phrkaj/.xemacs/init.el")
eval-buffer(#<buffer *load*> nil "/home/theory/phrkaj/.emacs" nil t) ; Reading at buffer position 253
load-with-code-conversion("/home/theory/phrkaj/.emacs" "/home/theory/phrkaj/.emacs" t t)
load("~/.emacs" t t)
#[nil "^H\205\264^@ \306=\203^Q^@\307^H\310Q\2027^@ \311=\2033^@\312\307\313\314#\203#^@\315\2027^@\312\307\313\316#\203/^@\317\2027^@\315\2027^@\307^H\320Q^Z\321^S\322\n\321\211#\210^K\321=\203_^@\323\324\325\307^H\326Q!\"^\\322\f\$
command-line()
normal-top-level()
Вот часть файла shift_mark.el
, который определяет выделение одного символа вперед:
(defun shift-mark-forward-char ()
(interactive)
(shift-mark 'forward-char))
(global-set-key '(shift right) 'shift-mark-forward-char)
Любая помощь приветствуется.