No neblázni :D Já teď chci zareagovat na ten Tvůj dotaz ohledně ne-jen-patternmatching orientace ve zdrojáku, a ten už není mezi novými :/
Tak tady:
Já toho moc nepoužívám, pro mne je nejpřijatelnější základní možnost, a tou jsou exuberant-ctags, tedy pohyb v kódu jako v hypertextovém dokumentu. Čili když se někde něco volá, tak se do té metody teleportuju, nebo si ji jen nahlédnu v jiném okně, nebo prohlédnu jen kontext její deklarace a podobně, pak samozř. tradiční sloupcové menu souborů a deklarací/metod/atd.
Čili pohyb je "po metodách" , "po deklaracích", definicích, makrech a jánevimčem, případně stejnětak přímočaře se dostanu do manuálu popisující danou fci, pokud nevím jestli to dělá to co si myslím.
Pro doplňování kódu používám intellisense/omnicomplete, což je vlastně jistý způsob navigace podle metod třídy třeba, s ohledem na to že je vidět i kontext (info o té nabízené metodě) prostě klasika. Chybí mi akorát nějaké rozumné zpracování "object literal/JSON" syntaxe, čili třeba js na web se píše špatně. ***Neví někdo o nějakém tagovači takto strukturovaného kódu???***
Pro analýzu C používám výjimečně spolupracující cscope, to když mermomocí potřebuji vědět netaktní informace jako třeba které všechny fce a-z volají jinou fci µ. Ale fakt jen jednou do roka.
Nejraději mám automatické přepínání mezi *.c a *.h případně by se to možná hodilo i pro nějaké tři tentononcy v případě MVC ale to jsem zatím nezkoušel.
To je asi vše, hodně používám taby v kombinaci s bufferama, čili v každém tabu mám nějakou konkrétní oblast zájmu a ty ostatní v podstatě nevidím, protože mne nezajímají, sloupcové menu s odkazy na zdrojáky v projektu nebo metody v nich lze samozř. vyvolat vždy.
U debugeru normálně pohyb po chybách, klasika.
Také dost používám záložky, ale to už se moc netýká navigace. Opět se velmi snadno vytváří bez potřeby použití myši.
Jako dlaší OT vítám možnost používat "skorointeligentní" indentaci, protože já používám !na začátku! řádku taby (a nikde jinde) a kdejakej moula tam cpe X mezer, nejlépe až osm pro jedno hloupé odsazení (a taby cpe chaoticky dle potřeby někam na konce řádky), tak mi to aspoň umožní se chovat slušně vůči ostatním a moc to nemrvit, když to je sdílený kód.
P.S. Myslím že délku této diskuze by mohl překonat jen flame taby/spaces. No i když předpokládám, že v dnešní době každý ví, že jediné správné řešení™ je indentace pomocí ^I. Dvě a více mezer, případně 3, 4 nebo 8, nebo 6 či jiné správné číslo™ je jen pro nezasvěcené. (Osobně používám jeden tab o vizuální šířce 2 mezer, což je asi celkem obvyklé).
Poněkud jsem odbočil, ale pro tu navigaci v kódu mi opravdu nejlépe vyhovuje hypertransport ala hypertext či náhledy, seznamy metod atd. pak na druhém místě, přepínání mezi .c a .h na místě třetím, všelijaké ty metody doplňování včetně slovníku synonym :D někde mezi, ale to je vlastně ten čistý patternmatching.