我对 viper 模式在 Emacs 中的工作方式不是特别满意。我正在尝试编写自己的毒蛇模式。除了我使用 .emacs 文件完成的自定义数量之外,我在 Elisp 中没有任何好的编程经验。
我想知道是否可以临时更改 Emacs 中的键绑定,并在需要时将它们恢复到原始状态。
我对 viper 模式在 Emacs 中的工作方式不是特别满意。我正在尝试编写自己的毒蛇模式。除了我使用 .emacs 文件完成的自定义数量之外,我在 Elisp 中没有任何好的编程经验。
我想知道是否可以临时更改 Emacs 中的键绑定,并在需要时将它们恢复到原始状态。
好吧,如果我正确理解您的问题,一种简单的方法是创建您自己的次要模式(除了我要说的您自己的特定模式),仅由您的临时键绑定组成。
您为该模式命名,然后打开或关闭所有临时键绑定就像调用命令一样简单:
M-x salsabear-minor-mode
您可能想在 SO 上阅读 scottfrazer 的 45+ upvotes 答案:
他解释了如何创建自己的包含键绑定的次要模式。
鉴于您明确地只提到了 viper,可能值得问一下您是否知道其他存在的基于 vi/vim 的库?请参阅以下列表:
http://www.emacswiki.org/emacs/CategoryEmulation
我怀疑重新发明这个特殊的轮子可能不值得。
我相信Evil是最活跃的项目,但如果它没有按照你想要的方式工作,你的努力可能会更好地加强它(如果可行的话)?