Vimは、22、18回のキーストローク
O <esc>J:h r<cr>lyEZZ<C-v>{@"
@Udioicaには、私が拡張したすばらしいvimの答えを考え出した功績があります。この回答には、賞金を獲得するためのアスタリスクは含まれていません。
説明:
入力は、プログラムの残りの前に入力されます。Udioicaはこの素晴らしいトリックを思いつきました。有効に<n>O <esc>
した場合、入力するとスペースのピラミッドと空の行が作成されます:set autoindent
。このオプションはvim 8およびneovimでデフォルトでオンになりますが、vimの古いバージョンではありません。これにより余分な行も作成さJ
れるため、この行を次の行と結合するために使用します。これにより、下の行が効果的に削除されます。
ここで、これらすべてのスペースをアスタリスクに置き換える必要があります。コード内でアスタリスクを使用することを心配していなければ、全体を視覚的に選択し、選択範囲の各文字をアスタリスクに置き換えるだけ<C-v>{
で入力r*
します。しかし、それはできません。
そこで、ヘルプページを開きます:h r
。これに関する興味深い点は、vim-windowで、このページが次のように表示されることです。
r
r{char} Replace the character under the cursor with {char}.
...
最初の「r」にカーソルを置きます。ただし、実際にはファイル自体に次のテキストが含まれています。
*r*
r{char} Replace the character under the cursor with {char}.
...
とても便利です。そのため、で1文字上を移動しl
、テキストr*
をヤンクしますyE
([y] ankはこの単語の[E] ndになります)。
このバッファを閉じるには、ショートカットを使用してファイルを保存しますZZ
。ここで、スペースを視覚的に選択し、で入力したかのようにヤンクしたテキストを実行します@"
。これは、「@」が次のレジスタをvimキーストロークとして実行し、「」がヤンクのデフォルトレジスタであるために機能します。