Текстовые редакторы, которые обрабатывают эмулируемые табуляции так же, как настоящие табуляции?

Вопрос или проблема

Знаете ли вы какой-либо текстовый редактор, который, будучи настроенным на использование эмулируемых табуляций (выдавая пробелы при нажатии клавиши таб), изменит поведение клавиш курсора так, чтобы оно вело себя так же, как с настоящими табуляциями, прыгая на кратные количества пробелов в эмулируемой табуляции вместо перемещения по пробелу за пробелом?

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

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

CudaText (бесплатный) и Sublime Text могут использоваться таким образом, но с плагином. Плагин еще не существует.

Совет о том, как написать этот плагин для CudaText: плагин должен обрабатывать событие on_key (лучше только для кодов клавиш LEFT/RIGHT, это опция в install.inf). В этом событии плагин должен отключить действие по умолчанию, вернув False, и выполнить свое собственное действие, используя ed.cmd().

Ответ или решение

В мире программирования и текстового редактирования обработка табуляции является важным аспектом, влияющим на удобство работы разработчиков. При настройке текстового редактора на использование "эмулированных табуляций", выраженных в пробелах, многие пользователи стремятся к тому, чтобы поведение курсора также адаптировалось к этому новому формату. То есть, при нажатии клавиши "Tab" вместо добавления одного пробела, редактор должен добавить, например, четыре пробела, а перемещение с помощью стрелок должно подстраиваться под данное количество пробелов — проще говоря, курсор должен перемещаться сразу на четыре пробела.

Подходящие текстовые редакторы

На текущий момент существует несколько текстовых редакторов, способных имитировать такое поведение, хотя и с некоторыми оговорками.

  1. CudaText:

    • Это бесплатный текстовый редактор, который можно адаптировать для работы с эмулированными табуляциями. Однако по умолчанию в CudaText поведение курсора при использовании табуляции остается стандартным.
    • Для того чтобы достичь желаемого поведения, потребуется написать плагин, который будет обрабатывать событие нажатия клавиш. В этом плагине необходимо будет отключить стандартные действия для клавиш курсора (LEFT и RIGHT) и реализовать собственные, которые будут перемещать курсор на заданное количество пробелов (например, 4) в зависимости от настройки эмулированных табуляций.
  2. Sublime Text:

    • Этот редактор также имеет возможность настройки работы с эмулированными табуляциями, однако для достижения полного соответствия (включая поведение курсора) потребуется разработка специального плагина. На момент написания этого ответа плагин, обеспечивающий полное имитирование поведения табуляции, еще не существует.
    • Разработчикам плагина необходимо будет реализовать функционал обработки нажатий стрелок так, чтобы они перемещали курсор на количество пробелов, указанное в настройках табуляции.

Заключение и рекомендация

На сегодняшний день наиболее подходящие варианты для вашей задачи — это CudaText и Sublime Text, требующие дополнительных усилий для настройки нужного поведения. Обратите внимание, что создание плагина требует определенных навыков программирования, но это может стать отличным способом сделать редактор более удобным для работы.

Если эта функциональность критически важна для вашей работы, возможно, стоит рассмотреть другие редакторы или IDE, которые уже включают преднастроенные опции для управления табуляцией и поведением курсора. Например, текстовые редакторы, такие как Visual Studio Code, поддерживают плагины и могут предоставить аналогичные настройки, при этом интеграция с другими инструментами может сильно упростить вашу работу.

Оцените материал
Добавить комментарий

Капча загружается...