• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KKL2401Emacs: escape meta alt control shift aneb prece nejsem sam, kdo nepouziva VIM
    GLIN
    GLIN --- ---
    KKL2401: to je tam standardne na ALT+/ , coz mi prijde jako celkem prijemny...ja uz bych nemohl furt prehazovat ty ruce z prstokladu na sipky a pak zas hledat prstoklad...ze je to v bashi a vsude na radkovejch aplikacich, to je asi normal, ale ja uz to mam treba i v GTK aplikacich nastaveny, ze mi tyhle zakladni emacs-like veci fungujou (napr. pri psani v mozille, v gaimovi atd.)...akorat se vetsinou dost motaj se zkratkama ty aplikace, ale napr. ted jak tu pisu ve firefoxovi, tak mi C-f, C-b, C-p, C-n, C-a, C-e fugnujou, takze sipky nepotrebuju :)
    KAMCATKA
    KAMCATKA --- ---
    Kdyby to nekdo jeste neznal - mozna by se to mohlo objevit i na nastence:

    http://www.emacswiki.org
    KKL2401
    KKL2401 --- ---
    Ale mam dojem, ze jeste neco dalsiho mi vadilo, jenom si nevzpomenu co.
    KKL2401
    KKL2401 --- ---
    GLIN: Ne, prave takhle. Akorat jsem pak mel nejak problem predefinovat to autodoplnovani, co je na C-space defaultne, na neco jinyho. Ale jak rikam, to bylo spis tim, ze jsem delal neco blbe.
    GLIN
    GLIN --- ---
    KKL2401:
    Ad. nesundavani rukou ze zakladni pozice: Naprosty souhlas.
    Ad. Eclipse: Me to normalne funguje, akorat neni vyzualne videt, ze text oznacuju, jinak to pouzivam stejne jako v emacsu tj:
    C-SPACE (set-mark) potom C-f atd. na pohyb - oznacuju text od mark k pozici kurzoru, pak M-w na copy a pak kdekoliv C-y na paste. Nebo oznacujes text jeste jinak?
    ANT_39
    ANT_39 --- ---
    GLIN: ten flymake se fakt da pouzivat? Jeste bych tak veril ze u Ccka nebo takoveho nejakeho jazyka, ale u C++ to musi byt neskutecne pomale...
    KKL2401
    KKL2401 --- ---
    GLIN: Tu emacs-like klavesnici v Eclipsu cas od casu zkousim (ve firme v tom uz pisem dost dlouho a predtim to byl nejakej IBM Visual Age, kterej snad podobnou volbu mel taky), ale i kdyz se to pokazde, kdyz to zrovna zkusim, zlepsi, tak od toho po case utecu ke standardnimu ovladani, neni to proste ono. Na emacsu je dobre to, ze clovek malokdy musi uhnout rukou ze standardniho posazeni prstu v poloze asdf jkl;, protoze i pohyb se s pomoci controlu da ukocirovat bez toho, aby clovek pravou rukou chmatal po kurzorovejch sipkach. To emacs-like chovani to umoznuje sice tak, ale nejak jsem trochu narazil pri oznacovani textu, tam uz to nejak takhle neslo (ale mozna jsem delal neco blbe). A pak tam bylo jeste par dalsich drobnosti (asi i to undo), ktery me presvedcili, ze nez jakysi (byt celkem vydareny) hibrid, tak radsi standardni chovani.
    Ano, prave kvuli javovskejm identifikatorum jsem chtel nejaky kontextovy doplnovani. Byt u identifikatoru to jeste neni tak hrozny - to zvladne i ten neinteligentni M-/ - proste kdyz to nekde uvidi, tak to tam doplacne, ale prave to volani metod na nejakejch objektech, o kterejch toho zas tolik nevim, se hodi (ted treba budu psat neco s pouzitim SWT, to si myslim, ze bude kamen urazu, protoze pochybuju, ze by to JDEE bylo az tak dobry, ze by si umelo sahnout do toho SWT jaru a vytahnout si to API z toho).
    GLIN
    GLIN --- ---
    Jinak na javu, co jsem ted psal mensi projekt jsem se rozhodl, ze prestanu ze 100% manii emacs na vsechno a pouzil jsem Eclipse, a zatim toho teda nelituju. Je tam volba klavesnice emacs-like, takze takova ta zakladni navigace ala C-f, M-f,..., M-d, M-Backspace, C-s, C-r,.... tam funguje (i kdyz to vyhledavani nezviraznuje vsechny vyskyty a undo je tam na F9, coz me vadi asi nejvic..ale jde to prenastavit).

    A proc jsem se tak rozhodl(dlouho odolavam vsemu moznemu) zrovna u Javy? Protoze programovani v jave je takove, ze se identifikatory nezkracujou..to je vypisuji cely "DynamicGameObject", a bez toho dokoncovani bych fakt psal dosti neefektivne (ja vim, kdyz pises program, tak to dodrzovat nemusis, ale zaprve vsechny knihovny jsou tak psany..a za druhe myslim, ze by byla prasarna psat v jave jako v Ccku :) )

    Navic takovy ty veci jako debug na jednu klavesu s vypisovanim call stacku a promennejch apod. je docela komfort... a to podtrhavani kodu je tam taky spolehlivejsi nez ten flymake a umi i naky lehky samoopravy.......i kdyz to jdee ani j-emacs jsem nezkousel, takze nemuzu porovnavat... kdyztak se pochlub, jak se ti s nima vede, nebo pro co jsi se nakonec rozhodl.
    KKL2401
    KKL2401 --- ---
    GLIN: No ja jsem asi ty veci, o kterych hovoris, nainstaloval, ponevadz to JDEE psalo v dokumentaci, ze je mam mit. Jedna z nich mi dela takovou podivnou vec, ze u souboru urcitych typu (napriklad ten Make file, ale i nejake jine) si to zabere uplne vrchni radek a tam se to cosi snazi zobrazovat (zrejme kontext, asi treba v jake je clovek funkci nebo tak, kdyz pise zdrojak). Kazdopadne to funguje nejak podivne a vic me to stve nez cokoliv jinyho.
    Ale predevsim jsem se zatim dostal jenom k nainstalovani, nikoliv k procteni dokumentace a nakonfigurovani, takze nechci predcasne soudit. Kazdopadne kdyz dam System.out. a necham ho doplnit, tak to podle me funguje spravne, ale to je asi jediny, co se mi podarilo rozbehnout, aby doplnil, cokoliv jineho nejak nebezi - obcas zahlasi, ze potrebuje neco naimportovat a skutecne tam na zacatek nejakej import prida, ale i tak to nefunguje, navic tam ten import obcas prida dvakrat (a to i v pripade, ze uz tam jednou je, takze je tam pak i trikrat). Ale rikam, az si o tom budu mit cas trochu neco precist, treba to bude lepsi.
    Ten flymake vypada zajimave.
    GLIN
    GLIN --- ---
    Zdar emacsaci, sem taky jeden z vas.
    KKL2401:
    Podivej se na Emacs Code Browser
    http://cedet.sourceforge.net/
    a
    http://ecb.sourceforge.net/

    (Stejne to pravdepodobne bude potreba na rozchozeni toho JDEE.)
    Dobry je to ECB na rychlou navigaci v kodu (zobrazuje stromove objekty a jejich metody atd).
    Dale pak k tomu samodoplnovani: Ten intellisense screenshot vypada sice velmi pekne, ale bohuzel po dlouhem rozchozovani jsem zjisitl, ze to sice umi doplnovat, ale jen slovo, ktery pises, a nikoliv metody za teckou... a ze by to nak dobre bralo kontex (jako doplnovat jen to co je logicky na danem miste kde jsi), to taky moc ne...ale mozna to jde jeste nastavit...moc jsem se v tom nehrabal.

    Ja ted programoval takovej..rekneme stredni.. projekt v C++ a tohle mi dost pomohlo (ty utility co na tech strankach jsou. (a je tam i to JDEE, ale v jave jsem zatim v emacsu nedelal)

    Dalsi utilitka, ktera mi pomohla je flymake:
    http://flymake.sourceforge.net/
    Dokaze pri psani kodu zvyraznovat chyby, ktery si udelal (funguje to tak, ze se na pozadi spusti make a jeho vystup se zpatky aplikuje na kod, kterej pises. Jde si taky nastavit klavesy, aby to skakalo po tech chybach (ala dalsi chyba, predchozi chyba)
    Aby to chodilo, tak musis do Makefilu jeste pripsat neco jako:
    check-syntax:
    $(CC) -o nul -S ${CHK_SOURCES} $(CFLAGS)
    (ten make se vlastne spousti s parametrem check-syntax)
    Samozrejme to ze se ti to kompiluje na pozadi taky trochu spomaluje.
    KKL2401
    KKL2401 --- ---
    DAVE_PAGE: To vypada dobre. Az ja se taky dokopu to tu prolezt a obcas nejaky ty odkazy hodit na home…
    ANT_39: Ano, i jako soucast Makefile me to napadlo a zkousel jsem to. Spis mi slo o to, co kdo pouziva, jestli tam nenajdu neco, co uz nekdo vymyslel a mne by to absolutne vyhovovalo.
    DAVE_PAGE
    DAVE_PAGE --- ---
    DAVE_PAGE
    DAVE_PAGE --- ---
    KKL2401: konecne se zde neco deje ;-)) Ale ohledne te podpory pro Javu...tak zkus tohle http://jdee.sunsite.dk/ ... nevim co vse to umi. ale stranky napovidaji ledacos.... budu to muset taky vyzkouset.
    ANT_39
    ANT_39 --- ---
    KKL2401: hm, tak to ti neporadim, me to tak perfektne vyhovuje. Jinak muzes mit spusteni programu soucasti makefile...
    KKL2401
    KKL2401 --- ---
    ANT_39: Tomu prepinani do konzole jsem se prave chtel vyhnout.
    ANT_39
    ANT_39 --- ---
    KKL2401: to kontextove doplnovani by se mi taky hodilo :)
    M-x compile mam na F9.
    Takze F9-enter preklad, Alt-tab do console, sipka nahoru, enter spusteni programu.
    KKL2401
    KKL2401 --- ---
    Tak jsem po delsi dobe zase tu.
    Doted jsem vesmes pouzival emacs pri hratkach s webem, ale ted se budu brzo poustet do trosku novejsich vod - normalni programovani, abych tak rekl. Tedy ne, ze bych v emacsu jeste nikdy zadnej zdrojak nepsal, ale dosud to byly spis mensi veci, tohle bude asi trochu narocnejsi. Takze bych mel par dotazu.
    Lze nejak emacs primet pri psani zdrojaku objektovych jazyku (v mem pripade asi java), ke kontextovemu doplnovani - tj. napisu jmeno objektu a tecku a ono mit o nabidne, co na tom objektu lze zavolat za metody? Myslel jsem si, ze tohle je vysada takovych tech silenych IDE, ktery ja nerad (byt eclipse neni tak spatny, ale emacs je emacs), jenze zjistil jsem, ze treba VIM tohle umi, tak si rikam - co umi VIM, emacs by mohl taky. Tak jak to je?
    Otazka druha - kam mate nabindovano M-x compile? :-)
    Treti vec - poustite prave prelozeny program nejak rovnou z emacsu? Jak? Tedy ne, ze bych vubec nevedel jak, ale spis jestli jste si to nejak usnadnovali (zase treba na nejakou klavesovou zkratku). A vubec nejaky takovy finty a hinty ohledne techto zalezitosti a jejich programovani v emacsu by se mi hodily. Abych se proste co nejmene musel prepinat do nejakych jinych programu.
    KUBIIK
    KUBIIK --- ---
    Tohle mi napsal Emacs

    Warning: memory in use exceeds lisp pointer size
    Killing some buffers may delay running out of memory.
    However, certainly by the time you receive the 95% warning,
    you should clean up, kill this Emacs, and start a new one.


    bylo to při pokusu o otevření "alt.binaries.sounds.mp3.1990s" pod gnus, obsahující 109359 příspěvků
    všechno má svý meze ;-)
    ANT_39
    ANT_39 --- ---
    MRUCH: hm, mam obavu ze nez prolizat celej emacsi manual, to radsi zatnu zuby a budu to prerovnavat rucne :-/
    Kazdopadne diky, kdyz na neco prijdu tak to tu zverejnim.
    Kliknutím sem můžete změnit nastavení reklam