• ú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
    Tento klub jsem zalozil, aby slouzil zhruba ke stejnym ucelum jako WRAITHova poradna ohledne VIMu na Mageu. Bohuzel narozdil od nej, ktery VIMu opravdu dobre rozumi, ja moc velke znalosti emacsu nemam, nicmene doufam, ze se treba spolecnymi silami tu a tam neceho dobereme.
    rozbalit záhlaví
    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.
    MRUCH
    MRUCH --- ---
    ANT_39: tak v tomhle je se nevyznam, veskere me pokusy neco upravit docela ztroskotaly ;) zkus kouknout sem, pokud si to jeste nezkoumal..
    http://cc-mode.sourceforge.net/html-manual/Syntactic-Analysis.html
    http://cc-mode.sourceforge.net/html-manual/Customizing-Indentation.html

    pripadne nejak prolizt celej ten manual ;) dej vedet, jestli neco vymyslis, tohle me taky docela zajima..
    ANT_39
    ANT_39 --- ---
    Hm, tak jinak. Duvod proc nechci automaticke zarovnavani je ten, ze celkem casto pisu kod podobny tomuto:
    std::for_each( container.begin(), container.end(), fcpp::ptr_to_fun( &Foo::foo ) );
    Jenze emacs si mysli, ze nejlepsi napad je druhy radek zarovnat pod prvni zavorku prvniho radku. Jde to nejak vypnout? Ono to syntakticke zarovnavani ma i jine neduhy, ale tohle me stve asi nejvic...
    ANT_39
    ANT_39 --- ---
    MRUCH: Slozenice jest '{'. Ukazu na prikladu. Mam nasledujici kus kodu - teda, chci mit:
    class SomeClass : public SomeBase { } Pominu jak to bude vypadat s c-syntactic-indentation, to se rozhodi uz to dedeni. I bez c-syn-in mi to vsak tu prvni slozenou zavorku zarovna na uroven tech dedicnosti, coz ja nechci. Podobne to dopadne i v nasledujicim pripade: void some_method() { if ( ... ) { // bla bla } }
    Radka s ifem se samozrejme poslusne zarovna, aby licovala s tou predchozi, coz je presne to co nechci. Jestli ti to nedela, tak se to mozna nastavuje neke jinde... mimo c-mode (ale to nedava smysl). Snad najit nejake electric-brace-behavior... budu googlit :)
    MRUCH
    MRUCH --- ---
    ANT_39: no bud Te spatne chapu, nebo.. se mi to nikam nijak nezarovnava.. slozenice jest '{' nebo '}' ?
    ANT_39
    ANT_39 --- ---
    MRUCH: Pisu v c++-mode. To co radis jsem zkousel. Vskutku uz skoro nezarovnava, krome pripadu kdy napisu slozenici, to radek zarovna do lajny s predchozim. :-(
    By clovek neveril jak ho bude stvat takova sikovna pomucka...
    MRUCH
    MRUCH --- ---
    ANT_39: nevim v cem pises, ale pravdepodobne to bude stejny/podobny: M-x set-va<TAB><RET>c-syn<TAB><RET>nil<RET> ;D
    ANT_39
    ANT_39 --- ---
    Hm, tak jsem se zkusil vim, jedit, nedit, a pokorne se vracim zpet k emacsu. Ne ze by mne nestval - zrovna ted bych uvital kdyby nechal svych chytracinek a prestal mi automaticky zarovnavat kod :-/

    Kazdopadne, jeden uzitecny odkaz:
    http://astron.berkeley.edu/~robishaw/comp/emacs.html
    MRUCH
    MRUCH --- ---
    C-M-% query-replace-regexp
    AHARAZ
    AHARAZ --- ---
    Prosim, jak na replace-regexp od znacky az ke kurzoru?
    DAVE_PAGE
    DAVE_PAGE --- ---
    KKL2401: jj... C-c % C-b preparseruje celej buffer
    KKL2401
    KKL2401 --- ---
    DAVE_PAGE: Tim jsem chtel rict, ze kdyz das C-h m, tak Ti to popise zapnute mody, tudiz je mozne, ze tam tu funkci nekde uvidis. Taky je mozne dat C-c C-h a podivat se. Nebo je mozno dat C-h a - tam zadat mmm a odenterovat. Nebo dat M-x mmm TAB a podivat se na seznam vsech funkci, co zacinaji mmm. Nebo se podivat do dokumentace k tomu mmm-modu.
    DAVE_PAGE
    DAVE_PAGE --- ---
    KKL2401: nevim...;-(...je to ale docela mozny...ale ja nejsem rozhodne emacspert...
    KKL2401
    KKL2401 --- ---
    DAVE_PAGE: Aha jasne. A nema na to ten mmm-mode nejakou funkci, ktera to projde a znova prechrousta? Ja mam pocit, ze tam neco takovyho je.
    DAVE_PAGE
    DAVE_PAGE --- ---
    KKL2401: ...tak...vcera jsem napsal par radek v PHP/HTML a nejaky trepky tam sou ;-)... treba tahle:
    Nactu otevru nejakej existujici php file....ten se obarvi tak jak bych to cekal (php jina, html jina a css jinak) ale pokud treba blok php rozdelim na dva a vlozim mezi ne HTML tak to je porad oznaceno jako PHP ;-( ... zkousel jsem vypnout a zapnout barveni, ale to nepomohlo...
    Kliknutím sem můžete změnit nastavení reklam