当我刚刚输入了一个巨大的命令,例如:
:e ~/Projects/foo/app/views/bar.rhtml
Vim经常会提示我当前缓冲区还没有保存。是否有一种快速方法可以在命令后加上一个感叹号而不必重新输入整个命令?
当我刚刚输入了一个巨大的命令,例如:
:e ~/Projects/foo/app/views/bar.rhtml
Vim经常会提示我当前缓冲区还没有保存。是否有一种快速方法可以在命令后加上一个感叹号而不必重新输入整个命令?
:e! #
在指定vim文件时,%
是当前文件的快捷方式,#
是“上一个”(实际上更像是“其他”)文件的快捷方式,在您的情况下是~/.../bar.rhtml
q:
将弹出历史记录,您可以直接编辑命令,然后按Enter键再次运行它们,或者按照zigdon的建议执行:!
:<up><home><right>!
?
ESC :
,然后使用历史记录(^p
或向上箭头)再次获取以前的命令。具有讽刺意味的是,在该缓冲区内进行编辑比vi更像emacs。:map ! :^[OA^[[1~^[OC!^M
将其绑定到键(这些转义字符和^M需要是实际的转义字符--您可以通过首先输入^V
来获得它们)。map ! :<up><home><c-right>!<cr>
呢?无需使用 ^V,而且在 .vimrc 中编辑更加容易。 - Roger Pate
:set hidden
和:help 'hidden'
。 - Roger Pate