Szervusztok!
Vim (szigorúan nagy kezdő betűvel) vagy parancssorban időnként megbolondul a screen. Nem nyomtatható karaktert mutat bizonyos mozgásoknál, tab, illetve pl. insert mode-ba váltáskor is, de pl. egy üres sor esetén ha backspace-t ütök akkor előáll a jelenség.
A kurzor alá egy g betű fölé írt négyzetes karaktert hozott össze minden esetben. Vezérlő karakternek tűnik. :(
Próbáltam "en_US.UTF-8","en_US:en" language beállításokat is, de sajnos nem segít.
7-es és 8-as Debian-on is próbáltam, de sajnos teljesen azonos a viselkedés.
A /etc/screenrc alap mindenütt, ilyet látok benne:
deflogin on
vbell on
vbell_msg " Wuff ---- Wuff!! "
defscrollback 1024
bind ^k
bind ^\
bind \\ quit
bind K kill
bind I login on
bind O login off
bind } history
termcapinfo vt100 dl=5\E[M
hardstatus off
termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007
hardstatus string "%h%? users: %u%?"
termcapinfo xterm*|linux*|rxvt*|Eterm* OP
termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
defnonblock 5
Mit érdemes állítani?
Köszönöm előre is!
vfero
Update: Vi->Vim
- 2194 megtekintés
Hozzászólások
Senki nem használ már ilyet?
- A hozzászóláshoz be kell jelentkezni
screen-t használok, vi helyett vim-et preferálom, de nincsenek ilyen anomáliáim.
Mi a $TERM a screen-ben? Esetleg egy próbát megér az "export TERM=vt100", hátha megoldja a problémádat...
--
http://eVIR.hu
Elektronikus Vállalatirányítási Információs Rendszer
- A hozzászóláshoz be kell jelentkezni
A $TERM-ben screen van már, vt100 helyett viszont vt102-t gondolok. Vélemények? Tovább megyek: a promptom így néz ki, lehet hogy ez kever be neki?
rcPrompt() {
rc=$?
if [ $rc -eq 0 ]
then
PS1="\e[0;33m\d \t \033[1;32m${rc} \e[0;31m\u\e[1;37m@\h:\e[0;32m\w\e[0;33m \e[0;37m\n"
else
PS1="\e[1;33;41m\d \t \033[1;37;40m ${rc} \e[1;31;41m \u\e[1;37;41m@\h:\e[1;32;41m\w\e[0;33m \e[0;37m\n"
fi
}
PROMPT_COMMAND=rcPrompt
Köszönöm!
vfero
- A hozzászóláshoz be kell jelentkezni
A vi problémán nem segít, de a PS1-ben a nem nyomtatható karaktereket (escape szekvenciákat) tedd \[ \] közé, különben a bash parancssor szerkesztése teljesen széteshet.
- A hozzászóláshoz be kell jelentkezni
Köszönöm, tapasztaltam, de megoldani csak workaroundképp tudtam a sortöréssel. Meg fogom próbálni. vfero
- A hozzászóláshoz be kell jelentkezni
Ellenkezőleg, biztos vagyok abban, hogy rengetegen használják.
De az események követéséhez jó volna tudni, hogy milyen terminálemulátort használsz, hogy a screen lokálisan fut, vagy ssh/telnet/mittomén sessionben, hogy a Vi tényleg Vi vagy a ViM kompat módja, hogy a screen startja előtt mi TERM/LC_*/LANG értéke, hogy a screen kap-e -T paramétert induláskor, hogy próbáltad-e a screen reset funkciójával mederbe terelni az eseményeket.
Nem állítom, hogy mindez kell a távgyógyításhoz, de ezek teljes hiánya mellett csak annyit tudhatsz meg sok példányban, hogy "pedig nekem megy", azzal meg nem vagy kisegítve.
- A hozzászóláshoz be kell jelentkezni
A screen-t javarészt ssh sessionben használom. A vi persze vim.basic, a TERM értéke screen, az LC_* mindig minden fixen egyformán en_US:en illetve próbáltam en_US.UTF-8 képp is, amiket a LANG-al egyetemben állítok.
A kód részlet így néz ki:
LANGUAGE="en_US.UTF-8"
LC_ALL="${LANGUAGE}"
LC_PAPER="${LANGUAGE}"
LC_ADDRESS="${LANGUAGE}"
LC_MONETARY="${LANGUAGE}"
LC_NUMERIC="${LANGUAGE}"
LC_TELEPHONE="${LANGUAGE}"
LC_IDENTIFICATION="${LANGUAGE}"
LC_MEASUREMENT="${LANGUAGE}"
LC_TIME="${LANGUAGE}"
LC_NAME="${LANGUAGE}"
LANG="${LANGUAGE}"
Persze a locale.gen-ben beállítva, és legenerálva így:
# dpkg-reconfigure locales
Köszönöm a segítséget!
vfero
- A hozzászóláshoz be kell jelentkezni
Még a terminálemulátorra volnék kíváncsi, hogy azzal próbáljam meg elrontani a saját környezetemet. Eddig nem sikerült.
- A hozzászóláshoz be kell jelentkezni
Jó reggelt a korán kelőknek is! ;) Kiszedtem a színes prompt-ot is, sajnos nem segített ez sem. :( gnome-terminal-ról indul a kapcsolat.
Köszi +1x! ;)
vfero
- A hozzászóláshoz be kell jelentkezni
Szintén jó reggelt!
Így TERM=screen mellett tényleg sikerült némi maszatot elérnem.
Amint TERM=xterm vagy TERM=ansi volt porondon, nem tudtam reprodukálni.
- A hozzászóláshoz be kell jelentkezni
OTT a PONT! A jelenség megszűnik pl. az xterm-ben! Köszönöm szépen a segítséged!
vfero
- A hozzászóláshoz be kell jelentkezni
Hálistennek!
Örülök, hogy jól indul a hétvége. :)
- A hozzászóláshoz be kell jelentkezni
Nálam minden oké a vim-el (akár vi-ként indítva) screen-be (Ubuntu-n).
De ha esetleg vmi szemét kerül a képernyőre (vmi background process ír az stdout/stderr-re),
akkor a szokásos képernyő refresh megtisztítja: Ctrl+L (ez amúgy is hasznos bármilyen terminálon.)
- A hozzászóláshoz be kell jelentkezni
Köszönöm, a törlést próbáltam, de nem segített rajta. ;)
- A hozzászóláshoz be kell jelentkezni
off: tényleg vi-t használsz...?
vim-mel nekem is minden rendben, bár én tmux-szal használom.
- A hozzászóláshoz be kell jelentkezni
persze, szim.linkekkel a vi és a vim is a /usr/bin/vim.basic binárisra mutat. ;)
Kösz! vfero
- A hozzászóláshoz be kell jelentkezni
Ennyi erovel az `ex` is a vimre mutat, megsem mondjuk azt, hogy ex-et hasznalunk...
- A hozzászóláshoz be kell jelentkezni
Köszönöm, azt sem tudtam, hogy létezik ilyen egyáltalán, de ma is érdemes volt felkelnem! vfero
- A hozzászóláshoz be kell jelentkezni
De itt nem ez a lényeg, hanem az, hogy a látszat ellenére nem a vi-t használod, hanem csak kényelmi okokból vi-nak elnevezett vim editort.
A vi-t legjobban akkor közelíted meg, ha beírod, hogy
:set compatible,
de még így is "túl szép és jó" marad.
Ezt csak azért érdemes tudni, hogy ne sokkoljon, ha egyszer olyan helyre logolsz be, ahol tényleg csak vi van. Persze aki ki tud belőle lépni, az már nem lehet elveszett ember, de azért más a fíling, ha az ember ujjai a vimet tudják.
- A hozzászóláshoz be kell jelentkezni