Emacsのコードブロックにコメントする方法は?


12

Emacsでは、テキストのブロックにコメントする方法、つまり、テキストのブロックをn空白文字で右にインデントし、選択した文字シーケンス##を各行の先頭に配置する方法は?

元の

foo
bar foobar
   foo bar

希望:

# foo
# bar foobar
#    foo bar
  • CUAモードに干渉しない方法が必要です。
  • comment-dwin 任意の文字シーケンスを選択できません。

回答:


14

1つの方法はstring-rectangleC-x r t)を使用することです。

ブロックをマークし、呼び出して挿入する文字列としてstring-rectangle渡し##ます。


3
当初2から1)移動カーソル):ここではより具体的な手順ですC-M-@)4を終了する3)移動カーソルC-x r tなど、5)プレフィックス文字列を入力し## 、プレス、ENT
qazwsx

逆を行うことも可能ですか?
mustISignUp

長方形を選択して削除できますC-x R K
-Juancho

11

実行しているモード(CCモード、Lispモードなど)に応じて、領域を選択してからコマンドを使用できますcomment-region(通常はCc Ccにバインドされます。すべてが正しく設定されている場合は、ファイルの種類に応じた適切なコメント文字を使用する必要があります編集中です。


7
これはどう違いM-;ますか?
qazwsx

4
@duperuser M-;は、より一般的なコメントコマンドです。アクティブな領域がない場合、コメントを挿入します(行のステートメントの後に、コメント列と並んでいます)。領域が選択されると、のように動作しcomment-regionます。アクティブな領域がない場合comment-region、コメントを挿入しません。
jwernerny

それだけでなくcomment-region、とは異なりcomment-dwimM-;デフォルト)、ブロックコメントを柔軟にネストおよびネスト解除できます。プレーンC-uを使用して、1レベルのネストをアンネストします。(私はバインドC-x C-;comment-region。実は、私はそれをバインドするcomment-region-linesからmisc-cmds.el。)
ドリュー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.