如何快速跳出括号或引号

能具体点吗?不太明白

右括号就一个占位符吧,你按一下“向右键”不就行了?

如果我没理解错你的需求的话。。。

那不是离主键盘太远了吗?

这个函数可以用来向右跳出括号或者引号啊,还有一个向左跳的 backward-up-list,你可以把他们绑定到你喜欢的快捷键上面去使用。

ok. thanks.我试试. 这个好像有点 大材小用 :grinning:

另一种方法是使用tab键进行跳转。

具体可以参考一下我的插件:

这个好像是针对 lisp 的小括号 的, 那比如说 ” “ { } 能生效吗?

对于""{},当然不行。。。

因为你可能会在""{}里打tab,这个插件主要就是针对lisp的小括号。

是啊,确实比较麻烦

既然右括号自动输入了按键不就沒用了,直接把 C-f 绑到右(方)括/引/号上不就行了。

我都干脆关了 auto pair 的。

很多编辑器,都是 用 Enter 跳出 surround的,再 按一次 Enter 才是换行

这样的操作还是很便利的,而且也很合理,因为之前也是用了 很久 Eclipse ,就是这样做的,

但是我不会写 插件,不知道 emacs 里面怎么做,这个需求不知道大家喜欢吗?

可以用awesome-pair

和 yasnippet 使用场景有些类似,但不完全一样。楼主最好能提供一些其他编辑器的动图或者视频,这样更能说明问题。有价值的话自然会有人用 Emacs 来实现。

在 auto-pair 中的hook里 对回车键做修改 让她跳出右括号

以词或者句为单位,在编码中尤为常见,我推荐 smartparens

我尝试用 awesome-pair

启动spacemacs 时报错了

Error loading .spacemacs: (void-variable awesome-pair-mode-map)

配置如下:

(defun dotspacemacs/user-init ()

(add-to-list 'load-path "/home/xx/git/awesome-pair/") 

(require 'awesome-pair)

(defun dotspacemacs/user-config ()

(define-key awesome-pair-mode-map (kbd "M-p") 'awesome-pair-jump-right)

你直接绑定命令啊,没有awesome-pair-mode定义,为啥要这么写?

楼主要的特性应该和语言相关,比如用Intellij IDEA写java,输入new Str自动补全成new String()之后,光标处于括号中间。

此时如果输入双引号,光标会继续在括号内编辑,而如果补全后输入分号,IDEA知道分号不可能在括号内,光标首先会自动跳出括号,然后输入分号。

我觉得,还是 Enter 方便, 比若说在 敲 Enter 的时候,确认当前光标 是否在 刚创建的 surround 内部, 如果是,就跳出这个surround ,如果不是 就直接换行。

这应该没有语言相关性吧,就比如你写文档的时候,用了双引号,然后输入完了想跳出继续写,只要Enter 一下就好

如果是这样

func("xxx")

需要两个括号(一个括号 一个引号) 要怎么处理呢?