vimrc - コメントをブロックする方法は?

vimrc - コメントをブロックする方法は?

テキストファイルやコードのテキスト行にコメントを付けたくありません。ブロックコメントを挿入しようとしています。.vimrc文書。たとえば、次のようにして行コメントを挿入します"

" remove spaces and tabs as well  at the end of line automatically while saving
autocmd BufWritePre * :%s/\s\+$//e

今、私は素晴らしい機能を追加するためにインターネットを検索し、長年にわたって収集した比較的大きな設定/設定/プラグインコレクションを持っています。私の.vimrcファイルに大きなコメントブロックを追加したいです。各行に追加する"ことはオプションですが、ブロックコメント構文を探しています。/**/Cに似ています。

//同じような"
/* */同じ_____

Unix.SE、SO、およびインターネット検索はあまり役に立ちませんでした。

答え1

私のソリューションはコードをfunction

たとえば、vimrcではin-placeでうまく動作します。トレドック構文強調テストには、先行文字のない実際のブロックコメントも必要です。私のvimrcはheredocを設定した直後にこのようなブロックを使用します。構文範囲

function! _blockcomment()

    " free text comment
    You can write free text here,
    but vim will try to highlight it as vimscript!

    " markdown heredoc
    test <<MD
    ### Nevertheless ###
    * for testing my fuzzy SyntaxRange heredocs
    * having no leading chars is essential
    * and the blockcomment function does the trick
    MD  

endfunction 

このソリューションは@Stéphaneのトリックに似ていますif 0が、私には効果がありませんでした。この関数を絶対に呼び出さないでください!

答え2

これは不可能だと思います。あなたができる最善の方法は、いくつかのテキストを選択し、s/^/"/vimの最初の文字に対して検索/置換を実行して"各行の先頭にaを挿入することです。

vimプラグインオタク解説者これを簡単にするのに役立ちます。

答え3

人生を変えるプラグインtpopeというものがあります。vim-commentary

https://github.com/tpope/vim-commentary

このプラグインは以下を提供します。:

  • 理由
  • 正しくインデントされたコメント
  • 空または不要な行にコメントを付けないでください。

使用法:

  • Vundle(または私の考えではPathogen)を介してインストールされます。
  • テキストを強調表示して押すと、次のよう:に表示されます。:<,'>
  • ここに説明を入力し:<,'>CommentaryてEnterを押します。
  • 状態。これで芽が終わりました。

答え4

tCommentVimプラグインの使用:http://www.vim.org/scripts/script.php?script_id=1173

はい、Pythonをサポートしています(2011年に追加)。

説明:TCommentはトグルスイッチのように動作します。つまり、コメントアウトされていない行を含むテキストをコメントアウトし、コメントアウトされているテキスト(コメントアウトされていない行を含まないテキスト)のコメントを削除します。

ファイルタイプが正しく定義されている場合:TCommentは、&commentstringまたは&comments値に基づいて使用するコメント文字列を決定します。一部のファイル形式では、コメント定義が正しく定義されています。 |tcomment#DefineType()|独自の定義を追加できます。

TCommentは、vimスクリプトのruby / python / perl領域、phpコードのHTML、JavaScriptなど、基本的なファイル形式とは異なるファイル形式の埋め込みコードを処理する方法を知っています。

演算子として(g:tcommentMapLeaderOp1とg:tcommentMapLeaderOp2を介してプレフィックスをカスタマイズできます):

gc{motion}   :: Toggle comments (for small comments within one line 
                the &filetype_inline style will be used, if 
                defined) 
gcc          :: Toggle comment for the current line 
gC{motion}   :: Comment region 
gCc          :: Comment the current line 

主キーマッピング:

<c-_><c-_>   :: :TComment 
<c-_><space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END> 
<c-_>b       :: :TCommentBlock 
<c-_>a       :: :TCommentAs <QUERY COMMENT TYPE> 
<c-_>n       :: :TCommentAs &filetype <QUERY COUNT> 
<c-_>s       :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE> 
<c-_>i       :: :TCommentInline 
<c-_>r       :: :TCommentRight 
<c-_>p       :: Comment the current inner paragraph 

_をガイドとして使用する補助キーマッピングセットもあります(ターミナルで好む)。

関連情報