/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
emacs automatisering (eller måske vim?)
Fra : Niels Andersen


Dato : 01-07-01 09:19

Når jeg sidder og piller ved PHP-filer er der et par ting emacs må kunne
klare... Eller måske er det nemmere i vim? Jeg overvejer at skifte...
Anyway, det jeg ønsker er:

tabs skal være 4 "tegn" brede. Når jeg åbner en PHP-fil skal alle "4 x
mellemrum" i starten af linjerne konverteres til en tab, og når jeg gemmer
skal alle tabs konverteres til "4 x mellemrum". Dvs. jeg skal kun trykke 1
gang på pil-til-højre for at komme 1 indentering mod højre.

Og så vil jeg gerne have lidt hjælp til mine linjeskift og så'n. :) Jeg
mener at have prøvet følgende i en eller anden editor, men kan ikke huske
hvilken.
Det simple er, når jeg trykker "enter" vil den nye linje automatisk have
samme indentering som den forrige. Undtagen hvis den forrige linje blot
består af "}" (med indentering foran), så skal den nye linje have en tab
mindre.

Faktisk må det gerne være sådan, at når jeg trykker "}", så skifter den også
selv linje.

Og når jeg skriver (tab vises med ->):

->function foo (whatever)

må den gerne lave de næste par ting automatisk, så det bliver til:

->function foo (whatever)
->{
->->

Det er lige de ting jeg kan komme i tanker om ville være rare, og det er
vist i rækkefølge efter sværhedsgrad... :)
Og jeg føler mig overbevist om at det hele kan lade sig gøre...

--
Mvh.

Niels Andersen




 
 
Jacob Bunk Nielsen (01-07-2001)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 01-07-01 12:49

"Niels Andersen" <niels-usenet@myplace.dk> writes:

> tabs skal være 4 "tegn" brede. Når jeg åbner en PHP-fil skal alle "4 x
> mellemrum" i starten af linjerne konverteres til en tab, og når jeg gemmer
> skal alle tabs konverteres til "4 x mellemrum". Dvs. jeg skal kun trykke 1
> gang på pil-til-højre for at komme 1 indentering mod højre.

Hmmm, det må man kunne skrive noget eLisp til.
Jeg er desværre (endnu) ikke den store eLisp-hacker :-\

> Og så vil jeg gerne have lidt hjælp til mine linjeskift og så'n. :) Jeg
> mener at have prøvet følgende i en eller anden editor, men kan ikke huske
> hvilken.

Jeg har kørt med noget lignende i c-mode, men slog det fra, da jeg
synes det var irriterende. I min c-mode-hook havde jeg:
(c-toggle-auto-state 0)

Så prøv noget i retning af:
(add-hook 'php-mode-hook
(function (lambda ()
(c-toggle-auto-state 0)
(turn-on-font-lock)
)))

> Det simple er, når jeg trykker "enter" vil den nye linje automatisk have
> samme indentering som den forrige. Undtagen hvis den forrige linje blot
> består af "}" (med indentering foran), så skal den nye linje have en tab
> mindre.

Det har man allerede i det PHP-mode jeg bruger. Jeg fandt det engang
på <http://www.challenge.dk/~madsdyd/linux/php-mode.el>. Det er vist
lidt tilpasning af noget c-mode, uden at jeg har kigget nærmere på
det.
Nu så jeg så lige at der er nogle der har lavet noget fint på
<http://sourceforge.net/projects/php-mode/>. Det må jeg lige prøve ved
lejlighed.

> Og når jeg skriver (tab vises med ->):
>
> ->function foo (whatever)

Hmmm, det kan jeg vist ikke hjælpe med. Men prøv evt. at spørge i
news:comp.emacs, der sidder nogle rigtige Emacs-hajer

--
Jacob
"An NT server can be run by an idiot, and usually is." -- Tom Holub

Olicom Crossfire 8400 switch til salg, send et bud ...

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408887
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste