Linuxos szövegszerkesztők

Arra gondoltam mutatok néhány olyan Linuxos szövegszerkesztőt, amit akár fejlesztői környezetként (IDE - Integrated Development Environment) is lehet használni. Mindegyiknek megvan az előnye és a hátránya is. A választás a tiéd.

Most csak a grafikus felülettel rendelkező szövegszerkesztőkről lesz szó. Tehát semmi vi, emacs, nano vagy joe!

gedit

A személyes kedvencem, ezt a postot is ebben ír(o|ta)m. A gedit a GNOME asztali környezet hivatalos szövegszerkesztő programja. Egyszerű, könnyen használható általános célú, a GNU General Public Licenc szabályai szerint használható szövegszerkesztő.

Jellemzők

A gedit számos program- és jelölőnyelvhez (C, C++, Java, HTML, Python, Perl, stb) tartalmaz szintaxis kiemelést. A gedit felhasználói felületén füles elrendezésben egyszerre több fájlt lehet szerkeszteni. A füleket át lehet rendezni, sőt egy másik A gedit ablakba is át lehet húzni. A GVFS (Gnome Virtual FileSystem) segítségével távoli (FTP, Samba) fájlokat is lehet szerkeszteni. Teljes mértékben támogatja műveletek visszavonását és újra elvégzését, ugyanúgy mint a keresést és cserét. További kódolást segítő funkció a sorok számozása, a zárójel párok keresése, a szöveg tördelés, az aktuális sor kiemelése, az automatikus behúzás és a fájlok automatikus biztonsági mentése.

A program több nyelvű helyesírás ellenőrzést támogat, valamit a képességeit rugalmas bővítmény rendszerrel, előre megírt kódrészletekkel (snippets) és külső alkalmazások integrációjával (pl. python vagy bash terminál) lehet bővíteni. A gedit sok előre telepített bővítményt tartalmaz, de a gedit-plugins csomag tartalmaz még jó párat.

A gedit rendelkezik egy opcionálisan ki/be kapcsolható oldalsávval, amelyben a megnyitott fájlokat, a kódrészleteket vagy a fájl böngészőt lehet megjeleníteni. Tartalmaz még egy alsó panelt is, amiben a Pyhthon konzolt vagy a terminált lehet használni. A gedit automatikusan érzékeli ha egy fájlt egy másik alkalmazás módosít. Ilyenkor felajánlja, hogy újra betölti a módosított verziót. Egy bővítmény segítségével lehetőség van a munkamenetek (aktuálisan megnyitott fájlok listája) mentésére és visszaállítására.

Telepítés

A gedit szinte minden Linux disztribúcióban elérhető, legegyszerűbben az adott Linux csomagkezelőjével, szoftverközpontjával lehet telepíteni.

Geany

A Geany egy pehelysúlyú, keresztplatform, Scintilla alapú szövegszerkesztő, alapszintű IDE tulajdonságokkal. A tervezésénél a fő szempont a gyorsaság volt, ezt úgy érték el, hogy a külső programkönyvtárak és csomagok függőségét minimálisra csökkentették. További nagy előnye, hogy amennyire csak lehet független az olyan speciális asztali környezetektől, mint pl. a KDE vagy a GNOME, egyedül a GTK2 futtatókörnyezetre van szüksége.

A Geany a GNU GPL 2, vagy újabb szabályai szerint felhasználható szabad szoftver.

Jellemzők

  • Szintaxis kiemelés
  • Kód összecsukás
  • Szimbólum név automatikus kiegészítés
  • Kódrészletek és kiegészítések létrehozása
  • XML ls HTML címkék automatikus lezárása
  • Rengeteg támogatott fájltípus: C, Java, PHP, HTML, Python, Perl, Pascal
  • Szimbólum listák
  • Kód navigáció
  • Fordító rendszer a kódok fordítására és végrehajtására
  • Egyszerű projekt kezelés
  • Bővítmény felület

Sublime Text

A Sublime Text egy keresztplatformos szöveg és forráskód szerkesztő program Python API-val. A felhasználói felületet a Vim ihlette. A funkcionalitása a sublime-packages csomaggal bővíthető. A Sublime Text nem nyílt forrású és nem is szabad szoftver, de néhány közösségi alapon fejlesztett kiegészítő érhető el hozzá.

Jellemzők

  • Nyelvi támogatás

    A Sublime Text számos különböző programnyelvet támogat szintaxis kiemeléssel, pl: C, C++, C#, CSS, D, Dylan, Erlang, HTML, Groovy, Haskell, Java, JavaScript, LaTeX, Lisp, Lua, Markdown, MATLAB, OCaml, Perl, PHP, Python, R, Ruby, SQL, Tcl, Textile, és XML. Ezeketn túlmenően a felhasználók további kiegészítőket tölthetnek le a további nyelvekhez.

  • Automatikus kiegészítés

    A Sublime Text gépelés közben, a kód nyelvétől függően egészíti ki a kódot. A beépített függvényeken kívül a felhasználó által létrehozott változóknál is működik az automatikus kiegészítés.

  • Szintaxis kiemelés és nagy kontrasztú megjelenés

    A Sublime Text sötét háttere úgy lett tervezve, hogy növelje a kontrasztot a különböző színekkel kiemelt szintaxis és a szöveg között.

  • In-editor kód fejlesztés

    Ez a funkció lehetővé teszi a felhasználók számára, hogy a különböző nyelvű kódokat a szerkesztőben futtathassák, aminek hatására megszűnik parancssor és a szövegszerkesztő közötti váltogatás. Ez a funkció úgy is beállítható, hogy a kód minden mentésekor automatikusan fordítsa is le a programot.

  • Kódrészletek (snippets)

    Ez a funkció lehetővé teszi, hogy a felhasználók a gyakran használt kódrészletekhez kulcsszavakat rendeljenek. A felhasználónak ezután elég csak a kulcsszót a megfelelő helyre beírni és egy Tab-ot nyomni és a program lecseréli a kulcsszót a hozzá tartozó kódrészletre.

  • Ugrás bárhova

    Ez egy navigációs eszköz lehetővé teszi a felhasználók számára, hogy szabadon mozoghassanak a fájlok között és azokon belül.

  • Egyebek

    A Sublime Text a fentieken kívül még rengeteg funkcióval rendelkezik. Egy ilyen pl. az automatikus mentés, ami megóvja a felhasználót, hogy elveszítse a munkáját. A testre szabható billentyűparancsok segítségével a felhasználók gyorsbillentyűket rendelhetnek a menük és az eszköztárak parancsaihoz. A helyesírás ellenőrző segítségével gépelés közben lehet javítani az elírt szöveget. A Sublime Text az ismétlődő feladatokhoz Makrókat használhatunk, valamit lehetőség van az utolsó művelet megismétlésére is. A szövegszerkesztéshez is rengeteg parancs áll rendelkezésre, pl: behúzás, bekezdés újra formázás, sor egyesítés.

A Sublime Text programnak csak egy baja van, mégpedig az, hogy nem szabad és nem nyílt forrású. Viszont a teljes verzió funkcionalitásával a próbaverziót lehet használni, de csak bizonyos ideig. Az egyetlen különbség egy felugró ablak, ami arra próbál rávenni, hogy vásároljuk meg 70 dollárért a teljes verziót.

A szoftver 32 és 64 bites Linuxra is letölthető a hivatalos oldalról.

jEdit

A jEdit egy felnőtt, programozók számára készített szövegszerkesztő több száz (ha csak a beépülők fejlesztésére fordított időt nézzük) személy-év fejlesztési idővel. (A jó munkához idő kell, a szarhoz még több.) A jEdit a funkciók és a könnyű használhatóság szempontjából sok drága fejlesztő eszközt ver. A forráskódja szabad szoftverként terjeszthető a GPL 2.0 licenc szerint.

Jellemzők

  • Java nyelven fejlesztik, így Mac OS X, OS/2, Unix, Linux, VMS és Windows rendszereken futtatható.
  • Beépített makró nyelvvel rendelkezik és beépülőkkel is bővíthető. Több száz makró és beépülő érhető el.
  • A beépülők a jEdit belső, beépülő kezelőjéből tölthetők le és telepíthetők.
  • Automatikus behúzás, szintaxis kiemelés több mint 200 nyelvhez.
  • Számos karakter kódolás ismer, beleértve az UTF8-at és az Unicode-ot is.
  • A kijelölt szöveg elrejtése összecsukással.
  • Sortörés.
  • Nagyon konfigurálható és testre szabható felhasználói felület.

Nem vagyok profi programozó, de a munkámhoz néha megírok egy-egy shell scriptet, vagy PHP függvényt, de az erre az oldalra készülő postok HTML kódját is ezekkel szövegszerkesztőkkel szoktam írni.

Hozzászólások

Esetleg még meg lehetett volna említeni a KDE szövegszerkesztőjét, Kate-et is.

A Kate túl sok dolgot hozott volna még magával, ezért ki sem próbáltam:
zoli@coruscant ~ $ sudo apt-get install kate
[sudo] password for zoli:
Csomaglisták olvasása... Kész
Függőségi fa építése      
Állapotinformációk olvasása... Kész
Az alábbi extra csomagok kerülnek telepítésre:
  docbook-xsl kate-data katepart kde-runtime kde-runtime-data kdelibs-bin
  kdelibs5-data kdelibs5-plugins kdoctools kubuntu-debug-installer
  libattica0.4 libdlrestrictions1 libkactivities-bin libkactivities-models1
  libkactivities6 libkateinterfaces4 libkatepartinterfaces4 libkcmutils4
  libkde3support4 libkdeclarative5 libkdecore5 libkdesu5 libkdeui5
  libkdewebkit5 libkdnssd4 libkemoticons4 libkfile4 libkhtml5 libkidletime4
  libkio5 libkjsapi4 libkjsembed4 libkmediaplayer4 libknewstuff3-4
  libknotifyconfig4 libkntlm4 libkparts4 libkpty4 libkrosscore4
  libktexteditor4 libkxmlrpcclient4 libnepomuk4 libnepomukcore4abi1
  libnepomukquery4a libnepomukutils4 libntrack-qt4-1 libntrack0 libphonon4
  libplasma3 libpolkit-qt-1-1 libpoppler-qt4-4 libqapt2 libqapt2-runtime
  libqca2 libqt4-qt3support libsolid4 libsoprano4 libstreamanalyzer0
  libstreams0 libthreadweaver4 libvirtodbc0 nepomuk-core nepomuk-core-data
  ntrack-module-libnl-0 oxygen-icon-theme phonon phonon-backend-gstreamer
  plasma-scriptengine-javascript qapt-batch shared-desktop-ontologies
  soprano-daemon virtuoso-minimal virtuoso-opensource-6.1-bin
  virtuoso-opensource-6.1-common
Javasolt csomagok:
  docbook-xsl-doc-html docbook-xsl-doc-pdf docbook-xsl-doc-text
  docbook-xsl-doc libsaxon-java libxalan2-java libxslthl-java
  docbook-xsl-saxon fop xalan dbtoepub khelpcenter4 konsole djvulibre-bin
  finger hspell libqca2-plugin-cyrus-sasl libqca2-plugin-gnupg
  libqca2-plugin-ossl phonon-backend-vlc phonon-backend-xine
  phonon-backend-mplayer
Az alábbi ÚJ csomagok lesznek telepítve:
  docbook-xsl kate kate-data katepart kde-runtime kde-runtime-data kdelibs-bin
  kdelibs5-data kdelibs5-plugins kdoctools kubuntu-debug-installer
  libattica0.4 libdlrestrictions1 libkactivities-bin libkactivities-models1
  libkactivities6 libkateinterfaces4 libkatepartinterfaces4 libkcmutils4
  libkde3support4 libkdeclarative5 libkdecore5 libkdesu5 libkdeui5
  libkdewebkit5 libkdnssd4 libkemoticons4 libkfile4 libkhtml5 libkidletime4
  libkio5 libkjsapi4 libkjsembed4 libkmediaplayer4 libknewstuff3-4
  libknotifyconfig4 libkntlm4 libkparts4 libkpty4 libkrosscore4
  libktexteditor4 libkxmlrpcclient4 libnepomuk4 libnepomukcore4abi1
  libnepomukquery4a libnepomukutils4 libntrack-qt4-1 libntrack0 libphonon4
  libplasma3 libpolkit-qt-1-1 libpoppler-qt4-4 libqapt2 libqapt2-runtime
  libqca2 libqt4-qt3support libsolid4 libsoprano4 libstreamanalyzer0
  libstreams0 libthreadweaver4 libvirtodbc0 nepomuk-core nepomuk-core-data
  ntrack-module-libnl-0 oxygen-icon-theme phonon phonon-backend-gstreamer
  plasma-scriptengine-javascript qapt-batch shared-desktop-ontologies
  soprano-daemon virtuoso-minimal virtuoso-opensource-6.1-bin
  virtuoso-opensource-6.1-common
0 frissített, 75 újonnan telepített, 0 eltávolítandó és 0 nem frissített.
Letöltendő adatmennyiség: 62,9 MB.
A művelet után 170 MB lemezterület kerül felhasználásra.
Folytatni akarja [I/n]?

Aki linuxos szövegszerkesztőkről és IDE-kről ír, az ne felejtse ki az ingyenes Komodo Edit-et, amelyik a felsoroltak hoz képest (kivéve Jedit) jóval nagyobb tudású: http://www.activestate.com/komodo-edit
A Jedit-nél pedig érdemes lenne a jellemzők között megemlíteni, hogy az FTP plugin segítségével távoli file-okat is lehet szerkeszteni. A Komodo Edit-ben pedig ez alapból benne van.
Egy ilyesmi szerkesztő eszköz egyik legjobb tulajdonsága mindig az, hogy mennyire szabható személyre, azaz tudunk-e könnyen írni hozzá magunknak kiegészítőket. Ebből a szempontból a Jedit, a Komodo Edit és a Sublime Text vezetheti a listát. A Gedit és a Geany ebből a szempointból lemarad. Igaz, a Sublime Text esetén Phyton-ban kell programozni.
Még egy kiegészítés: a Sublime Text ingyenes verziója nem időkorlátos, hanem csak figyelmeztető ablakot dobál bizonyos időközönként.

Még nagyon sok kimaradt, pl: Leafpad, Mousepad, stb. Itt csak azokat említettem, amiket használok vagy használtam.

jetbrains termékek is említhetők. ha esetleg lesz bővítve

Még jó a scratch-text-editor is (elementary alapértelmezett editora), csak lehetne rövidebb is a neve. Aliast neki!
Sublime gyorsabb meg jobb de drágább is.

A Full Circle magazin "Programozzunk Pythonban" sorozat (http://fullcircle.hu/pics/issuePY01_hu.pdf) "Első programunk" részben "Ezt a chmod +x hello.py parancs begépelésével érhetjük el abban a mappában, ahol a python fájlunk van. Most már elindíthatjuk a programot." és azt nem értem, hová gépelem a chmod... parancsot és hogyan indítom a programot? (Python 3.5.0-át töltöttem le, a gedit-ben alul kijelöltem a Python nyelvet. És itt behaltam, mivel teljesen amatőr vagyok, egyszerű sima felhasználó, csak a magam szórakoztatására akartam kipróbálni. Nyilván az én hibám, de bosszant, hogy nem megy.)
Ha válaszolsz egyáltalán, légy szíves ne informatikus szinten tedd, mert azt tuti nem fogom megérteni. Köszönöm szépen előre is!

Tegyük fel, hogy a programod a /home/brigi/programok/elso.py fájlban van mentve.

Nyiss meg egy terminált (menüből, vagy általában Ctrl+Alt+T)

A terminál ablakában lépj be a program könyvtárába. Ehhez pl ezt írd be: cd ~/programok (a ~ jel [AltGr+1] a /home/brigi könyvtárat helyettesíti)

Innentől két lehetőséged van a programod futtatására.

1: a fájl futtathatóvá tételével:

Adj a fájlnak futtatási jogosultságot. Ehhez szintén a terminálban ezt kell beírnod: chmod +x elso.py

Majd a futtatás: ./elso.py

Arra figyelj, hogy a fájlod első sora ez legyen: #!/usr/bin/env python
Ezzel tudatod a parancsértelmezővel, hogy python programmal van dolga.

Ne felejtsd el az elejéről a ./ karaktereket, mert ezzel jelzed a parancsértelmezőnek, hogy az aktuális könyvtárban lévő fájlt kell keresnie.

A jogosultságot csak egyszer kell beállítani. Ha módosítod a programot, akkor a futtatási (és minden egyéb) jogosultság megmarad.

2: hívás a python argumentumaként:

Ez a legegyszerűbb. Csak ennyit kell beírni: python elso.py

Ez akkor is működik, ha a fájlt esetleg már futtathatóvá tetted.