我的语文不太好,大家见谅
大概徒手敲每个按键两年了,现在像追求 IDE 的编辑体验,
- 第一个是括号匹配那类的,还有其他字符
- 还有一个是, 输入
{
然后按下回车,代码块补全,然后光标到中间的
不知道有没有插件实现上述功能,还是说可以在原有的插件配置上改,请各位指点
我的语文不太好,大家见谅
大概徒手敲每个按键两年了,现在像追求 IDE 的编辑体验,
{
然后按下回车,代码块补全,然后光标到中间的不知道有没有插件实现上述功能,还是说可以在原有的插件配置上改,请各位指点
不知道 paredit 算不算
还有一个玩意,应该是内置的
这个我抄的 GitHub - seagle0128/.emacs.d: Centaur Emacs - A Fancy and Fast Emacs Configuration
https://github.com/manateelazycat/awesome-pair
https://github.com/AndreaCrotti/yasnippet-snippets
多用用论坛的搜索功能,都能搜到的
不知道第二个需求能不能实现,yasnippet 好像是按下 space 补全
有些问题和需求描述起来千人千面,可能确实不太好搜索到答案.
补全括号
indent
这几个关键词,基础到直接论坛内搜索都能解决问题.
electric-pair-mode
语文不太好,特意录个视频给你
娘的安装 kazam 又遇到了依赖问题,弄了一下午
这不就是自带的 electric-pair-mode
的功能吗?你自己试了没有?
我也用的这个。
输入{\n\n}
的问题,我是直接绑到ctrl-ret的,下面这个stackoverflow里面abo-abo的原方案是输入{
时自动配对并根据情况看要不要自动换行,可能更适合你的习惯。
;; https://stackoverflow.com/a/22114743/4788022
(defun jester/insert-curly-and-go-inside ()
"Insert {} on separate lines, and a new line in between."
(interactive)
(unless (looking-back "[ ({\\[]") (insert " "))
(insert "{\n\n}") (indent-according-to-mode)
(forward-line -1) (indent-according-to-mode))
(general-define-key
:states '(insert emacs)
:keymaps '(prog-mode-map conf-mode-map)
"<C-return>" 'jester/insert-curly-and-go-inside)
(dolist (brace '("(" "{" "["))
(sp-pair brace nil
:post-handlers '(("||\n[i]" "RET")
("| " "SPC"))
:unless '(sp-point-before-word-p sp-point-before-same-p)))
Smartparens 配置
效果 |为光标
{| 回车
=>
{
| 自动缩进
}
(| 空格
=>
( | ) 自动加入两边空格
不得不吐槽一下,这个 Ubuntu 版本太老了吧。
卧槽,谢谢你的提醒,我这就去试试
其实我是超别人的配置,别人的配置里没有这个效果,我就以为 electric-pair-mode
没有这个功能