入力を取得中に更新される演算子を定義するにはどうすればよいですか?
テキストの領域を取り、入力文字列を要求し、入力文字列を引数として使用して領域を表形式に揃える演算子マッピングを定義しました。それはうまくいきます。 私は、vim-operator-userを使用して新しい演算子を定義するのに役立つように、次のように実装しました。 map \aa <Plug>(operator-align) call operator#user#define('align', 'Align') function! Align(motion_wiseness) let expr = input("align: ") if len(expr) != 0 execute "'[,']Tabularize /".expr endif endfunction function! Getchar() let c = getchar() if c =~ '^\d\+$' let c = nr2char(c) endif return c endfunction 次に、整列する正規表現を入力しながら、その場で更新できるかどうか疑問に思いました。現在のアプローチの問題は、正しい式を使用していない場合、元に戻してからやり直す必要があることです。 インタラクティブな試みのために、私はこれを行いました: map \== <Plug>(operator-align-interactive) call operator#user#define('align-interactive', 'AlignInteractive') …