コードを記述する際、複数のコード行を選択した後、次の操作を手動で実行することがよくあります。
:'<,'>s/^/#/
これを .vimrc に追加したいのですが、うまく動作しません。意図しているのは、一連の行を選択してから mapleader c を押すと、vim が選択したすべての行の先頭に余分な # を追加することです。
1 " Key mapping.
2 let mapleader = ","
...
141 nmap <silent> <leader>c :<'>'s/^/#/<CR>
行 141 は選択した行を削除するだけのようですが、その理由がわかりません。何が間違っているのか、またはこれを機能させるために何を変更できるのか、何かアイデアはありますか?
答え1
これを試してみてください: ビジュアルモードでブロック挿入を実行します
vmap <silent> <leader>c :norm i#<ESC>
答え2
これは、@miyalys がコメントで示した行の正確な複製であり、まさに私が望んだとおりに動作します。
vmap <silent> t :s/^/#/<CR>:let @/ = ""<CR>
彼は c では動作しなかったと言っていますが、私はその文字で動作させました。
ありがとう。