Здесь есть несколько вопросов о том, «как я могу инвертировать регулярное выражение» здесь, о переполнении стека, но я не могу найти один для vim (если он существует, моего Google-фу сегодня не хватает).
По сути, я хочу сопоставить все непечатаемые символы и удалить их. Я мог бы написать короткий скрипт или перейти в оболочку и использовать tr или что-то похожее для удаления, но vim-решение было бы неплохо: -)
У Vim есть атом \p
, чтобы соответствовать печатным символам, однако попытка сделать это :s/[^\p]//g
, чтобы соответствовать обратному, не удалась, и я просто оставил мне каждый 'p' в файле. Я видел последовательность (?!xxx)
в других вопросах, и vim, похоже, не распознает эту последовательность. Я не нашел атома для непечатаемых символов.
А пока я перейду к внешним инструментам, но если у кого-нибудь есть какие-то хитрости для этого, было бы желательно: -)
Та!