我想将两个键绑定定义为缩进/取消缩进区域 4 个空格。
前:
hello
world
foo
bar
- 直观地选择
world
和foo
。 - 类型>
后:
hello
world
foo
bar
我也想绑定<到 unindent 区域。
我不熟悉emacs
,请帮助。
我想将两个键绑定定义为缩进/取消缩进区域 4 个空格。
hello
world
foo
bar
world
和foo
。hello
world
foo
bar
我也想绑定<到 unindent 区域。
我不熟悉emacs
,请帮助。
已经有键盘快捷键:
缩进:C-u 4 C-x TAB
缩进C-u - 4 C-x TAB
如果您觉得输入的时间太长,您可以在 .emacs 文件中添加以下内容:
(defun my-indent-region (N)
(interactive "p")
(if (use-region-p)
(progn (indent-rigidly (region-beginning) (region-end) (* N 4))
(setq deactivate-mark nil))
(self-insert-command N)))
(defun my-unindent-region (N)
(interactive "p")
(if (use-region-p)
(progn (indent-rigidly (region-beginning) (region-end) (* N -4))
(setq deactivate-mark nil))
(self-insert-command N)))
(global-set-key ">" 'my-indent-region)
(global-set-key "<" 'my-unindent-region)
使用此代码,大于( >) 和小于( <) 键将每个标记区域缩进/取消缩进 4 个空格。
(defun keyboard-indent (&optional arg)
(interactive)
(let ((deactivate-mark nil)
(beg (or (and mark-active (region-beginning))
(line-beginning-position)))
(end (or (and mark-active (region-end)) (line-end-position))))
(indent-rigidly beg end (* (or arg 1) tab-width))))
(defun keyboard-unindent (&optional arg)
(interactive)
(keyboard-indent (* -1 (or arg 1))))
除了@Thomas 已经写过的内容之外,您可能不想使用键<
和>
缩进或取消缩进。只是图像,您需要编写一些 HTML 并且不能再输入这些字符。这就是为什么我在我的init file
, 中插入以下内容作为关键设置:
(global-set-key (kbd "C-<") 'my-indent-region)
(global-set-key (kbd "C->") 'my-unindent-region)
注意:没有(kbd ...)
. 你会得到一个错误:
global-set-key: Key sequence C - > starts with non-prefix key C