如果我emacs -nw使用鼠标中键或 Ctrl+Shift+v(在 gnome-terminal 中从剪贴板粘贴)将浏览器中的一段代码粘贴到,则缩进不正确。
原始代码:
for (i=0; i<=10; i++) {
j = j + i;
print j;
}
Run Code Online (Sandbox Code Playgroud)
变成:
for (i=0; i<=10; i++) {
j = j + i;
print j;
}
Run Code Online (Sandbox Code Playgroud)
在 vim 中,一个会关闭自动缩进。在 emacs 中,我尝试了两种不起作用的方法:
方法一:
配置 ctrl+y 以使用 ~/.emacs 中的 PRIMARY 选择
(setq x-select-enable-primary t)
Run Code Online (Sandbox Code Playgroud)
并尝试使用 Ctrl-y 而不是鼠标中键或 Ctrl+Shift+V 粘贴。结果:ctrl-y 仅粘贴来自 emacs 的终止环,而不是来自外部选择。
方法 2:从newline-and-indent以下位置取消映射 RET :
(add-hook 'lisp-mode-hook '(lambda ()
(local-set-key (kbd "RET") 'newline)))
Run Code Online (Sandbox Code Playgroud)
它适用于键入 RET(无缩进),但对于鼠标中键或 Ctrl+Shift+V 自动缩进无论如何都会应用。
小智 6
当遇到换行符时,emacs 中会发生自动缩进。您可以使用electric-indent-local-mode和electric-indent-mode切换此设置。
来自http://emacsredux.com/blog/2013/03/29/automatic-electric-indentation/
鲜为人知的是,Emacs 24.1 引入了一种新的全局次要模式,称为电缩进模式。启用后,键入某些字符(如换行符)会触发重新缩进。
| 归档时间: |
|
| 查看次数: |
2160 次 |
| 最近记录: |