私には単純な目標があります: Map Ctrl-C は、vim を強制終了するために使用したことがないと思うコマンドで、行の先頭に正しい文字を自動的に挿入して、その行をコメントアウトします。ファイルのファイルタイプ。
自動コマンドを使用してファイルの種類を認識し、ファイルが開いているときに vim 変数を正しいコメント文字に設定できると考えました。だから私は次のようなものを試しました:
" Control C, which is NEVER used. Now comments out lines!
autocmd BufNewFile,BufRead *.c let CommentChar = "//"
autocmd BufNewFile,BufRead *.py let CommentChar = "#"
map <C-C> mwI:echo &CommentChar<Esc>`wll
そのマップは私の現在の位置をマークし、挿入モードで行の先頭に移動し、その時点でコメント文字をエコーし 、コマンドモードに入り、設定マークに戻り、2文字右に移動して挿入されたコメント文字 (C スタイルのコメントを想定)。
イタリック体の部分は私が問題を抱えている部分です。私がやりたいことを表すためのプレースホルダーとしてしかありません。これを達成する方法を理解するのを手伝ってもらえますか? strlen(CommentChar) を使用して正しい数のスペースを右に移動すると、ボーナス ポイントが得られます。ビジュアルモードでブロックスタイルのコメントを行う方法を含むvim-masterの追加ボーナスポイント!!
私はまだ vim スクリプトに関してかなり初心者です。私の .vimrc の長さはわずか 98 行なので、回答があれば説明していただければ助かります。ありがとう。