Este greu sa iti recomand un editor, pe de o parte fiindca editoarele au de obicei multe facilitati, si fiecare programator isi are propriile preferinte si nevoi, iar pe de alta parte fiindca nu am gasit pana acum un editor care sa ma satisfaca pe deplin.
Eu am o lista cu cateva editoare care se apropie de perfectiune (in functie de nevoile mele) si pe care le verific cam o data pe an ca sa vad daca s-au mai facut imbunatatiri in ele, incerc sa conving firmele producatoare sa adauge facilitatile lipsa etc.
EdSharp nu folosesc fiindca inca de cand a fost lansat a dat multe erori ori de cate ori l-am testat, nu imi place fiindca emite mesaje direct prin intermediul cititorului de ecran in loc sa le afiseze ca in editoarele standard si de acolo sa fie citite de Jaws, nu imi place fiindca are o multime de combinatii de taste care nu pot fi modificate, este dificil de rulat programul curent direct din editor, modul de cautare cu/fara regular expressions sau cu/fara potrivire minuscule/majuscule este limitat, si multe altele.
Si mie mi-ar placea ca editorul sa stearga intreaga linie curenta, si chiar m-am gandit ca asta nu ar fi chiar atat de greu de facut, insa de facut dupa cate stiu eu nu o face nici EdSharp. Ba mai mult, daca scriu o linie lunga, EdSharp o imparte in mai multe linii in mod automat. Nu adauga caractere de sfarsit de linie, ceea ce este bine, insa dupa un anumit caracter ne spune ca am trecut pe randul urmator, cand de fapt este doar vizual randul urmator. Or un rand incepe de la un sfarsit de linie si se termina la un alt sfarsit de linie, nu dupa un anumit numar de caractere cat este de lat ecranul la un moment dat.
Daca scri de exemplu o linie care are 300 de caractere si apesi Control+D cand cursorul este undeva in interiorul ei, ar trebui sa stearga toate cele 300 de caractere si eventual si caracterul de sfarsit de linie de dupa ea, dar EdSharp sterge doar o bucata din linie, ceea ce nu este deloc util, fiindca este foarte simplu de apasat home, shift+sageata in jos, delete, sau home, shift+end, delete, si ar avea acelasi efect. De sters insa intreaga linie este mai dificil fiindca trebuie dezactivat line wrapping ca sa se afiseze toata linia pe o singura linie vizuala, chiar daca nu se vede in intregime pe ecran, si doar apoi sa se aplice comenzile de mai sus. In TextPad ca sa activez/dezactivez line wrapping folosesc Control+Q, W, dar nu prea imi plac aceste comenzi si ar fi fost intr-adevar util daca s-ar fi putut face mai simplu.
O sa incerc sa iti dau cateva idei, dar nu ar fi de mirare daca niciuna nu ar raspunde preferintelor tale.
Eu folosesc ca editor de baza TextPad. Imi place fiindca este foarte accesibil si raspunde foarte rapid la comenzi si are foarte multe facilitati. Ma rog, de majoritatea nu am niciodata nevoie.
TextPad a suportat de multa vreme Regular Expressions, iar din versiunea 7 suporta Perl regular expressions care este cel mai bun motor pentru RE.
Se poate rula programul curent direct in editor si daca se doreste se pot specifica parametrii in momentul rularii. O chestie foarte utila pe care nu cred ca o mai au alte editoare, daca programul ruleaza mult timp si tipareste ceva, se afiseaza in editor liniile imediat ce sunt tiparite de program si nu trebuie sa astepte pana cand programul termina de rulat. O alta chestie utila este ca in momentul in care termina de rulat, daca programul se finalizeaza cu bine editorul emite un beep, iar daca programul da la un moment dat o eroare, da un alt fel de beep. Asa ca daca rulez un program care ruleaza mai mult timp, pana cand aud unul dintre beep-uri pot face altceva pe computer, nu trebuie sa tot verific daca a terminat de rulat. In plus, daca la un moment dat vreau sa opresc programul care ruleaza, pot apasa o combinatie de taste si programul se opreste, nu trebuie sa astept pana termina.
O facilitate utila este si ca se pot seta oricate bookmark-uri, ca in EdSharp, dar combinatiile de taste imi par a fi mai usor de folosit. Si in fond o importanta facilitate este ca in TextPad se pot seta combinatii de taste pentru oricare dintre optiunile din meniu, asa ca fiecare isi poate seta combinatii mai accesibile pentru facilitatile folosite mai des.
Imi place de asemenea ca cu o singura combinatie de taste se poate sari de la anumite caractere la caracterul lor pereche, sau se poate selecta tot ce apare intre aceste caractere tot cu o singura combinatie de taste. Caracterele pereche acceptate sunt (), [], {} si <>. Imi place in special ca se ofera si <> ca sa pot selecta rapid intreg continutul unui element HTML de exemplu.
TextPad permite modificarea tipului de codare si a sfarsitului de linie Unix/Mac/Windows in momentul in care se salveaza fisierul, ceea ce este util fiindca putem lucra la un anumit fisier existent, ii putem modifica de exemplu tipul de sfarsit de linie si il putem salva intr-un alt fisier fara sa fie nevoie sa facem setari in editor pentru fisierul existent.
Imi place si ca daca selectez un text pe o linie pot vedea in status bar cate caractere sunt selectate, dar daca selectez mai multe linii, imi spune cate linii sunt selectate. Asta ma ajuta fiindca pot selecta rapid cu o combinatie de taste continutul unei functii si pot vedea imediat daca acea functie are 7 linii sau 70, ca sa ma pot orienta mai bine si sa vad cam cu ce bucata de cod am de a face.
TextPad are insa o foarte mare problema pe care se pare ca producatorii nu o prea pot rezolva de multa vreme. Au adaugat de multi ani tot felul de facilitati, au adus multe imbunatatiri, dar asta care este sigur cea mai importanta a ramas tot nerezolvata. Si anume TextPad nu suporta Unicode decat partial.
Mai exact suporta doar acele caractere Unicode care au echivalent si intr-unul dintre tipurile de encoding pe 8 biti pe care le suporta. Cu alte cuvinte suporta de exemplu vechile caractere şŞţŢ cu sedila, dar nu suporta noile lor variante cu virgula, care apar doar in setul de caractere Unicode.
Daca aceasta problema ar fi rezolvata, atunci as putea spune ca TextPad este perfect, cel putin din punctul meu de vedere.
Un alt editor, la care se lucreaza mult mai intens decat TextPad si care are un succes comercial mult mai mare, probabil ca este cel mai bine vandut editor, este UltraEdit.
Acest editor suporta foarte bine Unicode, suporta si cautari cu regular expressions, permite si rularea programelor din editor, la fel ca TextPad permite afisarea rezultatului programului intr-o noua fereastra document, deci rezultatul este foarte accesibil, insa spre deosebire de TextPad, rezultatul este afisat doar dupa ce programul termina de rulat, iar unele programe ar putea rula si ore, zile, saptamani. In plus, o alta problema a UltraEdit este ca odata programul pornit, nu mai poate fi oprit.
Permite si el selectarea intre caractere pereche, adaugarea de bookmark-uri, salvarea cu sfarsit de linie Unix/Mac/Windows, are un dialog pentru find/replace accesibil. Afisarea numarului de linie in status bar se face doar cand liniile se afiseaza si in stanga campului de editare, ceea ce pentru orbi este cam nasol fiindca numarul liniilor este citit la fiecare mutare a cursorului de pe o linie pe alta.
Numarul de caractere selectate este afisat mai ciudat, si anume inmultit cu 2, ca si cum ar fi numarul de bytes selectat daca textul ar fi codat UTF-16, fiindca de exemplu si daca se selecteaza un simplu caracter "a" se afiseaza ca sunt 2 bytes selectati, desi "a" are un singur byte daca fisierul curent este codat UTF-8.
Dupa ce termina de rulat programul curent, UltraEdit nu face nicun fel de beep.
Le-am scris celor care au facut acest program si ultima data pareau ca chiar vor sa adauge facilitatile despre care le-am spus ca lipsesc si au spus ca ar fi intr-adevar utile. Cine stie insa cand le vor adauga sau daca le vor adauga. Oricum, suportul oferit de cei care fac UltraEdit este mult mai bun decat cel oferit de cei care fac TextPad. De fapt pentru TextPad aproape ca nu se ofera niciun fel de suport.
Ma rog, si pretul UltraEdit este mult mai mare decat cel al TextPad.
Am mai testat editorul EditPlus, care si el este destul de bun, insa in ordine din punctul de vedere al facilitatilor oferite este dupa TextPad si UltraEdit.
Un alt editor pe care l-am testat doar partial, care este si gratuit si care la prima vedere pare sa aiba toate facilitatile de care am nevoie (desi nu sunt chiar sigur), este Notepad++.
Din pacate acest editor nu este suficient de accesibil cu Jaws. Am inteles insa ca este accesibil cu NVDA, deci daca cumva folosesti NVDA ar putea fi cea mai buna solutie.
Daca selectezi de exemplu cateva litere dintr-un cuvant sau cateva cuvinte dintr-o linie in Notepad++, JAWS nu citeste nimic, iar asta nu e deloc OK.
Notepad++ se bazeaza pe widget-ul open source Scintilla care este folosit si in alte editoare cum este SciTe, si acel widget creaza problemele de accesibilitate, deci daca Jaws nu este imbunatatit sa poata suporta acel widget cum poate NVDA, atunci nu stiu daca cei care au creat Notepad++ ii pot aduce imbunatatiri. Habar n-am.
Este ciudat daca spui ca ai salvat fisierul ca Latin1 si ai <?php session_start() ... in prima linie dar totusi iti da acea eroare. Ar fi interesant de vazut cum arata acel fisier cu un editor care iti permite sa vezi codul hexazecimal. Cu TextPad se poate face si asa ceva. In acel caz ai vedea daca fisierul nu incepe totusi cu ceva caractere mai ciudate.
Dar apropos, nu este nevoie sa imi spui "dvs"