seth: linux-terminal mit shift-right != right

gudn tach!

wenn man in vim "w" drueckt, bewegt man den cursor ein wort weiter. laut hilfe ":help w" sollte das aber auch mit <S-Right> gehen. tut's bei mir aber nicht, sondern <S-Right> hat den gleichen effekt wie ein einfaches <Right>. ich denke aber, dass das nicht an vim selbst, sondern am verwendeten terminal liegt. (stimmt das soweit?)

tja, und deswegen lauten meine fragen: welche terminals koennen <S-Left> von <Left> unterscheiden? muss ich dafuer termcap aendern? wie stelle ich das ein?

prost
seth

  1. Hallo seth,

    ... welche terminals koennen <S-Left> von <Left> unterscheiden?

    in Eterm funktioniert es bei mir mit den Standardeinstellungen.

    Gruß,
    Benne

    --
    ie:% fl:( br:> va:) ls:> fo:| rl:° ss:) de:[ js:| ch:| mo:} zu:)
  2. Ich verwende Debian mit KDE und da ist Shift-Left bzw. Shift-Right so voreingestellt, dass zwischen mehreren Konsolen gewechelt wird welche in Tabs übereinander liegen.

    Gruss Simon

  3. gudn tach!

    ich sollte vielleicht noch ergaenzen, dass ich moeglichst allgemeine loesungen suche, da ich mit verschiedenen systemen (versch. linux-distr., mal mit kde, mal mit gnome und auch ms-windows(!)) arbeite. erschwerend kommt noch hinzu, dass ich nicht immer die moeglichkeit habe, mich als admin anzumelden, also zusaetzliche software zu installieren.

    eine moeglichkeit, die ich bisher eruiert habe, ist:

    xterm -xrm 'XTerm*VT100.translations: #override \n\ Shift <Key>Right: string(0x1b) string("w") \n\ Shift <Key>Left:  string(0x1b) string("b") \n\ Ctrl <Key>Right:  string(0x1b) string("W") \n\ Ctrl <Key>Left:   string(0x1b) string("B")'

    das habe ich in cygwin mit einem X-server von Xorg erfolgreich getestet.
    aber das gefaellt mir noch nicht, da ich dafuer X oder sowas brauche, was ich aber nicht immer zur verfuegung habe.

    um mal ein konkretes beispiel zu nennen:
    in windows 2000 habe ich cygwin installiert und kann (auch ohne vorher cygwins bash zu starten) einfach mit "c:\programme\cygwin\usr\bin\vim.exe" vim starten und benutzen. leider werden aber in vim die tastenkombinationen <C-Left> und <S-Left> bloss als <Left> angesehen. ein ":map <C-Left> irgendwas" aendert da auch nix dran.
    ":set t_%i", was eigentlich <S-Right> ausgeben sollte liefert ein "unknown option t_%i".
    "^V<S-Right>" im insert-modus liefert dasselbe wie "^V<Right>", naemlich "^[[C".
    und ich habe keine ahnung von dem kram, aber bin schon ganz weich geworden in der birne von den vielen dingen, die ich im web gefunden habe und die mir nix gebracht haben.
    ich gehe jetzt jedenfalls ins bett und werde wohl von so ekligen sachen wie t_%i und t_#4 traeumen.

    prost
    seth

    1. gudn tach!

      fuer windows 2000 konnte ich das problem jetzt loesen, indem ich ein vim speziell fuer windows (ohne den umweg ueber cygwin) installiert habe.

      http://www.vim.org/download.php#pc -> vim63rt.zip und vim63w32.zip.

      da klappt alles, warum auch immer.
      (btw.: ich empfehle bei der optionalen(!) installation entweder nicht die datei _vimrc anlegen zu lassen oder sie wenigstens anschliessend von der zeile "behave mswin" zu befreien.)

      prost
      seth