为了账号安全,请及时绑定邮箱和手机立即绑定

我不知道如何将选中的代码块整体左移,求指点一下哈

我不知道如何将选中的代码块整体左移,求指点一下哈

MMMHUHU 2023-04-25 19:15:24
在google上搜索了很久,没有找到中意的答案。于是到这来提问,希望能够得到满意的答案。问题是这个样子的:在emacs中写jade这类代码时,格式显得尤为重要,但是我不知道如何将选中的代码块整体左移。所以有时改代码时显得很费劲,希望得到各位的帮助。本人现在还不会elisp,如果是修改配置的话,望能添出代码谢谢。
查看完整描述

3 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

(defun shift-text (distance)
(if (use-region-p)
(let ( (mark (mark)))
(save-excursion
(indent-rigidly (region-beginning)
(region-end)
distance)
(push-mark mark t t)
(setq deactivate-mark nil)))
(indent-rigidly (line-beginning-position)
(line-end-position)
distance)))

(defun shift-right (count)
(interactive "*p")
(shift-text count))

(defun shift-left (count)
(interactive "*p")
(shift-text (- count)))
`
应该可以满足


查看完整回答
反对 回复 2023-04-28
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

;; 以下方法不限于 jade-mode

;; 选中要 indent 的 region

;; M-x indent-rigidly ;; 默认已绑定到 Ctrl-x TAB

;; C-u 10 C-x TAB  ;; 整体右移 10 个字符 

;; C-u -2 C-x TAB  ;; 整体左移 2 个字符


查看完整回答
反对 回复 2023-04-28
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

在C语言模式下,emacs可能会自动用cc-mode来自动调整你的TAB,此时不能直接按TAB,而是C+x,
TAB。

	PrintList(n1);	   int ToFind;
	   ToFind = atoi(argv[2]);
	   printf("find (%d) at %d\n", ToFind, LocateElem(n1, ToFind));	   ListInsertTail(&n1, 13);	   PrintList(n1);	ListInsertTail(&n1, 23);

上面代码块中的第2行到倒数第2行,即是我在C语言模式下,3次C+x, tab 后的试验结果。

看看是不是你想要的。


查看完整回答
反对 回复 2023-04-28
  • 3 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信