Как остановить emacs от замены нижней панели с помощью


ess-mode Это " Emacs говорит статистика."Этот режим полезен для редактирования программ для R или Splus (два отдельных пакета статистики).

В моем буфере, когда бы я ни набрал _ символ заменяется <-, что очень неприятно. Есть ли оператор Emacs lisp, чтобы отключить это поведение?

emacs: 22.1.1 ess-mode release (неизвестно)

5   51  

5 ответов:

с ЕСС это (смотрите раздел "изменения / новые функции в 5.2.0"):

ESS[S]: нажатие подчеркивания ("_") один раз вставляет "

от http://www.r-bloggers.com/a-small-customization-of-ess/ и как изменить привязку smart assign key ("_"к"

чтобы назначить ": "на"

(setq ess-smart-S-assign-key ":")
(ess-toggle-S-assign nil)
(ess-toggle-S-assign nil)
(ess-toggle-underscore nil) ; leave underscore key alone!

Так как функция полезна. Вы можете назначить его другому ключу, который менее используется вами в R, он автоматически отменит его из подчеркивания. Я лично назначаю его ";" добавив следующую строку .файл emacs.

(setq ess-smart-S-assign-key ";")

моя версия emacs - это установочный файл 24.3 All-in-one от Vincent Goulet.(Установлен на windows 7)

надеюсь, что это помогает

Edit В emacs 25.2 выше не работают, вместо этого добавьте следующее .в Emacs файл

(setq ess-smart-S-assign-key ";")
(ess-toggle-S-assign nil)
(ess-toggle-S-assign nil)

более поздняя версия, которая, казалось, работала для меня, и намного менее многословна (вы по существу сохраняете нормальные подчеркивания, но можете установить свой собственный ключ для этого умного поведения!):

(global-set-key (kbd "C-;")  (lambda () (interactive) (insert " <- ")))
(ess-toggle-underscore nil)

вставьте свой выбор короткой клавиши вместо C-;.

как Михал Марчик и эта нить списка рассылки R предложил добавить эту строку в ~/.emacs:

(ess-toggle-underscore nil)

затем перезагрузите его с M-x load-file и типа ~/.emacs.

но если вы загружаете файл снова, например, если вы добавляете другую настройку, то он переключает его обратно в исходное состояние. Поэтому переключите его дважды, первый заставляя его по умолчанию:

(ess-toggle-underscore t)
(ess-toggle-underscore nil)

это, как говорится, Мне нравится решение Drummermean лучше, но это также возвращается к умолчанию, если вы добавляете его в ~/.emacs и загрузите его дважды. Так что заставьте переключатель по умолчанию перед:

(ess-toggle-underscore t)
(global-set-key (kbd "M--")  (lambda () (interactive) (insert " <- ")))
(ess-toggle-underscore nil)

я привязал смарт-задание к Opt-[minus] как RStudio (на Mac).