6

<C-e>Vim スクリプトからキー コンボを 5 回実行したいとします。それは可能ですか?もしそうなら、それはどのように行われますか?


具体的には、ビューポートを画面の高さの 4 分の 1 の方向に微調整するキーをマップしたいので、これが必要です。そのためには、関数winheight(".")とキー コンボを<C-e>何らかの方法で組み合わせる必要があります。

注:オプションを変更して行数とスクロール'scroll'を設定 できることは知っていますが、そのキーの組み合わせでもカーソルが移動します。さらに、ウィンドウの高さの一部をスクロールするオプションを設定する方法がわかりませんが、 0 に設定するとウィンドウの高さの半分がスクロールされます。<C-u><C-d>'scroll'

4

1 に答える 1

4

単純なコマンドの場合は、:norm[al][!]で十分です。たとえば、行をヤンクするには:

norm! yy

特殊文字の場合は、:exe[cute] "norm[al][!]". たとえば、次のようにし5<C-e>ます。

exe "norm! 5\<C-e>"

ではexe、複数の引数を使用して他のコードを挿入できます。

exe "norm!" winheight(".")/4 "\<C-e>"

ただし、引数はスペースで結合され、文字どおりに解釈されます。これを回避するには、 を使用.して引数を結合します。したがって、望ましい効果のために:

exe "norm!" winheight(".")/4 . "\<C-e>"

詳細については:help norm、 および:help exeを参照してください。

于 2013-01-16T01:46:14.867 に答える