Meadowで、「範囲選択して、その範囲のインデントを1段階取り除く」というのをやるにはどうすればいいでしょうか?普通のエディタであればShift+{DOWN}{DOWN}{DOWN}{DOWN} Shift+{TAB} などとやることでできますが…。

回答の条件
  • 1人2回まで
  • 登録:2006/11/13 23:17:58
  • 終了:2006/11/16 00:51:43

ベストアンサー

id:mhrs No.2

MORIYAMA Hiroshi回答回数21ベストアンサー獲得回数82006/11/15 01:38:54

ポイント50pt

Meadow(Emacs)では、C-SPCマークしてからポイント(カーソル)を移動することで、マークした箇所からポイントの位置までが「選択範囲」となります。マークとポイント移動にはショートカット的なコマンドが幾つかあります:

  • M-h (mark-paragraph)
  • C-x h (mark-whole-buffer)
  • C-x C-p (mark-page)

等(この他はひとまとまりのテキストにマークをつけるコマンドあたりを参照)。これらで目的の範囲を設定した後C-M-\とすれば(c-mode等大抵のプログラミング用モードで)、その範囲のインデントが適切な位置に整形し直されます。なので所謂「逆インデント」の様な機能は不要と思うのですが、どうでしょうか。

少し探してみた限りではEmacsに「逆インデント」機能は存在しない様です。ですがどうしても必要であればEmacs Lispの関数を書いて実現することはできます。試しに書いてみました:

よろしければどうぞ。

id:westfish

c-basic-indentがvoidだというエラーが出ましたが、直接4と書き換えてみたところうまく動きました。

逆インデントがどういうときに必要かと言いますと、例えばブログの記事にJavaのソースコードの一部を載せるときなどですね。プログラミング用モードに入っていないので。

2006/11/15 23:02:10

その他の回答(1件)

id:achipu No.1

achipu回答回数382ベストアンサー獲得回数32006/11/13 23:33:27

ポイント20pt

C-x r k

「矩形領域の切り取り」

でどうでしょうか?

id:mhrs No.2

MORIYAMA Hiroshi回答回数21ベストアンサー獲得回数82006/11/15 01:38:54ここでベストアンサー

ポイント50pt

Meadow(Emacs)では、C-SPCマークしてからポイント(カーソル)を移動することで、マークした箇所からポイントの位置までが「選択範囲」となります。マークとポイント移動にはショートカット的なコマンドが幾つかあります:

  • M-h (mark-paragraph)
  • C-x h (mark-whole-buffer)
  • C-x C-p (mark-page)

等(この他はひとまとまりのテキストにマークをつけるコマンドあたりを参照)。これらで目的の範囲を設定した後C-M-\とすれば(c-mode等大抵のプログラミング用モードで)、その範囲のインデントが適切な位置に整形し直されます。なので所謂「逆インデント」の様な機能は不要と思うのですが、どうでしょうか。

少し探してみた限りではEmacsに「逆インデント」機能は存在しない様です。ですがどうしても必要であればEmacs Lispの関数を書いて実現することはできます。試しに書いてみました:

よろしければどうぞ。

id:westfish

c-basic-indentがvoidだというエラーが出ましたが、直接4と書き換えてみたところうまく動きました。

逆インデントがどういうときに必要かと言いますと、例えばブログの記事にJavaのソースコードの一部を載せるときなどですね。プログラミング用モードに入っていないので。

2006/11/15 23:02:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません