2016-11-30 6 views
2

コマンドから呼び出せる関数を記述しようとしています。これにより、開いているすべてのペインを同じサイズに再設定できます。私はこれを開始しました:.vimrc関数 - "ノーマル"モードを呼び出す方法equals(=)キーのキー入力

command Equal execute "normal! <C-w>=" 

私はそれを期待するように動作します

:Equal 

を呼び出すことができますどの。しかし、これにもう少し機能を追加する必要があります(if文など)ので、関数として宣言する必要があります。しかし、関数内から "等号"キーを呼び出す方法を理解することはできません。ここで私が持っているものです。

command Equal call EqualizePanes() 

function! EqualizePanes() 
    execute "normal! <C-w>=" 
endfunction 

私は私が期待どおりに動作「エコーfoobarという」、のような、単純なもので、私の機能の内容を交換したので、私の関数宣言とそれを呼び出す方法は、正確であることを知っています。しかし、それがそのままで、:Equalに電話をかけても、何も起こりません。私は他のものを試しました。

command Equal call EqualizePanes() 

function! EqualizePanes() 
    normal <C-w>= 
endfunction 

同様に、運がありません。私がここで間違っていることに関する考えは?あなたの助けを前にありがとう。

答えて

4

normalは、<C-w>のような特殊文字シーケンスを解析しないという問題があります。ですから、:normalの代わりに使用することができ、特別な:wincmd Exコマンドがあること

command Equal call EqualizePanes() 

function! EqualizePanes() 
    execute "normal! \<C-w>=" 
endfunction 
+0

素晴らしい:これは\<C-w>表記を処理するために通常必要である:executeを回避します!ありがとうございました! –

6

注意を逃れます。

command Equal wincmd = 
+0

ああ、非常にクール、ありがとう! –

関連する問題