2013-07-10 4 views
2

У меня есть файлы, состоящие из слов:Как заменить пробелы между словами в Emacs?

ndkjsank ndjksandknsakj          
dnsjakndjskndjknsakjn dsajkndksnakjndsnajkndjkas 
dsnjak a 

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

dsnak**\t**ndsjka 
njdkas**\t**ndksjankda 
njdsaibdusai**\t**nkdsnakjdnas 

Возможно ли это с помощью регулярного выражения в Emacs? Я думал, что мне удастся использовать прямоугольную область выделения, но слова имеют разную длину (и файл слишком длинный, чтобы сделать это вручную).

EDIT:

Это происходит близко, но он также выбирает пробелы/переводы строк/вкладки справа от второго слова:

\s- 

ответ

2

Регулярное выражение вы хотите  +. Звоните M-x replace-regex, затем замените  + на \t. Обратите внимание, что перед знаком + есть пустое пространство.

Кроме того, для создания вкладки вы могли бы ударить по C-QC-я ключи. Я не уверен, что он принимает синтаксис \t при вызове в интерактивном режиме.

+0

Genius, спасибо! Сначала я не заметил места, но он работает. – sdasdadas

+0

Совсем нет. :-) – Malabarba

Смежные вопросы