多年来我一直在使用Vim作为我的主编,并在那段时间里多次尝试过Emacs.然后我发现了Evil,并认为它足以满足我对快速运动的需求,以至于我终于可以转向Emacs了.
那么,对于所有邪恶的用户,如何将其与普通的Emacs功能集成?您是否在此模式与其他模式之间遇到过任何冲突?您对此主题有什么分享经验/提示?
我最近在使用Vim很长一段时间之后开始使用Emacs(和那里的许多其他人一样),我个人觉得Vim移动键和文本对象是编辑器可以拥有的最好的东西之一.我听说过使用不同的插件在Emacs中模拟这些功能,但是在互联网上阅读了一些之后,我很困惑.
我特别遇到了三种模式:Viper,Vimpulse和Evil.有人可以帮助我了解如何使用这些模式来实现近乎完美的Vim仿真吗?我需要安装所有这三个吗?他们之间有什么区别?谢谢.
最近我尝试了Emacs并发现Evil对保持我的vim习惯很有帮助.我习惯输入"jj"从插入模式返回正常模式,就像许多Vimers一样,但不知道如何在Evil模式下进行.
我这样映射但似乎不正确:
(define-key evil-insert-state-map (kbd "jj") 'evil-normal-state)
Run Code Online (Sandbox Code Playgroud) 我正在使用emacs中的vim绑定的精彩邪恶包.
一个不对的键是Ctrl+ U.它仍然是emacs前缀,而不是"up".
有人在我的.emacs的某些lisp代码中有解决方案吗?
谢谢.
大约一年前从Vim搬过来后,我正在使用邪恶模式.我做了很多自定义,但还没有找到如何保存vim风格的键盘宏.
我可以使用与Vim完全相同的键在邪恶模式下定义和运行它们.
我想将其中的一些保存到我的init.el文件中以便在会话之间使用,但我无法在线找到任何引用,并且找不到正确的语法.
如何将这些邪恶模式键盘宏保存到文件中?是否有一些原因我应该使用原生的Emacs键盘宏,有没有办法通过@a键运行这些?
这些是一些很棒的选项:emacs-24,evil-mode(在emacs中使用vim绑定)和undo-tree.
但是,当我处于编辑模式(插入模式)时,我有时会在遇到转义和离开插入模式之前跳转一下数字插入,删除等.
"撤消"将整个插入(包括删除)作为一个编辑.例如,我无法撤消我意外删除的段落而没有撤消整个删除!
有没有什么办法解决这一问题?
以下是一些相关链接:
以下是转换某些vim命令的vim映射,以便它们可以撤消:
inoremap <c-u> <c-g>u<c-u>
inoremap <c-w> <c-g>u<c-w>
inoremap <End> <C-g>u<End>
inoremap <BS> <c-g>u<BS>
inoremap <CR> <c-g>u<CR>
inoremap <del> <c-g>u<del>
Run Code Online (Sandbox Code Playgroud)
所需要的是emacs evil undo-tree内部的撤消模式除了离开插入模式之外还要跟踪其他事件.例如,您应该能够长时间保持插入模式,然后撤消任何类型的删除,剪切,粘贴.
几十年来我一直在和VIM合作,而且我已经非常精通了它.然而,我被Emacs's诱惑了org-mode,为了尝试它,我安装了Emacs和Evil.
Evil满足了我与VIM相关的大部分肌肉记忆,所以我继续我的测试org-mode- 并且遇到了我的第一个问题:当我在自己的窗口中生成Emacs(即emacs plan.org)然后TAB关键工作,打开和关闭我的计划部分就好了.但是,TAB当我在文本模式下使用Emacs时(即在我的XTerms中,通过"emacs -nw plan.org"),什么都不做.这是我最感兴趣的状态,因为我通常通过SSH连接在screen/tmux内部工作.
如果它与邪恶模式发生冲突,我不明白为什么 - 我不知道VIM正常模式下的任何TAB功能(这是我们在打开/关闭org-mode部分时所处的位置).
任何Emacs-guru在那里提出了为什么会发生这种情况的建议?
在"正常"状态下evil-mode,光标移动模拟了vim的标准行为.我希望通过以下两种方式使其更类似于标准的emacs行为.
我希望垂直运动发生在视觉线内,而不是逻辑线.即如果一条线被包裹,按下j或<down>应该移动到同一条线的下一部分.
我希望水平移动不会停留在换行符上.即如果光标位于一行的末尾,则按l或<right>应移至下一行.
我怎样才能做到这一点?
我不喜欢插入状态,所以我想用emacs-state替换它.但是这个设置不起作用:
(add-hook 'evil-insert-state-entry-hook 'evil-emacs-state)
Run Code Online (Sandbox Code Playgroud)
按o或之后cw,我仍处于插入状态.
我想在Emacs中找到类似Nerd Tree的东西并找到Nav,它就像基本的emacs文件导航器一样,它适合我.
问题是,当我打开Nav并切换到它的缓冲区时,邪恶模式仍然存在,C-z如果我想使用任何Nav特定命令(例如.for nav-toggle-hidden-files),我必须按下.它让我烦恼.
我试图通过粘贴来解决这个问题已经有几个小时了
(require 'evil)
(evil-mode 0)
Run Code Online (Sandbox Code Playgroud)
Nav文件中的每一个地方,但显然我做错了.我很确定它会在使用其他插件时再次发生..我该怎么做?