2008-09-22 14 views
57

Vim'i ve bana verdiği hızı seviyorum. Ama bazen, parmaklarım çok hızlı ve kendimi :wq yerine :WQ yazarak buluyorum. (Almanca bir klavyede, : kolonunu almak için Shift tuşlarına basmanız gerekir.) Vim daha sonra WQ'un Not an editor command olduğunu şikayet edecektir.Ex komutlarını vim ile yeniden eşleyebilir miyim?

W ve Q düzenleyici komutlarını yapmanın bir yolu var mı?

+4

Standart bir Amerikan QWERTY'de de iki nokta üst üste almak için shift tuşunu kullanın. –

+1

Superuser'da bu olmamalı mıydı? – Boldewyn

+2

da haritaya; (ya da: tuşunda ne varsa): ve bunun tersini yapmak için vardiyayı kullanmanız gerekmez. – mb14

cevap

67

kendi komutlarını tanımlayabilirsiniz

:command WQ wq 
:command Wq wq 
:command W w 
:command Q q 

Bu yol deneyin. Daha fazla bilgi için bkz. :help command.

+4

Yukarıdakileri vimrc'inize eklemeyi unutmayın, böylece her seferinde yapmanız gerekmez. – rampion

+7

.vimrc'de, önde gelen iki sütunu atlamanız gerektiğini unutmayın. Okumalıdır, örneğin: '' Wq wq' komutu – Luc

+0

Bu çözüm, baş harfleriyle başlayan komut isimleriyle sınırlıdır. Daha iyi bir çözüm bulunabilir [burada] (http://stackoverflow.com/a/3879737/1519199). – Jthorpe

12

Ve siz de

:cmap WQ wq 

kullanabilirsiniz. E.g. Ben yeni bir sekmede yardım sayfalarını açmak demek ki benim .vimrc içinde

cmap h tab help 

var.

Thanks for the tip Jim Stewart: Burada

Ama (: h, böylece sadece bunu yaptığında geçerlidir yardım eşlemesi için): yukarıdaki gibi çok daha iyi bir çözümdür

cnoreabbrev <expr> h getcmdtype() == ":" && getcmdline() == "h" ? "tab h" : "h" 
+0

'cmap h sekmesi yardımınız benim için çalışmıyor –

+1

Hangi versiyonda (G) Vim? ': cmap h sekme yardımı yazarken ne olur? : h '? –

+6

-1: Çok fazla dokunur. Örneğin, ': echo 3' sonra': ectab helpo 3''ünü üretecektir. ': e sh.py' olur: e stab help.py'. Et cetera. –

30

Bunu yapmanın alternatif yolu:

( )
:ca WQ wq 
+5

"Command * kısaltmalar *" değil "komutu diğer adlar" Farsça kullanılabilir olması için komut w' –

+2

Bunu hatırlamak için yararlı bir yol: Tam anahtar kelime 'cabbrev''dir. :) –

+1

+1 Bu, küçük harfle başlayan diğer adlara da izin verir ('komutunun aksine). –