web-dev-qa-db-ja.com

Sublime Text 3でテキストを揃える方法は?

AlignTab というSublime Text 3プラグインを使用して、コードを次のように整列します。

 Version : 1.4.1
 Author  : Ken Wheeler
 Website : http://kenwheeler.github.io
 Docs    : http://kenwheeler.github.io/slick
 Repo    : http://github.com/kenwheeler/slick
 Issues  : http://github.com/kenwheeler/slick/issues

今、私は私のテキストがこのようにコロンの隣にとどまることを望みます:

 Version: 1.4.1
  Author: Ken Wheeler
 Website: http://kenwheeler.github.io
    Docs: http://kenwheeler.github.io/slick
    Repo: http://github.com/kenwheeler/slick
  Issues: http://github.com/kenwheeler/slick/issues

どうすればそれを達成できますか?

24
kyo

これはAlignTabで行うことができ、別のプラグインは必要ありません。 GitHubページで説明されているより高度な正規表現機能 を使用するだけです。

Command PaletteCtrl+Shift+P Windowsまたは cmd+shift+P Macの場合)、「AlignTab」と入力してEnterキーを押し、これを入力してEnterキーを押します。

:/r0clf1

0個のスペースオプションを含めるための@Hankの小道具は、スペースが必要ないことを認識していませんでした。

説明:

  • :はコロンを見つける
  • /大丈夫と言うと、ここでコロンを使って何をしたいのかについての議論があります。
  • rは、最初の列を右揃えすることを意味します
  • 0は、右側の列の後にスペースがないことを意味します
  • cは中央の列の中央を意味します(これは単なるコロンなので、何もしません)。
  • lは、右列を左揃えすることを意味します
  • f1は、行の最初の一致に対してのみこれを行うことを意味します
24
Rob Wise

AlignTab docs またはリンクされた例には、必要なものをカバーするのに十分な情報があります。

元のテキストを強調表示してから、Cmd + Shift + P(またはWindowsではCtrl Shift P)を使用してAlignTabライブプレビューモードに入ると、正規表現を入力して特別なrlc構文を使用できます。

構文は次のとおりです。

\s+:/r0c1l

正規表現は、最初が\ s +(1スペースよりも大きい)、次にr0(右揃え、0スペース)、c1(1パディングが右にある中央マーク)、l(残りのテキストを左揃え)です。正規表現は最初のコロンの前の先頭のスペースと一致するため(例によって)、式の最後に「f1」は必要ありません。

次のように、既に行った事前書式設定なしで新しくテキストを作成した場合:

Version: 1.4.1
Author: Ken Wheeler
Website: http://kenwheeler.github.io
Docs: http://kenwheeler.github.io/slick
Repo: http://github.com/kenwheeler/slick
Issues: http://github.com/kenwheeler/slick/issues

次に、以下の目的の形式に変換するには、次のようにします。

:/r0c1lf1

以下に変換:

Version: 1.4.1
 Author: Ken Wheeler
Website: http://kenwheeler.github.io
   Docs: http://kenwheeler.github.io/slick
   Repo: http://github.com/kenwheeler/slick
 Issues: http://github.com/kenwheeler/slick/issues

先行スペースがないため、この結果は実際には元の質問テキストよりも優れています。

追伸AlignTabドキュメントのTablularの例は、AlignTabの実際の実装を表すものではありませんが、少し役立つことがわかりました。

7
hank