Sudda framåt

Det är antagligen många som stör sig av att DEL-knappen inte suddar framåt som i Windows. Det finns flera lösningar på detta.
  1. Lär dig göra 'C-d' istället, som är den traditionella terminal-metoden.
  2. Upptäck att 'shift-backspace' utför det du förväntar dig.
  3. Använd ett snitsigt emacs-uttryck för att binda om DEL-knappen till en lämplig funktion:
    (global-set-key [(delete)] 'delete-char)
    Det här uttrycket lägger man i sin .emacs eller evaluerar det med 'M-x eval-expression'.

    Överkurs:

    Lägg märke till att jag inte representerar DEL-knappen med en sträng som i förra tipset. Att använda en sträng är tydligen (jag har nu läst i manualen) "gammal" notation som bara används av "ur-emacs" från FSF (men som fortfarande troligen är den mest spridda varianten). I Xemacs (som ni använder därför att den passar bättre in i CDE) så har man en ny fin notation där hakarna markerar början och slut på en sekvens av tangent-nedslag som i sin tur representeras av några symboler.
Ett argument för den första metoden är att de andra metoderna inte hjälper dig i terminal-fönstret och i andra program. Antagligen finns det en bra metod som ger dig den här funktionaliteten även i övriga CDE, men jag har ingen aning om hur man ordnar det.

Nytt!

På övningen påpekade någon att detta tips inte fungerar: Så fort man hämtar in en fil så försvinner bindningen. Efter vad jag kan se så gäller detta C-filer. Anledningen är följande.

Emacs skiljer på lokala och globala tangentbindningar (keymaps). Funktionen ovan binder DEL globalt. En global bindning syns ej om en lokal tangentbindning finns som gömmer den globla. Nu visar det sig att C-moden definierar DEL till en funktion c-electric-delete som går och kollar värdet av en variabel delete-key-deletes-forward. Om dess värde är 'nil' så suddar den bakåt, annars suddar den framåt. Därför löser man detta problem med att sätta variabeln till vad som helst, säg 17:

(setq delete-key-deletes-forward 17)

En annan student påpekade att man långt ner under "options"-menyn kan hitta ett val som tar hand om detta problem utan att själv behöva underhålla en .emacs-fil (det man måste komma ihåg att göra är dock att välja "save-options" under samma meny). Gå ner under Options->Customize->Emamcs->Editing->Basics och välj "Delete key deletes forward".


Lars Arvestad
Last modified: Tue Nov 24 15:33:16 MET 1998 Z