我正在尝试删除除了字母和空格之外的任何其他字符所在的行。数字、逗号、引号、数学符号:所有包含这些内容的行都必须被删除。
输入:
预期输出:
到目前为止,我使用了在 Vim 中使用
输入:
FISIOLOGIA UMANA
FISIOLOGIA UMANA
http://id.loc.gov/vocabulary/subjectSchemes/FI
Sepúlveda, Luis
La sirenetta Walt Disney
La sirenetta
CFIV007842
CFIV006619
Lubac, Henri : de
Roma
预期输出:
FISIOLOGIA UMANA
FISIOLOGIA UMANA
La sirenetta Walt Disney
La sirenetta
Roma
到目前为止,我使用了在 Vim 中使用
:%g!:[A-Za-z]:d
,这应该可以解决问题。奇怪的是,它声明匹配每一行(如预期),但它不会删除包含非字母字符的行。这种行为背后的原因是什么?如何巧妙地解决这个问题?
d
和d_
之间有什么区别? - Explosion Pills:d
命令会将内容删除并保存到寄存器中,默认情况下会保存到无名寄存器。使用:%d_
命令可以将内容删除并保存到黑洞寄存器中,这意味着删除的文本不会影响其他寄存器。更多信息请参考:h registers
和:h quote_
。 - Peter Rincker