如何阻止emacs用< – 在ess模式下replaceunderbar
ess-mode
是“Emacs发言统计”。 此模式对于编辑R或Splus程序(两个单独的统计软件包)非常有用。
在我的缓冲区中,当我input_
,字符被replace为<-
,这是非常令人沮丧的。 有没有emacs lisp语句来closures这种行为?
emacs:22.1.1 ess-mode release(unknown)
从ESS手册 (查看“5.2.0中的更改/新function”):
ESS [S]:按下划线(“_”)插入“< – ”(如前); 按两次下划线插入一个文字下划线。 要停止这种智能行为,在加载了ess-site之后,将“(ess-toggle-underscore nil)”添加到.emacs中
从http://www.r-bloggers.com/a-small-customization-of-ess/和如何更改ESS中的智能分配键(“_”到“< – ”)绑定
要将“:”分配给“< – ”,并停止将下划线(underbar)“_”分配给“< – ”,则在.emacs中放入以下内容(是的,重复的行是正确的)
(setq ess-smart-S-assign-key ":") (ess-toggle-S-assign nil) (ess-toggle-S-assign nil) (ess-toggle-underscore nil) ; leave underscore key alone!
由于该function是有用的。 您可以将其分配给您在R中较less使用的其他键,它将自动从下划线取消分配它。 我个人把它分配给";"
在.emacs文件中添加以下行。
(setq ess-smart-S-assign-key ";")
我的emacs版本是Vincent Goulet的24.3一体化安装文件(安装在Windows 7上)
希望这可以帮助
编辑在上面的emacs 25.2不起作用,而是在.emacs文件中添加以下内容
(setq ess-smart-S-assign-key ";") (ess-toggle-S-assign nil) (ess-toggle-S-assign nil)
一个更新的版本,似乎为我工作,是less得多冗长(你基本上保持正常的下划线,但可以设置你自己的关键这个聪明的行为!):
(global-set-key (kbd "C-;") (lambda () (interactive) (insert " <- "))) (ess-toggle-underscore nil)
插入您的短键select,而不是C-;
。