Мой наклон состоит в том, чтобы согласиться, что разделение нецифр и просто принятие, что, там являются лучшими. Возможно, для обеспечения, по крайней мере, пары цифр присутствуют, хотя это действительно запрещает что-то как алфавитный номер телефона "ДЖЕЙК ASK", например.
Пара простых выражений жемчуга могла бы быть:
@f = /(\d+)/g;
tr/0-9//dc;
Использование первое, которое сохранит цифру, группируется, который может дать ключ к разгадке форматирования. Используйте второй для тривиального бросания всех нецифр.
действительно ли это - беспокойство, что, возможно, должны быть пауза и затем больше вводимых ключей? Или что-то как 555-1212 (ожидают звукового сигнала), 123?
Используйте
set fileencodings=utf-8
(с буквой s в конце), который может содержать список различных кодировок. Vim будет пробовать перечисленные кодировки слева направо, пока одна из них не сработает и не установит кодировку файла для этой кодировки. Если ничего не работает, тогда для кодирования файла устанавливается пустая строка, что приведет к поведению по умолчанию.
Также, вероятно, имеет смысл добавить это в ваш vimrc, чтобы вы не делали это постоянно.
Вы должны установить fileencodings
для различных кодировок vim следует попробовать при открытии файла, например:
set fileencodings=ucs-bom,utf-8,latin1
From : help fileencodings
:
Это список кодировок символов учтено при начале редактирования существующий файл. Когда файл читается, Vim пытается использовать первый упомянутая кодировка символов. Если обнаружена ошибка, следующая в списке пробуется. Когда кодировка найдена, Установлено
кодировка файла
.
Лучше всего поместить эти настройки в файл .vimrc
, чтобы вам не приходилось вводить их вручную каждый раз при запуске vim.
Вы можете поместить эту директиву в комментарий в файле:
# vim: set fileencoding=<encoding name> :