AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Замена TABs на Spaces и обратно?
Goto page 1, 2  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
temp1111



Joined: 26 Aug 2008
Posts: 49

PostPosted: Sat Jan 09, 2010 7:14 pm    Post subject: Замена TABs на Spaces и обратно? Reply with quote

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

В ConTEXT такая фича есть - его пока и приходится для этого пользовать Sad(

Спасибо.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2038
Location: Vinnitsa, Ukraine

PostPosted: Sun Jan 10, 2010 7:07 pm    Post subject: Reply with quote

temp1111 на форумах есть специальный тег code который ничего не корёжит. За то что его не используют - втык должны сделать модераторы.

А исправить можно с помощью обычной Замены. Заменяйте "<сколько ван нужно пробелов>" на "\t"
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
temp1111



Joined: 26 Aug 2008
Posts: 49

PostPosted: Thu Jan 14, 2010 7:11 pm    Post subject: Reply with quote

FeyFree, на форумах есть специальный тег code который корёжит любой текст с шириной табов, отличной от 4:

Code:
;== 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:

;== 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


Еще есть Волга, которая впадает в Каспийское море, и есть учителя, которые знают все - типа вас. Также есть отдельные утилиты, которые такое преобразование делают - с clipboard и файлами - но я вовсе не об этом спрашивал. И отнюдь не у вас, особенно после прочтения вашего перла "заменяйте сколько вам нужно пробелов на \t" Very Happy
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2038
Location: Vinnitsa, Ukraine

PostPosted: Thu Jan 14, 2010 10:32 pm    Post subject: Reply with quote

temp1111, думаю уже поняли что ответ "такой возможности сейчас нету", и раз уж вы такой крутой низкоуровневый программист, то думаю вам не составит труда самостоятельно написать скрипт к плагину который сделает то что вам нужно, а не слушать меня "всезнающего учителя".
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
temp1111



Joined: 26 Aug 2008
Posts: 49

PostPosted: Fri Jan 15, 2010 12:44 am    Post subject: Reply with quote

Любезный, а я разве у вас лично что-нибудь спрашивал? Вы разве имеете какое-либо отношение к разработке и развитию AkelPad, или просто потрындеть решили? Найдите в таком случае себе более благодарную аудиторию, а то я, знаете ли, ламеров-всюду-затычек с детства не перевариваю.

"ПроходИте мимо - гостем будете"(с).
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Jan 15, 2010 7:59 am    Post subject: Reply with quote

temp1111
о великий Гуру, просвети погрязшего во мраке невежества, чем не угодила тебе фраза "заменяйте сколько вам нужно пробелов на \t" и каковы же твои истинные цели?
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2610
Location: Киев, Русь

PostPosted: Fri Jan 15, 2010 9:52 am    Post subject: Reply with quote

temp1111
у вас, видимо, настроение плохое...
Люди /не без оснований/ думают /и даже почти уверены Smile /, что такая функция не будет добавлена в AkelPad, и поэтому предлагают хоть что-то для решения ВАШЕЙ проблемы; за это обычно говорят спасибо. А если совет не в тему, то просто молча проходят мимо.

P.S. Исходники могут быть откуда угодно, т.е. в них может быть разное количество пробелов, да в одном и том же исходнике может быть полный разброд с отступами - и такое, к сожалению, не редкость...
Back to top
View user's profile Send private message Visit poster's website
FeyFre



Joined: 07 Aug 2007
Posts: 2038
Location: Vinnitsa, Ukraine

PostPosted: Fri Jan 15, 2010 10:36 am    Post subject: Reply with quote

temp1111, любезный, создав здесь топик Вы спрашиваете у всех, кто пожелает ответить. Если Вам ответ не нравится - вы можете это высказать только мне в личку, а не в теме.
Если вы хотели спросить у конкретного человека - разработчика, то Вам нужно было бы писать ему в личку.
Quote:
о великий Гуру, просвети погрязшего во мраке невежества, чем не угодила тебе фраза "заменяйте сколько вам нужно пробелов на \t" и каковы же твои истинные цели?
Fr0sT, спокойствие. Совет действительно немного корявый, и не совсем ясный. Smile
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
temp1111



Joined: 26 Aug 2008
Posts: 49

PostPosted: Fri Jan 15, 2010 11:59 am    Post subject: Reply with quote

VladSh wrote:
temp1111
у вас, видимо, настроение плохое...

Нормальное, рабочее Very Happy

Quote:
Исходники могут быть откуда угодно, т.е. в них может быть разное количество пробелов, да в одном и том же исходнике может быть полный разброд с отступами - и такое, к сожалению, не редкость...
Совершенно верно. И именно поэтому на ВСЕХ phpbb-driven форумах одно из наиболее частых сообщений - "йопрст, опять форумный движок все форматирование покоцал, ща попробую повторить..."

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

Наличие ВСТРОЕННОЙ возможности Tabs<>Spaces однозначно улучшило бы его и без того изрядную и рациональную функциональность - как минимум с точки зрения многочисленной армии программистов, давно и успешно пользующейся этим замечательным инструментом.
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Mon Jan 18, 2010 7:45 am    Post subject: Reply with quote

FeyFre wrote:
Совет действительно немного корявый, и не совсем ясный. Smile

Ну не знаю, по-моему, что может быть яснее... Ctrl-R, что: " ", на "\t", "Заменить всё". В отдельном инструменте смысла не вижу. Это ж придётся ещё и настройку делать, сколько пробелов заменять на один таб.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5325

PostPosted: Sat Apr 03, 2010 4:22 am    Post subject: Reply with quote

temp1111
Замена табов на пробелы - TabsToSpaces.js
Back to top
View user's profile Send private message Send e-mail
okruzhor



Joined: 22 Sep 2006
Posts: 49
Location: Питер

PostPosted: Sat Apr 03, 2010 10:13 am    Post subject: Reply with quote

Fr0sT wrote:
Ну не знаю, по-моему, что может быть яснее... Ctrl-R, что: " ", на "\t", "Заменить всё". В отдельном инструменте смысла не вижу. Это ж придётся ещё и настройку делать, сколько пробелов заменять на один таб.

Внутри текста тоже возможны ряды пробелов , которые обычно надо уберечь от замены на табуляции . Тогда придётся менять в несколько приёмов , каждый раз используя нужное число пробелов после '\n' , например :

// 8 табуляций
^R
\n
\t\t\t\t\t\t\t\t
Заменить все

// 7 табуляций
^R
\n
\t\t\t\t\t\t\t
Заменить все

.....
Back to top
View user's profile Send private message Visit poster's website
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Mon Apr 05, 2010 6:32 am    Post subject: Reply with quote

Макрос можно записать Smile
Да, и у тебя там ошибка: заменить на \n\t\t...
Back to top
View user's profile Send private message
temp1111



Joined: 26 Aug 2008
Posts: 49

PostPosted: Wed Apr 07, 2010 9:46 pm    Post subject: Reply with quote

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, сочтя за описку, но результат тот же Sad
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5325

PostPosted: Thu Apr 08, 2010 4:56 am    Post subject: Reply with quote

temp1111
Скопируйте скрипт полностью ничего не меняя. Опечатку исправил.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group