2017-09-05 11 views
1

私のVimスクリプトで数値範囲をマップしたい。例えば、これは動作しません: -Vimで数値/アルファベットの範囲をどのようにマップするのですか?

inoremap {0-9}-{0-9} {0-9}<Space>-<Space>{0-9} 

私は次のような動作を探しています: -

//Before mapping 
    x=x-1; 
    return -1; 
//After mapping 
    x = x - 1; 
    return -1; 
+0

あなたがしようとしていることは本当にわかりませんが、そのような範囲をマップすることはできません。リテラルテキスト '{0-9} - {0-9}'を '{0-9} - {0-9}'にマップします。 – DJMcMayhem

+0

範囲をどのようにマップできますか? Vimの表記法はありますか? – ZEU5

+0

これは私の指摘ですが、vimで範囲をマップすることはできません。あなたはおそらく同じ機能を別の方法で得ることができますが、あなたがしようとしていることを正確に記述する必要があります。あなたはあなたの質問を編集し、あなたが何をしたいのかを正確に説明するべきです。 – DJMcMayhem

答えて

0
for n in range(0, 9) 
    execute "inoremap " . n . "-" . n . " " . n . " - " . n 
endfor 

これは0から9に番号のリストをループし、別のを作成します各番号のマッピング。

:help :for 
:help range() 
:help :execute 

しかし、私は回避策に頼るのではなく、入力を改善しようとします。

+0

これは同じ桁でのみ有効です。しかし、次のように動作します。 (0,9) の範囲内(0,9) \t inoremapを実行します。 a。 " - " b。 "" a。 " - " b endfor endfor' – ZEU5

関連する問題