Как я устанавливаю привязку клавиш для метки набора в emacs?

Минус (иначе тире) один не опция, а операнд (т.е. аргумент, который не является опцией). Из-за этого, помещая -- прежде чем это не будет иметь никакого эффекта. Тире является операндом в cd - и все еще операнд в cd -- -. Как другие стандартные утилиты, cd рассматривает операнд как операнд независимо от того, существует ли -- перед ним.

cd команда присваивает особое значение операнду -. Что-либо еще - каталог для переключения на. cd -- -a переключатели к названному каталогу -a, потому что -a не является особенным как операнд и -- предотвращает cd от обработки его как опция. Это не работает на - один, который не является опцией.

Помещение кавычек вокруг - движение не должно помогать, так как это в конечном счете передало бы операнд - так или иначе.

Ваше единственное обращение за помощью должно поэтому найти другой способ выразить ту же идею, т.е. другое название того же каталога. К счастью, существует легкий: если Вы добавляете ./ перед именем файла прямого доступа это все еще означает тот же файл. ./ действительно имеет значение, которое не важно в нашем случае: CDPATH не консультируется, когда имя каталога начинается /, ./ или ../. Таким образом:

cd ./-

Иначе, с тех пор - каталог, должен добавить a / после него. Добавление a / в конце имени файла гарантирует, что файл рассматривают как каталог (в частности, команда будет воздействовать на сам каталог а не на символьную ссылку, если файл будет символьной ссылкой на каталог), но иначе не имеет никакого значения. Таким образом:

cd -- -/

Запись -/ предлагается кодом завершения, между прочим, но в ударе он только на самом деле работает с -- перед ним удар не имеет особого случая для cd -/ (zsh делает).

0
22.09.2013, 04:03
1 ответ

Необходимо передать аргументы push-mark, нет global-set-key:

(global-set-key (kbd "M-SPC") (lambda() (interactive) (push-mark nil nil 1)))
1
28.01.2020, 02:53

Теги

Похожие вопросы