vim HOME/END nem működik, TERM para

Fórumok

Azzal a problémával állok szemben, hogy nem tudok normális beállításokat találni a terminálnak. (Gnome Terminal vagy xterm + screen)

Ubuntu 8.04 (32bit) -et ahsználva a TERM változónak csak két majdnem normális beállítást találtam:

screeen-w: Ezzel tökéletesen megy. Egy ideig. Nem világos számomra mi váltja ki, de egyszercsak megbolondul. Random helyekre beszúrja a "≤g" karaktereket, szétcsúszik a többsoros input, és néha megjelenik ugyan az input a terminálon, de RETURN-nyomva a bash: command not found olyan parancs nem létezésére panaszkodik, amiből hiányzik néhány karakter, amit korábban leütöttem (és a monitoron is megjelent).

linux: Ezzel eddig egyetlen egy bajom van (de legalább ettől eltekintve stabil): elég sok programban (nvi, vim, mc, telnet...) az END helyett egy E, míg a HOME helyett egy F (gondolom feed) szúródik be. Sőt! vi(m) ben még előtte képes insert módba is átmenni...

Ti milyen TERM-et használtok? Találkozott valaki ilyennel korábban?

Előre is köszi a tippeket.

Hozzászólások

Sajnos ötletem nincs, csak annyit tudok elmondani, hogy nálam működik.
Igaz ez Debian Etch.

Grafikus felületen:


fifi@blackdragon:~$ env | grep TERM
TERM=rxvt-unicode
COLORTERM=rxvt-xpm

Konzolon (karakteres terminál):


fifi@blackdragon:~$ env | grep TERM
TERM=linux

SSH-val belépve és egy screenre csatlakozva:


fifi@blackdragon:~$ env | grep TERM
TERM=screen
TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\

Ez inkább nem billentyűzet-definiálási probléma lehet, mint TERM?


$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

Ez neked maskep nez ki?
gvim -ben is vannak problemak ?

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

$HOME/.inputrc fájlodba mazsolázz az enyémből:


# /etc/inputrc: initialization file for readline
#
# For more information on how this file works, please see the
# INITIALIZATION FILE section of the readline(3) man page
#
# Quick dirty little note:
#  To get the key sequence for binding, you can abuse bash.
#  While running bash, hit CTRL+V, and then type the key sequence.
#  So, typing 'ALT + left arrow' in Konsole gets you back:
#    ^[[1;3D
#  The readline entry to make this skip back a word will then be:
#    "\e[1;3D" backward-word
#

# do not bell on tab-completion
set bell-style none
# zsh style tab-completion:
# https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux
set show-all-if-ambiguous on

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

# Completed names which are symbolic links to
# directories have a slash appended.
set mark-symlinked-directories on

$if mode=emacs

# for linux console and RH/Debian xterm
# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# mappings for "page up" and "page down" to step to the beginning/end 
# of the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward
# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert
# # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word

# gnome-terminal (escape + arrow key)
"\e[5C": forward-word
"\e[5D": backward-word
# gnome-terminal (control + arrow key)
"\e[1;5C": forward-word
"\e[1;5D": backward-word
# konsole / xterm / rxvt (escape + arrow key)
"\e\e[C": forward-word
"\e\e[D": backward-word
# konsole (alt + arrow key)
"\e[1;3C": forward-word
"\e[1;3D": backward-word
# konsole (control + arrow key)
"\e[1;3C": forward-word
"\e[1;3D": backward-word
# aterm / eterm (control + arrow key)
"\eOc": forward-word
"\eOd": backward-word

$if term=rxvt
"\e[8~": end-of-line
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif

# fix Home and End for German users
"\e[7~": beginning-of-line
"\e[8~": end-of-line