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

1077

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

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

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

Helephant
источник
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поле.

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

mrzli
источник
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 не будет.

user48821
источник
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:

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

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

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

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

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

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

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

Перейти к:

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

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

Alg_D
источник
Это снова изменилось в версии 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
2

Если вы работаете в среде Unix, вам нужна команда расширения :

Paralife
источник
1
Разве Блокнот ++ не только для Windows?
этот человек
1

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

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

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

Шон Ридер
источник