比如当前行是 aaaaaaaaaaaaBBaaaaaaaaaaaaaaaaa,光标在BB 之间,如何像vim 的 o 那样,在当前行下新增一行,并且进入到下一行;像vim的 O 那样,在当前行的上方新增一行。 网上搜索一下 newline 和 newline-and-indent 似乎都是在当前字符那里新增一个换行符,这样就切割了当前行
<C-e><Ret>。<C-e>到行尾,<Ret>新增一行。
可以参考一下stack overflow上的这个问题:
感谢,stackoverflow 比gpt靠谱
第一个是 o
, 我绑在 C-o
; 第二个是 O
, 我绑在 M-o
(defun newline-and-indent-1 ()
(interactive)
(end-of-line)
(newline-and-indent))
(defun newline-and-indent-2 ()
(interactive)
(beginning-of-line)
(newline-and-indent)
(previous-line))
1 个赞
除了插入新行,还要考虑到 undo 光标能回到原来的位置:
(defun newline-bellow ()
"Insert a new line bellow like `evil-open-below'."
(interactive)
(push (point) buffer-undo-list)
(end-of-line)
(newline-and-indent))
3 个赞
所以stackoverflow禁gpt防答案被污染,,啥叫污染,,,垃圾答案