人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

emacsのコメントアウトについて2点質問があります。

1.何も無い行にて”//”←こういったコメントアウトをしてから文字を入力しようとしたら勝手に”//”の前に空白(インデント)が挿入されてしまい、困っています。どうすればこれを回避できるでしょうか?

2.プログラム内で下記のような複数行に渡るコメントアウトを楽に行うには、どうすれば宜しいでしょうか?
/**
*
*/

以上、ご回答の程、宜しく御願いします m(_ _)m


●質問者: tomoyuki28jp
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Emacs コメントアウト デント プログラム 入力
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● streakeagle
●23ポイント

もとEmacs使いで今はxyzzyなので、最新版のEmacsでは使えない手かもしれませんが、ご了承下さい。

コメントアウトの仕方からC++もしくはJavaだと思いますが、2.の代替案です。(ただし、複数行を//でコメントアウトする形になりますが)

操作手順は

1. コメントアウトしたい最初の行の先頭で Ctrl-Space

2. コメントアウトしたい最後の行の先頭で Ctrl-x r t

3. ミニバッファで入力を求められるので // を入力

コメントアウトを解除する場合は1.は上のままで

2. コメントアウトを解除したい最後の行の2文字目(//のすぐ後)で Ctrl-x r k

です。

◎質問者からの返答

ご回答どうもありがとうございます。

上記のやり方は存じ上げていたのですが、

複数行にわたる”//”のコメントアウトになってしまい、期待していた動作と異なる為に、今回ご質問をさせて頂きました。

ご回答、どうもありがとうございました。


2 ● k12u
●35ポイント

1.

(add-hook 'c-mode-hook
 (function (lambda ()
 (define-key c-mode-map "/" 'self-insert-command))))

2.

regionを作って(C-SPCとカーソル移動(1番目の回答の方と同じ))、

M-x comment-region

もしくは

C-c C-c(バージョンによっては違うかも)

ただしこれは"//"スタイルになってしまいます。

◎質問者からの返答

1の件、早速.emacsに追加させて頂きました所、期待通りの動作をしてくれました!

本当にありがとうございます!

助かりました!!


3 ● k12u
●35ポイント ベストアンサー

2回に分かれてすみません。

コメントの書式に関してはCだとすでにご希望の通りになるでしょうからJavaでしょうか?

すると1回目のとあわせてこうなります。(~/.emacsに記入する)

(add-hook 'java-mode-hook
 (function (lambda ()
 (define-key java-mode-map "/" 'self-insert-command)
 (setq comment-style 'extra-line)
 (setq comment-continue " * ")
 (setq comment-start "/** ")
 (setq comment-end " */"))))

ちなみにこちらはEmacs 22.1.1です。

C++であれば1行目と3行目のjavaをc++に置き換えればよいと思います。

◎質問者からの返答

2の件も、早速.emacsに追加させて頂きました。

期待通りの動作をしてくれて、本当に助かりました!

感動です!!

本当にどうもありがとうございました。

m(_ _)m

今後とも宜しく御願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ