![在正常模式下將轉義鍵對應到 vim 中的 :q](https://rvso.com/image/1449094/%E5%9C%A8%E6%AD%A3%E5%B8%B8%E6%A8%A1%E5%BC%8F%E4%B8%8B%E5%B0%87%E8%BD%89%E7%BE%A9%E9%8D%B5%E5%B0%8D%E6%87%89%E5%88%B0%20vim%20%E4%B8%AD%E7%9A%84%20%3Aq.png)
我在午夜指揮官中使用 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
;但是,在 a 中, that 被解釋為 an 。:map
string2
Enter