16

大きなコメント ブロックを強調表示して、一定の長さの後に自動的に区切りを挿入することはできますか?

簡単な例

# This is a super long message that has too much information in it. Although inline comments are cool, this sentence should not be this long.

# This is a super long message that has too much information in it.
# Although inline comments are  cool, this sentence should not be this
# long.
4

3 に答える 3

4

SublimeText3 で

(および正規表現をサポートする以前のバージョン、つまりそれらすべて):

以下は、48 文字ごとに改行を挿入する検索/置換です。

探す:

(.{48}){1}

交換:

\1\n

説明:

  • replace が との一致を参照できるように、括弧はグループを形成し\1ます。
  • .任意の文字に{n}一致し、 はそれらに正確nに一致します。
  • replace コマンドは、各一致グループを取得し、改行を\n追加して逆置換します。

注:\1技術的には、見つかった最初の一致のみを参照しますが、「すべて置換」を使用すると、残りの正規表現一致も処理されます)。


実際の例:

ヘッダー/フッターなしでブラウザーから直接コピーされた公開鍵をフォーマットしているとします。この公開鍵は、Google Internet Authority に次の情報を提供します。

9c 2a 04 77 5c d8 50 91 3a 06 a3 82 e0 d8 50 48 bc 89 3f f1 19 70 1a 88 46 7e e0 8f c5 f1 89 ce 21 ee 5a fe 61 0d b7 32 44 89 a0 74 0b 53 4f 55 a4 ce 82 62 95 ee eb 59 5f c6 e1 05 80 12 c4 5e 94 3f bc 5b 48 38 f4 53 f7 24 e6 fb 91 e9 15 c4 cf f4 53 0d f4 4a fc 9f 54 de 7d be a0 6b 6f 87 c0 d0 50 1f 28 30 03 40 da 08 73 51 6c 7f ff 3a 3c a7 37 06 8e bd 4b 11 04 eb 7d 24 de e6 f9 fc 31 71 fb 94 d5 60 f3 2e 4a af 42 d2 cb ea c4 6a 1a b2 cc 53 dd 15 4b 8b 1f c8 19 61 1f cd 9d a8 3e 63 2b 84 35 69 65 84 c8 19 c5 46 22 f8 53 95 be e3 80 4a 10 c6 2a ec ba 97 20 11 c7 39 99 10 04 a0 f0 61 7a 95 25 8c 4e 52 75 e2 b6 ed 08 ca 14 fc ce 22 6a b3 4e cf 46 03 97 97 03 7e c0 b1 de 7b af 45 33 cf ba 3e 71 b7 de f4 25 25 c2 0d 35 89 9d 9d fb 0e 11 79 89 1e 37 c5 af 8e 72 69

検索と置換 (すべて) の後、次のようになります。

9c 2a 04 77 5c d8 50 91 3a 06 a3 82 e0 d8 50 48 
bc 89 3f f1 19 70 1a 88 46 7e e0 8f c5 f1 89 ce 
21 ee 5a fe 61 0d b7 32 44 89 a0 74 0b 53 4f 55 
a4 ce 82 62 95 ee eb 59 5f c6 e1 05 80 12 c4 5e 
94 3f bc 5b 48 38 f4 53 f7 24 e6 fb 91 e9 15 c4 
cf f4 53 0d f4 4a fc 9f 54 de 7d be a0 6b 6f 87 
c0 d0 50 1f 28 30 03 40 da 08 73 51 6c 7f ff 3a 
3c a7 37 06 8e bd 4b 11 04 eb 7d 24 de e6 f9 fc 
31 71 fb 94 d5 60 f3 2e 4a af 42 d2 cb ea c4 6a 
1a b2 cc 53 dd 15 4b 8b 1f c8 19 61 1f cd 9d a8 
3e 63 2b 84 35 69 65 84 c8 19 c5 46 22 f8 53 95 
be e3 80 4a 10 c6 2a ec ba 97 20 11 c7 39 99 10 
04 a0 f0 61 7a 95 25 8c 4e 52 75 e2 b6 ed 08 ca 
14 fc ce 22 6a b3 4e cf 46 03 97 97 03 7e c0 b1 
de 7b af 45 33 cf ba 3e 71 b7 de f4 25 25 c2 0d 
35 89 9d 9d fb 0e 11 79 89 1e 37 c5 af 8e 72 69
于 2016-04-22T18:05:58.920 に答える
2

こんにちは、私はこのソリューションに出くわし、Sublime Text 3 で試してみました。Python docstring で通常の Alt+q を使用すると、望ましいことのほとんどが実行されます。

  • スコープをdocstringに限定します
  • 開始と終了の「」または「」が適切に行われます

デフォルトのパッケージから 1 つのコマンドを変更する必要がありました。こちらをご覧ください。

https://gist.github.com/SmileyChris/4340807

Sublime Text 3 では、デフォルトのパッケージは \Packages\Default.sublime-package の下にあります。解凍して、paragraph.py ファイルを見つける必要があります。このファイルを (ちょうど) ユーザー パッケージ ディレクトリの下に配置します。\Data\Packages\Default\ であるため、このファイルはデフォルト パッケージの paragraph.py を上書きします。

原作者の Chris Beaven (SmileyChris) に感謝します。

于 2014-02-20T21:56:37.073 に答える