Замена TABs на Spaces и обратно?
- Author
- Message
-
Offline
- Posts: 56
- Joined: Tue Aug 26, 2008 9:56 am
Замена TABs на Spaces и обратно?
Было бы замечательно иметь такую возможность. Масса форумов корежит вставляемые в топик исходники, если в них есть TABы, и напротив - редактировать исходники с пробелами вместо TABов - неудобно.
В ConTEXT такая фича есть - его пока и приходится для этого пользовать (
Спасибо.
В ConTEXT такая фича есть - его пока и приходится для этого пользовать (
Спасибо.
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
-
Offline
- Posts: 56
- Joined: Tue Aug 26, 2008 9:56 am
FeyFree, на форумах есть специальный тег code который корёжит любой текст с шириной табов, отличной от 4:
А вот как это выглядит с пробелами вместо табов:
Еще есть Волга, которая впадает в Каспийское море, и есть учителя, которые знают все - типа вас. Также есть отдельные утилиты, которые такое преобразование делают - с clipboard и файлами - но я вовсе не об этом спрашивал. И отнюдь не у вас, особенно после прочтения вашего перла "заменяйте сколько вам нужно пробелов на \t"
Code: Select all
;== Initialization code =======================================================
reset:
outiw SP,RAMEND ; Initialize stack pointer
clr nul ; Initialize zero value holding register
rcall init_ports ; Initialize ports
rcall init_tmr1 ; Initialize Timer 1
rcall init_adc ; Initialize ADC
rcall init_uart ; Initialize UART
rcall init_lcd ; Initialize LCD
clr keyold ; Clear key debounce registers
clr keydeb ;
clr keyon ;
clr keytgl ;
ldi tmp,kdeb_ms ; Load key debounce timer
mov kdebtmr,tmp ; with predefined key debounce time value
clr stimer ; Clear software incremental timer
sei ; Enable interrupts
;#define debug
#ifdef debug
.listmac ; Turn listing macro expansion on
rjmp showkeys ; Show key debounce registers' bits on LCD
#endif
Code: Select all
;== Initialization code =======================================================
reset:
outiw SP,RAMEND ; Initialize stack pointer
clr nul ; Initialize zero value holding register
rcall init_ports ; Initialize ports
rcall init_tmr1 ; Initialize Timer 1
rcall init_adc ; Initialize ADC
rcall init_uart ; Initialize UART
rcall init_lcd ; Initialize LCD
clr keyold ; Clear key debounce registers
clr keydeb ;
clr keyon ;
clr keytgl ;
ldi tmp,kdeb_ms ; Load key debounce timer
mov kdebtmr,tmp ; with predefined key debounce time value
clr stimer ; Clear software incremental timer
sei ; Enable interrupts
;#define debug
#ifdef debug
.listmac ; Turn listing macro expansion on
rjmp showkeys ; Show key debounce registers' bits on LCD
#endif
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
temp1111, думаю уже поняли что ответ "такой возможности сейчас нету", и раз уж вы такой крутой низкоуровневый программист, то думаю вам не составит труда самостоятельно написать скрипт к плагину который сделает то что вам нужно, а не слушать меня "всезнающего учителя".
-
Offline
- Posts: 56
- Joined: Tue Aug 26, 2008 9:56 am
Любезный, а я разве у вас лично что-нибудь спрашивал? Вы разве имеете какое-либо отношение к разработке и развитию AkelPad, или просто потрындеть решили? Найдите в таком случае себе более благодарную аудиторию, а то я, знаете ли, ламеров-всюду-затычек с детства не перевариваю.
"ПроходИте мимо - гостем будете"(с).
"ПроходИте мимо - гостем будете"(с).
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
temp1111
у вас, видимо, настроение плохое...
Люди /не без оснований/ думают /и даже почти уверены /, что такая функция не будет добавлена в AkelPad, и поэтому предлагают хоть что-то для решения ВАШЕЙ проблемы; за это обычно говорят спасибо. А если совет не в тему, то просто молча проходят мимо.
P.S. Исходники могут быть откуда угодно, т.е. в них может быть разное количество пробелов, да в одном и том же исходнике может быть полный разброд с отступами - и такое, к сожалению, не редкость...
у вас, видимо, настроение плохое...
Люди /не без оснований/ думают /и даже почти уверены /, что такая функция не будет добавлена в AkelPad, и поэтому предлагают хоть что-то для решения ВАШЕЙ проблемы; за это обычно говорят спасибо. А если совет не в тему, то просто молча проходят мимо.
P.S. Исходники могут быть откуда угодно, т.е. в них может быть разное количество пробелов, да в одном и том же исходнике может быть полный разброд с отступами - и такое, к сожалению, не редкость...
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
temp1111, любезный, создав здесь топик Вы спрашиваете у всех, кто пожелает ответить. Если Вам ответ не нравится - вы можете это высказать только мне в личку, а не в теме.
Если вы хотели спросить у конкретного человека - разработчика, то Вам нужно было бы писать ему в личку.
Если вы хотели спросить у конкретного человека - разработчика, то Вам нужно было бы писать ему в личку.
Fr0sT, спокойствие. Совет действительно немного корявый, и не совсем ясный.о великий Гуру, просвети погрязшего во мраке невежества, чем не угодила тебе фраза "заменяйте сколько вам нужно пробелов на \t" и каковы же твои истинные цели?
-
Offline
- Posts: 56
- Joined: Tue Aug 26, 2008 9:56 am
Нормальное, рабочееVladSh wrote:temp1111
у вас, видимо, настроение плохое...
Совершенно верно. И именно поэтому на ВСЕХ phpbb-driven форумах одно из наиболее частых сообщений - "йопрст, опять форумный движок все форматирование покоцал, ща попробую повторить..."Исходники могут быть откуда угодно, т.е. в них может быть разное количество пробелов, да в одном и том же исходнике может быть полный разброд с отступами - и такое, к сожалению, не редкость...
Я упомянул и редактор (и он не один) с такой фичей, и утилитки, прекрасно это делающие - ведь очевидно, что это востребовано многими, посему и существует. AkelPad является прекрасной и более чем достойной заменой дефолтному системному "блокноту", и одна из его важнейших возможностей - это интеллектуальный MDI-буфер для тестового контента.
Наличие ВСТРОЕННОЙ возможности Tabs<>Spaces однозначно улучшило бы его и без того изрядную и рациональную функциональность - как минимум с точки зрения многочисленной армии программистов, давно и успешно пользующейся этим замечательным инструментом.
-
Offline
- Posts: 876
- Joined: Tue Jul 24, 2007 8:54 am
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
temp1111
Замена табов на пробелы - TabsToSpaces.js
Замена табов на пробелы - TabsToSpaces.js
-
Offline
- Posts: 49
- Joined: Fri Sep 22, 2006 9:28 pm
- Location: Питер
- Contact:
Внутри текста тоже возможны ряды пробелов , которые обычно надо уберечь от замены на табуляции . Тогда придётся менять в несколько приёмов , каждый раз используя нужное число пробелов после '\n' , например :Fr0sT wrote:Ну не знаю, по-моему, что может быть яснее... Ctrl-R, что: " ", на "\t", "Заменить всё". В отдельном инструменте смысла не вижу. Это ж придётся ещё и настройку делать, сколько пробелов заменять на один таб.
// 8 табуляций
^R
\n
\t\t\t\t\t\t\t\t
Заменить все
// 7 табуляций
^R
\n
\t\t\t\t\t\t\t
Заменить все
.....
-
Offline
- Posts: 56
- Joined: Tue Aug 26, 2008 9:56 am
Спасибо!.. только вот что получается:Instructor wrote:temp1111
Замена табов на пробелы - TabsToSpaces.js
- выделяю фрагмент с табами под замену
- нажимаю hotkey, назначенный для TabsToSpaces
- получаю ошибку:
Script: c:\bla-bla\TabsToSpaces.js
Line: 29
Char: 7 [это начало строки SelCompliteLine(hWndEdit, nSelStart, nSelEnd);]
Error: Object expected
Code: 800A138F
Source: Microsoft JScript runtime error [WinXP SP2]
Пробовал заменить SelCompliteLine на SelCompleteLine, сочтя за описку, но результат тот же