簡體   English   中英

如何在vim中重新映射“ q!”和“ q”

[英]how to remap “q!” and “q” in vim

我正在嘗試重新映射qq! 這是我正在嘗試的:

cnoremap q :call TabCloseLeft('q')
cnoremap q! :call TabCloseLeft('q!')

可以正確地重映射:q但不能捕獲:q! 我已經閱讀了各個幫助部分,但顯然我忽略了一些內容。

我看到一些問題:

  • 您正在危險地使用cnoremap例如/q
  • 您正在嘗試覆蓋Vim的本機:quit函數
  • 看起來您正在試圖將Vim強制變為選項卡行為

cnoremap

不要使用cnoremap嘗試和創建命令,使用:command 如果要覆蓋命令,請使用聰明的cabbrev表達式或插件。 查看vim change:x函數來刪除緩沖區,而不是保存並退出

本地戒煙

在vim中有很多退出緩沖區的方法。 有些做的事情略有不同。 隨着Vimmer學習更多的命令,他們將它們集成到他們的工作流程中。 例如, <cw>c關閉拆分/窗口, ZZ更新並更新當前緩沖區。 如果您走這條路,將會覆蓋許多命令,或者將忽略有用的命令。

標簽

學習有效地使用緩沖區 在Vim中使用制表符很不錯,但是它們並不是唯一的方法,並且肯定會使您痛苦不已。 恕我直言,最好是減少這些行為並鼓勵更好的習慣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM