Ответы:
Один из способов сделать это будет следующим:
:%s/\u\zsd\>/u/g
Изначально я предполагал , что новый механизм регулярных выражений Vim (рекламируется как «быстрее, но ограничены») не может понять , \u
в :substitute
, но это не так. Теперь я скорее думаю, что ОП забыл использовать %
и просто искал не в той строке; это объяснило бы сообщение об ошибке, но, конечно, все еще необходимо подтвердить как «причину».
pattern
в файле справки, увидел упомянутое, что новый движок более ограничен, чем старый, предположил, что причина ... мой первый тест был довольно / возможно ошибочным
Похоже, что вы, возможно, изменили 'magic'
опцию Vim по умолчанию 'nomagic'
. Вы можете проверить это с помощью команды
:verbose set magic?
Как описано в : help / magic , 'nomagic'
вызывает .
регулярное выражение в качестве регулярной точки вместо метасимвола, означающего «соответствовать любому символу».
Я настоятельно рекомендую оставить эту опцию по умолчанию. Это один из немногих вариантов, которые действительно не должны существовать и могут вызвать незначительные проблемы в плагинах.