1

最後に押されたキーが保持されている場合、トリガーされたアクションが繰り返されるように、.gvimrc でマッピングを定義したいと考えています。具体的には、次のようなことをしたい

map <SPACE>t :set transparency-=1
map <SPACE>T :set transparency+=1

MacVimの場合、t / Tが保持されているときに透明度を引き続き減少/増加させたい(スペースバーを押し続ける必要はありません)。

透明度を調整するためのより良い方法についての提案があれば、それもいただければ幸いです。

20 SPACE tそれとは別に、入力して透明度を 20 下げることができるとよいでしょう。ただし、試してみると

E481: No range allowed.

範囲指定を有効にするにはどうすればよいですか?

どうもありがとう。

4

1 に答える 1

6

あなたの質問の最初の部分についてはよくわかりませんが、20 <Space> tその仕事をすることができるようになるために:

:map <space>t :<C-U>exe "set transparency-=".v:count1<CR>
  • 通常モードで入力し<C-U>たときにexコマンドに追加された行範囲を削除します。20
  • exe「動的な」vimscript を実行します。
  • v:count1最後の通常モード コマンドに対して指定されたカウントです (この例では 20)。また、指定されたカウントがない場合、デフォルトで 1 になります。

詳細については、次を参照してください。

:h v:count
:h v:count1

アップデート:

form の代わりに form をexe使用して省略できます。letset

:map <space>t :<C-U>let &transparency-=v:count1<CR>

を参照してください:h :let-&

于 2010-01-14T08:03:55.160 に答える