Sniem: Emacs 新编辑模式

最新提交:

修改了些细节。
目前 sniem 已经上了 MELPA,大概明天就能直接安装了。(今天刚刚合并)

目前该编辑模式已改名为 Hands-eaSed uNIted Editing Method 。

也加入了些新功能:

  1. sniem-shift
    原本我打算用这个函数来彻底替代 shift 键,后来发现这样不仅不现实而且需要的成本特别大。后来我转换了思路:尽可能地代替 shift ,同时让 shift 键能做更有意义的事情。具体用法参考 README

  2. sniem-mark , sniem-pair & sniem-object-catch
    这三个功能原本都有,最近由于需求,我给其建立了联系或对功能有所提升。

    首先是给 sniem-mark 提供了个函数,(sniem-mark-set-attachment) 。该函数用于给全局或某个 mode 设置连接符,例如于 ELisp 中,有这样的 symbol : dap-features->modes ,就可以为其单独设置连接符,从而将 > 视为连接符。
    另外,还设置了 expand 连接符,当目前已经选择了内容后,若选区周围有当前 mode 的 expand 连接符,再次执行 mark symbol 即可对选区进行扩展。例如,在 Python 中,设置了 . 为 expand 连接符后,就可以执行三次 mark symbol ,来选择 self.a.b

    (sniem-mark-set-attachment 'global "_")
    (sniem-mark-set-attachment 'emacs-lisp-mode ">")
    (sniem-mark-set-attachment 'python-mode :expand '("."))
    

    其次,sniem-pairsniem-object-catch 建立了联系,于后者给某模式设置了特殊 pair 后,sniem-pair 即可对内容增加/去除该模式的特殊 pair

2 个赞