Vim отображает среднее тире как �~@~S и длинное тире как �~@~R

Я бы даже не стал использовать grepв приведенном вами примере, он достаточно прост, чтобы его обрабатывалcut:

$ echo name:phone:example@example.com | rev | cut -d: -f1 | rev
example@example.com

РЕДАКТИРОВАТЬ:

Но если вы хотите, grepбыло бы что-то вроде этого:

$ echo name:phone:example@example.com | grep -oE '[a-zA-Z]+@[a-zA-Z]+\.com'
example@example.com

Обратите внимание, что +используется вместо one or more instancesпредыдущего символа в регулярных выражениях, и что -Eнеобходимо использовать с grep, чтобы это работало:

-E, --extended-regexp

      Interpret PATTERN as an extended regular expression (ERE, see below).
      (-E is specified by POSIX.)
1
11.03.2020, 16:06
2 ответа

Хорошо, я думаю, решение состоит в том, чтобы изменить кодировку Vim, открыв.vimrc и введя

set encoding=utf-8
set fileencoding=utf-8

, а затем сохраните файл.

3
28.04.2021, 23:20

поместите это в свой.vimrc

set encoding=utf-8

Как это говорит vim.stackexchange в Укажите кодировку UTF -8 в Vimrc

0
28.04.2021, 23:20

Теги

Похожие вопросы