相信大家对这个mode都不陌生
但是我用起来有个小问题
补全后 后面会莫名的多一个空格 (强迫症 莫怪 )
需求是这样的 我把平常ssh 比较多的地址 都写在abbrev里面了
密码也是
然后就补全了密码 每次多个空格 需要手动去掉 回车 。。。。。
有没有人知道怎么搞
相信大家对这个mode都不陌生
但是我用起来有个小问题
补全后 后面会莫名的多一个空格 (强迫症 莫怪 )
需求是这样的 我把平常ssh 比较多的地址 都写在abbrev里面了
密码也是
然后就补全了密码 每次多个空格 需要手动去掉 回车 。。。。。
有没有人知道怎么搞
abbrev-mode 会根据每个mode设置不同的abbrev
你在哪个mode里面用?
你可以把相应mode中的abbrev贴出了看看
M-x edit-abbrevs 找到相应的mode
我是设置在global的 文本肯定是没有问题的。。。。。补全后自动会加一个空格的
abbrev-mode
「自动」展开的依据就是你输入的这个空格(或者别的标点符号),这个标点本身就有意义,自然应该保留。
你可以用 C-x a e
(expand-abbrev
) 「手动」展开,这样就不需要输入一个额外的标点符号。 也可以试试用 pre-abbrev-expand-hook
进一步定制,这有个相关问题可以参考(不过跟你的问题不同):
可能你需要的是这个
(defun cm/magic-space ()
"If there is abbrev expand it, otherwise insert a space"
(interactive)
(cond ((expand-abbrev))
(t
(cl-letf (expand-abbrev) (self-insert-command 1)))))
绑定到SPC下
代码借鉴于auto-yasnippet的aya-open-line
注意我没有试过expand-abbrev
我只尝试了yas-expand
但是根据abo-abo的代码来看, 应该是可行的
好的谢谢 !!!!
好的 我试一下 感谢
也可以结合着company-mode的post-completion