置換の文字が読めなかったのでメモ
%s/.{50}/&\r/g
日本語でまとまっているところがなかったので、
Vim Regular Expressions 101から翻訳
グループ化と後方参照
# | Meaning | # | Meaning |
---|---|---|---|
& | the whole matched pattern 全体マッチしたパターン | \L | the following characters are made lowercase 次の文字を小文字にする |
\0 | the whole matched pattern 全体マッチしたパターン | \U | the following characters are made uppercase 次の文字を大文字にする |
\1 | the matched pattern in the first pair of () (\)\の最初の組で一致したパターン | \E | end of \U and \L \ Uと\ Lの終わり |
\2 | the matched pattern in the second pair of () (\)\の第二の対に一致したパターン | \e | end of \U and \L \ Uと\ Lの終わり |
\r | split line in two at this point 合致したポイントでsplitし、改行で挟む | ||
\9 | the matched pattern in the ninth pair of () (\)\の第九の対で一致したパターン | \l | next character made lowercase 小文字にされた文字の次の文字 |
~ | the previous substitute string 以前の代替文字列 | \u | next character made uppercase 大文字にされた文字の次の文字 |
エスケープ文字、メタ文字
# | Matching | # | Matching |
---|---|---|---|
. | any character except new line 改行以外の任意の文字 | ||
\s | whitespace character 空白文字 | \S | non-whitespace character 非空白文字 |
\d | digit 桁 | \D | non-digit 非数字 |
\x | hex digit 16進数 | \X | non-hex digit 非16進数 |
\o | octal digit 8進数 | \O | non-octal digit 非8進数 |
\h | head of word character (a,b,c ... z,A,B,C ... Z and _) 頭文字(A、B、C ... Z、A、B、C ... Z and _) | \H | non-head of word character 頭文字でない文字 |
\p | printable character 印刷可能な文字 | \P | like \p, but excluding digits 数字を除く印刷可能な文字 |
\w | word character 単語文字 | \W | non-word character 非単語文字 |
\a | alphabetic character 英字 | \A | non-alphabetic character アルファベット以外の文字 |
\l | lowercase character 小文字 | \L | non-lowercase character 非小文字 |
\u | uppercase character 大文字 | \U | non-uppercase character 非大文字 |
数値系
Quantifier | Description |
---|---|
* | matches 0 or more of the preceding characters, ranges or metacharacters .* matches everything including empty line 先行する文字、範囲、またはメタ文字の0個以上に一致。*は空行を含むすべてに一致 |
\+ | matches 1 or more of the preceding characters 直前の文字の1以上にマッチ |
\= | matches 0 or 1 more of the preceding characters 直前の文字の0または1以上にマッチ |
\{n,m} | matches from n to m of the preceding characters nは先行文字のmとマッチ |
\{n} | matches exactly n times of the preceding characters 直前の文字のちょうどn回一致 |
\{,m} | matches at most m (from 0 to m) of the preceding characters 先行する文字の最大m(0からm)に一致 |
\{n,} | matches at least n of of the preceding characters (>0) 先行する文字の少なくともn個に一致(> 0) |
※ where n and m are positive integers (nとmは正の整数)
%s/.{50}/&\r/gの意味
ファイル内のすべての「連続する50文字」にマッチした時点で、分割する。
→ファイル内で50列より多く記載されている行を改行する。
所感
部分的に翻訳しましたが、検索と置換はよく読めないものに出くわすので、時間があれば全部翻訳できるとよいな~