Toon posts:

PgUp in vi(m) op solaris -> letters uppercase

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als ik in vi of vim op Solaris op PgUp of PgDn druk, dan wordt het karakter onder de cursor naar uppercase omgezet. Erg irritant dus, want ik wil deze knoppen gebruiken om door m'n tekst heen te scrollen, zoals dat in Linux wel gebeurd.

Hoe los ik dit op? Heeft het te maken met het terminal-type ( $TERM ) , of met keyboard-mapping?

  • jeroen|IA
  • Registratie: Juni 1999
  • Laatst online: 26-05-2025
Blijkbaar genereren die toetsen een "~", de shortcut om in vi(m) het karakter onder de cursor van case te laten verwisselen. Wat je hieraan kunt doen hangt af van de terminal waarin je vi gebruikt, als dat een xterm is (wat ik aanneem) dan kun je met xmodmap aan de slag. Met "xev" kun je zien wat voor code een toets genereert, en met xmodmap kun je vervolgens de functie veranderen.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16-08 16:08

deadinspace

The what goes where now?

Ik weet niet of dat wel mogelijk is met de Solaris vi. Deze vi is een echte vi, niet een moderne herimplentatie (zoals vim, die je vaak op GNU/Linux systemen vindt wel is).

Verwijderd

Je krijgt een hoofdletter omdat je page-up of down toets een escape sequence genereert, waarschijnlijk met o.a. een tilde er in. De sequence begint met escape waardoor je in command mode komt. Een tilde (~) verandert het karakter onder de cursor van hoofd naar kleine letters of andersom.

Om het op te lossen kan je een mapping maken voor page up en down.

Doe maar eens zoiets...

:map (druk op control V)(druk op pageup) (druk op control V)(druk op control B)

(de haakjes en wat er tussen staat niet intypen maar uitvoeren wat er staat natuurlijk)

Nu zal pageup in command-mode werken zoals je wil. Doe hetzelfde met :map! voor hetzelfde effect in insert-mode.

Voor pagedown gebruik je niet control B maar control F.

Om deze instellingen altijd te hebben moet je de map commando's in een file genaamd .exrc zetten, in je $HOME directory (of .vimrc als je niet vi maar vim gebruikt). De dubbele punt voor map moet je dan weglaten.

Verwijderd

Topicstarter
Bedankt! Ik ga het proberen, na het weekend.