我在 midnight commandder 中使用 vim 作为查看器,我想快速查看和关闭文件。如何将退出键映射到:q
正常模式,以便 vim 仅在未发生任何更改时退出?
答案1
如果只针对当前vim
会话执行此操作,请在 中键入以下命令vim
。(为清晰起见,添加了空格。除了我指示的 之外,请不要键入空格Space。)
: m a p Space Ctrl+ V Esc Space : q Ctrl+V Enter Enter
要对当前终端会话的剩余部分执行此操作,请键入以下命令(在终端中;即 shell)。(为清晰起见,添加了换行符。在一行中键入以下内容;Enter除了我指示的位置外,不要键入其他内容Enter。)
E X I N I T =
" : m a p Space Ctrl+ V Esc Space : q Ctrl+V Enter " Enter
进而
export EXINIT
Enter
要使更改“永久”生效(即,直到您将文件更改回来),请将上述命令(和EXINIT="…"
)export EXINIT
放入您的.bash_profile
and/or中.bashrc
。(您可以将它们放在同一行上,用 将它们分开;
。您可以通过将它们组合成 来缩短它们export EXINIT="…"
。)这要等到您再次登录或可能直到您启动新的 shell 才会生效,除非您只是键入命令EXINIT
或source
将命令放入其中的文件EXINIT
。
笔记:如果您没有使用 bash 作为您的主 shell,则可能需要修改上述内容以适合您的 shell。
或者,尝试将:map …
命令放入您的文件中.exrc
。
如果这还不明显的话,
:地图字符串1 字符串2
(在vi
/中vim
)创建一个映射(转换),这样,当你输入(在命令模式下),编辑器就像你输入了 一样。而+是超级转义字符,它告诉/和 shell(实际上,可能string1
string2
CtrlVvi
vim
全部程序(或至少大多数程序)会将以下字符解释为文字字符,而不是控制字符。请注意,Ctrl+V后跟的Enter
是回车符,通常显示为^M
;但在 中,它被解释为。:map
string2
Enter