如何提升编辑体验,我指的是括号补全那类的

我的语文不太好,大家见谅
大概徒手敲每个按键两年了,现在像追求 IDE 的编辑体验,

  1. 第一个是括号匹配那类的,还有其他字符
  2. 还有一个是, 输入 { 然后按下回车,代码块补全,然后光标到中间的

不知道有没有插件实现上述功能,还是说可以在原有的插件配置上改,请各位指点

不知道 paredit 算不算

还有一个玩意,应该是内置的

这个我抄的 https://github.com/seagle0128/.emacs.d

https://github.com/manateelazycat/awesome-pair

https://github.com/AndreaCrotti/yasnippet-snippets

多用用论坛的搜索功能,都能搜到的

不知道第二个需求能不能实现,yasnippet 好像是按下 space 补全

有些问题和需求描述起来千人千面,可能确实不太好搜索到答案.

但这个问题不管怎么描述都不能逃开补全括号 indent这几个关键词,基础到直接论坛内搜索都能解决问题.

electric-pair-mode

2021年07月27日 屏幕视频 15时47分43秒 (1)
语文不太好,特意录个视频给你
娘的安装 kazam 又遇到了依赖问题,弄了一下午

这不就是自带的 electric-pair-mode 的功能吗?你自己试了没有?

emacs

我也用的这个。

输入{\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没有这个功能