当使用 vim 来“回复”某个程序(通常是 git)时,故意退出错误会很有用,以中止打开窗口的整个操作。喜欢
$ git commit -a
# vim opens, showing me the staged files and asking for a commit message
# oops, I see some stuff staged that wasn't supposed to be committed
:cq # exit vim with nonzero exit code
Run Code Online (Sandbox Code Playgroud)
这将阻止git实际执行提交。
现在不幸的是,有些机器已经nano配置为默认编辑器,所以我偶尔会发现自己在那个编辑器中,相应地很无助。
我现在所做的是:使用另一个ssh会话和killall editor.
有没有办法从 nano 本身内部做同样的事情,对应于 vim 的:cq?
我在 Ubuntu 9.04 上使用 Emacs。
我在~/.emacs.d目录中有我的 emacs 配置文件。
我的 emacs 文件名为.emacs.
我有一些基本的配置。但是,当我启动 emacs 时,它永远不会加载我的配置,我必须继续使用例如手动执行它
M-X Transient-mark-mode
Run Code Online (Sandbox Code Playgroud)
我的 emacs 文件如下所示:
;; Emac customization file path
(add-to-list 'load-path "~/emacs.d")
;; Use font lock mode
(global-font-lock-mode t)
;; Highlight cursor line
(global-hl-line-mode t)
;; Highlight selected region
(transient-mark-mode t)
Run Code Online (Sandbox Code Playgroud)
我想添加到此配置而不是手动添加条目。
所以我最终转向了 Emacs,并不是因为我相信它本身就是更好的编辑器,而是因为它确实具有更强大的扩展。虽然我仍在使用vim 模式,也许这是我问题的一部分......但我真的不打算放弃模式方法,所以我可能会继续使用它。
我相处得很好,但我发现真正令人不安的一件事是钥匙的行为esc(我在这个shift-lock位置上)。我习惯于或多或少地依赖它作为“紧急键”,这可能不太好,但我发现通常可以让我工作时不太关心击键本身,因此速度更快。
我希望这个键做的只是让我脱离任何迷你缓冲区或特殊编辑模式,进入明确定义的正常状态。也许最重要的是,我希望它不要做任何不相关的事情,
是否有可能关闭所有这些并制作esc一个真正的退出键?Vim 模式确实让它在某些情况下表现得像我喜欢的那样,但特别是当涉及其他插件时,这经常会中断。
或者,是否有可能适合我的工作流程类型的不同选项?