8

vimでは、私がヒット:wqしたとき、ほとんどの場合、入力しようとしたときに発生した事故です:w。無効にしたいのですが:wq

私が見つけた最も近いものはですcmapが、それはいくつかの奇妙な振る舞いをしています。私が何かをするなら

:cmap wq w

もう入力すらできません:wq; キーストロークシーケンスwqwコマンドモードに再マップするだけです。たとえば、を含む文字列に対して検索/置換コマンドを入力することはできませんwq

:wq正確なコマンドを:wno-opにエイリアスしたいだけです。これを行う方法はありますか?

編集:なぜ:cmap私にとってオプションではないのかを明確にしました

4

3 に答える 3

5

より良い解決策は次のとおりです。

:cabbrev wq w

しかし、なぜcmap例外として機能しないのかわかりません。実際、私はファイルを保存するために1つのファンクションキーをマッピングしました。

:map <F2> :w<CR>
:nmap <F2> <ESC>:w<CR>i

更新:最初のコマンドでタイプミスが修正されました。

UPDATE2:考えられる回避策:

:cabbrev wq<CR> w

HTH

于 2009-11-24T05:20:56.733 に答える
0

:cmap最善の選択肢は、行動に慣れるだけのようです。まれに、キーボードシーケンスを入力したいのですが、押すwqだけでwq、1秒待ってから、もう一度押すことができqます。私はこの可能な解決策を見つけましたが、それは私の好みには複雑すぎます。

于 2010-02-04T04:48:31.690 に答える
0

1行のパッチを追加し、dpkg-rebuildpackageを実行して名前を変更:waしました:wwa

--- neovim/src/nvim/ex_cmds.lua
+++ neovim/src/nvim/ex_cmds.lua
@@ -3057,7 +3057,7 @@
     func='ex_wnext',
   },
   {
-    command='wall',
+    command='wwall',
     flags=bit.bor(BANG, TRLBAR, CMDWIN),
     addr_type=ADDR_LINES,
     func='do_wqall',

このパッチをで作成しdebian/patches/、に追加する必要がありますdebian/patches/series

于 2019-12-18T12:08:04.687 に答える