合并上下两行的时候,如果是中文,怎样避免增加的空格?

(define-key evil-normal-state-map (kbd "J") 'my-delete-indentation)

是我没有表达清楚,S-j可以在第一行上执行命令把第二行的内容直接追加到第一行上面,上面的代码要在第二行上使用这个命令,不大符合我个人的习惯。

那就先往下移一行,在my-delete-indentation的body开始(interactive这行的下面)加个(evil-next-line)。对,踩在高手的肩膀上就是这么简单 :wink:

1 个赞

对,函数运行没有问题,不知道为什么上面的那个keybinding不工作。

没有啊,我这里 S-j 可以在第一行用啊,你说的哪个版本,下面用 cl-letf 的版本你试了吗? Remove needless whitespace when joining two lines in Chinese · GitHub

这个版本更 clean,没有什么副作用,推荐使用。

刚才用的Xu Chunyang在上面写的代码,命令运行没有问题,加了keybinding运行出错。 你提到的这个版本,是要怎么用啊,直接把代码拷贝进我的配置就可以吗?没有效果啊,不知道怎么用,望指教。

拷贝到你的配置里就能用,如果你刚才已经用advice改动了函数,那么你需要重启emacs

如果还不能用,用 C-h f 检查一下 delete-indentation 函数,它应该有一个 Advice 叫: et/delete-indentation,如果没有说明你的配置文件没有正确加载

1 个赞

对,重启一次就好了,谢谢。