如何将我的.vimrc翻译成邪恶模式

I have heard of the power of Emacs, but I have a ton more experience with vim and an extensive amount of shortcuts in my .vimrc file. I would like to transfer these mappings over to Emacs evil-mode. What would be the best way to do this? One example would be mapping tab to >> (indenting the current line). Which looks like nnoremap >> in my .vimrc.

5
一般来说,这种翻译不会是微不足道的。在Emacs中,事情的完成情况大不相同,但我认为从长远来看,你会发现Emacs更清洁,更强大,尽管它更加冗长。
额外 作者 PythonNut,
我认为你可能更好地提出有关 .vimrc 中特定相应行的问题,而不是一个全面的问题。
额外 作者 PythonNut,

1 答案

从字面上看,您的样本行将转换为以下内容:

(define-key evil-normal-state-map (kbd "") (kbd ">>"))

虽然我个人不推荐这个。引用要通过名称运行的函数而不是使用键盘宏更清晰。这清除了区分 nmapnnoremap 之间的需要,并且更具容错能力。

(define-key evil-normal-state-map (kbd "") #'evil-shift-right-line)
5
额外
通常,您可以使用 C-h k 来确定密钥运行的命令。 然而 evil 会隐藏代理命令背后的一些东西(例如 evil-shift-right ),以使可组合语法更容易。在这种情况下,您只需要知道在整行上工作的 evil 操作通常是 -line 。示例包括 evil-delete-lineevil-yank-line 。某些操作(如 evil-downcase )没有定义这样的方便别名,因此您需要更多魔法才能使它们起作用。询问您是否需要帮助。
额外 作者 PythonNut,
你怎么知道这个命令是邪恶的右移线?经验还是图书馆?
额外 作者 robertpostill,