Преобразование вкладок в пробелы в Notepad ++


1077

Как преобразовать вкладки в пробелы в Notepad ++?

Я нашел веб-страницу, которая предполагает, что это возможно, но я не смог найти никакой информации о том, как это сделать.

Я хотел бы иметь возможность сделать это, потому что некоторые веб-формы не уважают код с вкладками в них.


4
Отступ табуляции = 1x символов, Отступ пробела = более 3x символов.
Юша Алеауб

SciTE делает это довольно легко. Жаль, что он не распространяется так же, как Notepad ++.
Bvj

1
Кажется, я вошел в Сумеречную Зону. Мой Блокнот ++ всегда имеет тройной интервал на каждой вкладке, и ничего из того, что я обновил в IDE, не изменило поведение. Я использовал его годами и никогда не сталкивался с этой проблемой до o_o. Даже уклонение не сняло проблему. Так что да. Я звоню это. Особенность Сумеречной Зоны.
kayleeFrye_onDeck

@YoushaAleayoub 1 пробел = 1 пробел, 1 табуляция = разная для всех.
csabinho

3
@csabinho в этом все дело. Таким образом, каждый может настроить его и установить свой собственный размер. # Свобода :)
Юша Алеауб

Ответы:


989

Чтобы преобразовать существующие вкладки в пробелы, нажмите Edit->Blank Operations->TAB to Space.

Если в будущем вы хотите ввести пробелы вместо табуляции при нажатии клавиши табуляции:

  1. Перейти к Settings->Preferences...->Language(начиная с версии 7.1) или Settings->Preferences...->Tab Settings(предыдущие версии)
  2. Проверьте Replace by space
  3. ( Необязательно ) Вы можете установить количество пробелов вместо табуляции, изменив Tab sizeполе.

Скриншот Заменить на пробел


29
@Algina - вы можете изменить настройки Notepad ++ для автоматического преобразования вкладок в пробелы - просто перейдите по ссылке: Настройки - Предпочтения - Настройки вкладок - установите флажок «Заменить пробелом» - как mrzli уже описал в этом ответе.
AddingColor

3
На это влияет размер вкладки, определенный в «Настройках» - «Предпочтения» - «Настройки вкладок» - «Размер вкладки», естественно.
Caw

6
Я просто хочу добавить, что путь для меня был: Settings=> Language Menu/Tab Settings=> Replace by space(в правом нижнем углу). Это почти как сказал мрзли, но мне было трудно заметить, где он сказал Tab Settings. (Я знаю, что я слепой!)
Дзянн

11
Там нет Настройки -> Настройки ... -> Настройки вкладок в Notepad ++ v7.1 Теперь он находится в разделе Настройки -> Настройки -> Язык
Дейв Бертон

3
Я использую v7.2.2, и я могу изменить вкладки на пробелы, используя Edit -> Blank Operations -> Tab to Space. Также в Tab Settingsнастоящее время Edit -> Preferences -> Language. Хотя я не понимаю, что Tab Settingsделает. Я установил Replace by spaceфлажок для javascript, но я все еще получаю вкладку, когда я нажимаю клавишу табуляции. Разве это не должно печатать 4 пробела вместо этого?
akinuri

585

Устаревший. Этот ответ верен только для более старой версии Notepad ++. Преобразование между вкладками / пробелами теперь встроено в Notepad ++, а плагин TextFX больше не доступен в диалоговом окне «Диспетчер плагинов».

  • Сначала установите параметр «заменить пробелами» в Preferences -> Language Menu/Tab Settings.
  • Затем откройте документ, которым вы хотите заменить вкладки.
  • Выделите весь текст ( CTRL+ A).
  • Затем выберите TextFX -> TextFX Edit -> Leading spaces to tabs or tabs to spaces.

Примечание. Убедитесь, что установлен плагин TextFX Characters ( Plugins -> Plugin manager -> Show plugin manager, Installedвкладка). Иначе меню TextFX не будет.


1
Да, это гораздо более разумно, чем поиск / замена, и TextFX встроен в Notepad ++.
RJH

130
Просто плохо названная особенность в плохо размещенном меню.
Спулсон

14
Лучшим ответом на вопрос (возможно, не так, как задумал автор) является плагин tabs to space, предлагаемый ниже. Вопрос задает для всех вкладок пространства, в то время как этот ответ только преобразует ведущие пробела. Например, если вам нужно преобразовать табличные данные, разделенные табуляцией, с сохранением позиций столбцов, этот ответ вам не поможет. Плагин является единственным Notepad ++ решением этого вопроса, которое я вижу здесь.
Binary Phile

4
Мне нужно было зайти в менеджер плагинов и установить плагин TextFX, но после этого все остальные инструкции были в порядке.
Ребекка Чернофф

12
Ответ, который кажется неправильным. Как указывает двоичный файл, он конвертирует только ведущие вкладки. В более поздних версиях есть также опция Edit -> Blank Operations -> TAB to space, но она также не работает, как требуется. Насколько я понимаю, в настоящее время нет никакого способа использовать NP ++ из коробки. Не пробовал плагин, который упоминает Binary Phile.
Стейн де Витт

228

Настройки ->Предпочтения ->Редактировать компоненты (вкладка) ->Вкладка Настройка (группа) ->Заменить на пробел

В версии 5.6.8 (и выше):

Настройки ->Настройки ... ->Язык Меню / Закладка ->Закладка Настройки Настройки (группа) ->Заменить на пробел


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

3
Хотя ответ Dror, безусловно, является «ответом», это также полезно знать для других целей!
Марк Боллингер

Не ответ на вопрос, а ответ, который я искал. Ура, Арон.
BrezzaP

Вот Это Да! Столько слухов о (очевидно) простой задаче. Замените на \ t, и расширенный переключатель отлично работает для меня
waanders

3
Версия 5.9.3 имеет Edit-> Blank Operations-> TAB to Space. Смотрите ответ от mrzli.
Коппор

148

Вам нужно заменить \t - убедитесь, что вы используете расширенный режим!

замещать


22
просто чтобы подчеркнуть, вам нужно поставить четыре пробела (или два, или что-то еще) в поле «заменить на».
Хасен

1
Вы можете заменить \ t (tab) на любое количество пробелов, см. wiki.answers.com/Q/How_many_spaces_is_a_tab
Дрор

7
Это будет правильно работать только для вкладок в начале строки. Например, в такой строке (используя [tab] для представления вкладки): «[tab] foo [tab] bar», с размером вкладки 4 пробела, первая вкладка должна быть 4 пробела, но вторая вкладка должна быть только 1 пробел.
mercator

4
@DaveE Нет, случай с Меркатором является универсальным случаем работы TAB. Хотя упоминается в комментарии, а не в первоначальном вопросе, по сути, ОП хочет трансаперентное переключение с табуляции на пробелы, то есть он не должен знать, наблюдая за конвертацией, что конвертация выполнена. Взяв выделенный текст и расширив его до начала строк, можно выполнить вычисление и сделать именно то, что подразумевает mercator. Это зависит только от текста, расширенного до ограничений строки. Так что решение в каждом конкретном случае не требуется. Это именно то, что делает команда расширения в UNIX
Paralife

2
Другие ответы могут ответить на конкретный вопрос, но я думаю, что этот ответ лучше, так как он отвечает, как заменить табуляцию НИЧЕГО, а не только пробелами.
Кик

84

Выполните эту процедуру, чтобы преобразовать пробелы в табуляции или наоборот:

Пробел - вкладка


1
Доступно в Notepad ++ v6.3.2 и нескольких более ранних версиях.
AdrianHHH

Для версии 7.5.4 это сработало для меня, получая все символы табуляции (не только ведущие) без какой-либо дополнительной установки плагина
J. Paulding

Есть ли какая-нибудь комбинация клавиш, чтобы сделать то же самое. ?
Акшат Чатурведи

26

Я только что опубликовал плагин Notepad ++ для преобразования табуляции в пробелы. Да, он преобразует вкладки в середине строки. Да, он учитывает другие символы в поле с вкладками. Проверьте это.


1
Что если у меня есть строка, которую я хочу определить с вкладкой в ​​ней? Это тоже меняет мой исходный код и строковые литералы?
Максвелл

Работает как брелок для табуляции в пробелах. Это все, что он делает, хотя.
Binary Phile

Спасибо, это здорово. На самом деле это единственный реальный ответ на вопрос, который охватывает все ситуации - ведущие вкладки или встроенные вкладки, а также учет местоположения в тексте и правильной ширины вкладок.
RenniePet

Это должно быть ответом на этот вопрос, особенно теперь, когда TextFX не установлен по умолчанию в Notepad ++. Плагин работает без нареканий. Спасибо!
Браун

2
Версия 5.9.3 имеет Edit-> Blank Operations-> TAB to Space. Смотрите ответ от mrzli.
Коппор

10

Простой способ:

  1. Выделите одну область вкладок
  2. копия
  3. Воспользуйтесь поиском / заменой
  4. Вставить в поле поиска
  5. Нажмите на поле замены и нажмите пробел
  6. Тогда замени все.

2
это ленивый подход, как правило, мой МО:]
Мэтт Лохкамп

3
Это тоже блокнот (не ++).
Максвелл

В Notepad ++ 6.5.5 при попытке TO TABS (через запятую) это был единственный подход, который работал для меня: введите a tab, выберите его и copy, и он будет вставлен в поле замены. (Положить /tв Replace withкоробку не получилось, независимо от того, выбрал я Extendedили нет Regular Expression.)
Doug_Ivison

5
@Doug_Ivison Это потому, что /tэто не escape-последовательность; это косая черта и буква т. Если вы хотите заменить вкладки, используйте \t. Отсюда Extended (\n, \r, \t, \0, \x...).
Дэн Бешард

@ Дэн, ты прав ... спасибо. Копирование / вставка работает, и \tработает.
Doug_Ivison

7

В версии 5.8.7:

Настройки меню -> Настройки ... -> Язык меню / Настройки вкладок -> Настройки вкладок (вы можете выбрать язык для замены вкладок на пробелы. Это круто!) -> Снять отметку Использовать значение по умолчанию и установить флажок Заменить на пробел .

Снимок экрана диалога настроек


Что подразумевается под «языком замены вкладок»?
Питер Мортенсен

Это снова изменилось в версии 7.1 (2016-10-16) (из «Языкового меню / Настройки вкладок» в «Язык» )
Питер Мортенсен,

7

Я не прочитал все ответы, но я не нашел ответ, который искал.

Я использую Python и не хочу выполнять поиск / замену или «пустые операции» каждый раз, когда хочу скомпилировать код ...

Поэтому лучшее решение для меня - это то, что происходит на лету !

Вот простое решение, которое я нашел :

Перейти к:

  1. Настройки меню -> Настройки
  2. Выберите вкладку Настройки
  3. Выберите тип вашего языка (например, Python)
  4. Установите флажок «Использовать значение по умолчанию»
  5. Установите флажок «Заменить на пробел»

Введите описание изображения здесь


Это снова изменилось в версии 7.1 (2016-10-16)«Language Menu / Tab Settings» на «Language» (и было «Tab Settings» в еще более старой версии (как в этом ответе))).
Питер Мортенсен

3

В настройках предпочтений нет вкладки «Редактировать компоненты». Вам нужно зайти в «Language Menu / Tab Settings», там есть опция для управления поведением вкладки. Вы даже можете настроить его на работу по-разному в зависимости от языка файла.


И после его установки используйте TextFX (TextFX -> TextFX Edit -> Перевод пробелов на вкладки или табуляции на пробелы), как описано ранее. Это, безусловно, путь в последней версии Npp.
Сис Мейер

Это снова изменилось в версии 7.1 (2016-10-16) (из «Языкового меню / Настройки вкладок» в «Язык» )
Питер Мортенсен,

2

Плагин CLR Tabs to Spaces должен быть хорошим вариантом. Я использовал это, и это сработало.


безупречная победа! выделите текст, плагины> CLR Tabs to Spaces> Tabs to Spaces. этот плагин учитывает, сколько пробелов требуется для вкладки, т. е. вывод с интервалом выглядит точно так же, как вывод с вкладками.
sonjz

2

Я следую этому простому пути:

  • Дважды щелкните (выделите) одну вкладку (т. Е. \ T ).
  • Нажмите ctrl + F( Find/repace).
  • Вы не можете видеть \ t или одну область вкладки в Find What:поле. Но не волнуйся.
  • Введите spaceв Replace With:поле.
  • Нажмите Replce All.

Выполнено! :)

Видеть:

Замените * Tab * на * Space * в <code> Notepad ++ </ code>

Примечание: Этот метод применяется к обратному (Заменить пространство с помощью вкладки ) случай тоже.


Если вы выберите «Расширенный» в режиме поиска, вы можете ввести \ t, и он также найдет вкладку. Проблема с этим решением заключается в том, что он не регулирует интервал для вкладки, т.
Е.

1
Не знаю, почему этот ответ был отклонен, но для меня он, возможно, лучший, потому что он включает в себя следующее: ПОЦЕЛУЙ. Очевидно, что он никогда не покроет все угловые случаи и конфигурацию, которую принесет плагин, но опять же, необходимость полагаться на плагин для чего-то такого простого просто сумасшедшая для общего случая. ПОЦЕЛУЙ до конца.
luis.espinal


1

Настройки> Настройки> Настройки вкладки Отметьте «Заменить пробелом». Обратите внимание, что над ним есть Размер вкладки: 4 Нажмите на четверку, и откроется окно с возможностью изменить значение на другое целое число.

Введите желаемое целое число и нажмите клавишу ВВОД.

Там у вас есть <3.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.