2014-01-14 8 views
5

align-regexpを使って何かを整列しようとしましたが、目的の動作を得ることができません。ここでalign-regexpを使ったカラムの右寄せ

は、私が最初に持っているものです。

[21:26] <Luke-Jr> btcNeverSleeps: no 
    [21:26] <dmanderson> Not if it has to wait to make it into the block 
    [21:26] <btcNeverSleeps> Luke-Jr: can you develop a bit? 
    [21:26] <Luke-Jr> btcNeverSleeps: Bitcoin is a currency, not an authentication system 
    [21:26] <dmanderson> your user could be waiting a LONG time for 1 Satoshi to who up 
    [21:26] <Luke-Jr> btcNeverSleeps: you can use signed messages though 

は、ここで私が欲しいものです:

[21:26]  <Luke-Jr> btcNeverSleeps: no 
    [21:26]  <dmanderson> Not if it has to wait to make it into the block 
    [21:26] <btcNeverSleeps> Luke-Jr: can you develop a bit? 
    [21:26]  <Luke-Jr> btcNeverSleeps: Bitcoin is a currency, not an authentication system 
    [21:26]  <dmanderson> your user could be waiting a LONG time for 1 Satoshi to who up 
    [21:26]  <Luke-Jr> btcNeverSleeps: you can use signed messages though 

は、ここで私は、 "ALIGN-rexegpをRET> RET" を使用して取得するものです:(と何されていません私が)欲しい

[21:26] <Luke-Jr  > btcNeverSleeps: no 
    [21:26] <dmanderson  > Not if it has to wait to make it into the block 
    [21:26] <btcNeverSleeps > Luke-Jr: can you develop a bit? 
    [21:26] <Luke-Jr  > btcNeverSleeps: Bitcoin is a currency, not an authentication system 
    [21:26] <dmanderson  > your user could be waiting a LONG time for 1 Satoshi to who up 
    [21:26] <Luke-Jr  > btcNeverSleeps: you can use signed messages though 

ができるか、私はシンプルなalign-regexpで行うことがしたいか、私は何かのMOになります元気? (例えば、私はマクロを使って間違いなく行うことができますが、最初は単純な正規表現を使ってできるかどうかを知りたいと思います)。

+0

私はemacs regexルーチンを知らない。しかし、新しいソースに正しい整列オフセットを書き込む前に、探している整列にはソースの完全な解析が必要です。 '<[^>] *>'を試して、 'RET'が何であるか分かりません。 – sln

+0

@sln: 'RET'は単にEmacsのドキュメントで使われているもので、ここでは "その時点でReturnキーを押してください"という意味です:(以下の答えでうまく書かれています) – bitcoinNeverSleeps

答えて

8

align-regexp機能については十分に文書化されていません。この場合実際に何をしたいのですか?C-u M-x align-regexp

次に、-1を入力してキャプチャグループを正当化するよう指示してください。

正規表現を使用して、複雑な整列:(負場合正当化)を変更する(<[^>]*>)

括弧群:-1

間隔の量(または列負場合):1

繰り返しラインを通して? (yesまたはno):yes

+0

ありがとう、優秀...悲しいことに私は5評判のポイントを逃すので誰もupvoteできません。 ( – bitcoinNeverSleeps

+0

+1の 'align-regexp関数はよく書かれていません.'私は内部についてよく知っているとは思っていなかったいくつかの文書を見たいと思っています。 –

3

replace-regexp<\([^ ]+\)\(+\)\2<\1を使用して、3番目のテキストサンプルを2番目に変換することができます。

+0

ああ、あなたをアップアップする:十分な担当者ではない(15人の担当者が必要)。うん、それはいいですね。しかし、* align-regexp *で1回のパスでそれを行うのはどうですか? – bitcoinNeverSleeps

+0

おそらくそうではありません。たとえそうであっても、align-regexpとreplace-regexpの呼び出しを単一の関数で包む方がはるかに簡単です。パラメタや確認や接頭引数はありません。 –

4

あなたはその後、グループの引数を供給することによって正当化をオンにし、キャプチャグループにおける括弧書きの文章を含める必要があります。

のMxalign-regexpRET\(<[^>]+>\)RETDEL-1RETRETn

align-regexpは、間違いなくEmacsのコマンドのうちの1つです。しかし、強力です。

+0

私はちょっと* align-regexp *を使って可能になることを知っていました。私はまだそれを勉強する必要があります:) – bitcoinNeverSleeps

関連する問題