【问题标题】:substituting a pattern with special french characters用特殊的法语字符替换模式
【发布时间】:2019-05-04 00:27:59
【问题描述】:

在以下文本中:

la zone convective s?~@~Yetend

我想用 sed 替换字符(加入的)?~@~Y通过简单的引号和“é”字母

正确的法语文本是:la zone convective s'étend

我在 vim 下尝试过选择文本:

'<,'>s/?~@~Y/\'é/g

'<,'>s/\?\~\@\~Y/\'é/g

但是两个都不起作用。

我也使用了 CTRL+V 并从我的键盘输入 ' + é 字符,但没有成功。

任何人都可以在 vim 下实现这种替换吗?

更新 1:我在 Debian 8.0 上使用vim,区域设置如下,并通过 ssh 从 MacOS HighSierra 连接到此 Debian:

LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

【问题讨论】:

标签: vim substitution


【解决方案1】:

带有反斜杠的屏幕波浪号,但没有其他内容:

:'<,'>s/?\~@\~Y/'é/g

其他字符不特殊,无需转义。更糟糕的是——\? 很特殊,所以在正则表达式中单独使用它会出错。

【讨论】:

    猜你喜欢
    • 2014-11-03
    • 2019-09-23
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    相关资源
    最近更新 更多