Эффективный способ убрать пробелы между двумя символами в Vim - PullRequest
4 голосов
/ 18 марта 2012

Я часто сталкиваюсь с этой проблемой.Например,

abcd abcd

xyzw xyzw

Теперь мне нужно удалить пробелы между только одиночными символами.У линий также есть несколько символов впереди.

Я хочу попробовать что-то вроде этого: s / [az] [az] / [az] [az] / g - что можетМожно ли заменить выражение?

Это всего лишь пример проблемы.Я сталкиваюсь с подобными проблемами много раз, когда мне приходится применять поиск, чтобы найти выражения такого типа и заменить их на выражение, но не заменить их полностью и заменить только его часть.

Редактировать: Удалитьодин пробел между одиночными символами.

Ответы [ 2 ]

8 голосов
/ 18 марта 2012

Используйте регулярное выражение с коллекциями подстрок:

s/\([a-z]\) \([a-z]\)/\1\2/g

\ 1 относится к символам, совпадающим с регулярным выражением между первым \(...\), и \ 2 символам, совпадающим с регулярным выражениеммежду вторым \(...\)

1 голос
/ 06 сентября 2012

Спасибо. У меня была похожая проблема. Я хотел убрать все пробелы из всех чисел подряд, но оставить пробелы в другом месте.

%s/\\([0-9]\\) \\([0-9]\\)/\1\2/g

сделал свое дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...