Su alcune macchine Linux, quando uso vim, posso usare il pulsante PageDown, PageUp, Home, End senza problemi. Tuttavia su alcune altre macchine, questi pulsanti mi danno personaggi funky.
Perché è quello e cosa posso fare?
Grazie!
Su alcune macchine Linux, quando uso vim, posso usare il pulsante PageDown, PageUp, Home, End senza problemi. Tuttavia su alcune altre macchine, questi pulsanti mi danno personaggi funky.
Perché è quello e cosa posso fare?
Grazie!
Risposte:
Presumo che tu stia eseguendo vim in un terminale piuttosto che nella versione GUI, gvim.
Terminali diversi inviano caratteri o sequenze di caratteri diversi alle applicazioni in esecuzione al loro interno quando l'utente digita un tasto di movimento come PageDown. Per determinare l'insieme di caratteri o sequenze di caratteri che il terminale corrente sta inviando per rappresentare quelle chiavi, Vim consulta il database terminfo. Utilizza la variabile di ambiente TERM per determinare il tipo del terminale corrente, quindi accede alle definizioni terminfo di quelle chiavi utilizzate da quel terminale.
Se le definizioni chiave per il valore corrente di TERM corrispondono alle capacità del terminale corrente, tutto funziona correttamente. Se il valore di TERM non è corretto per il tuo terminale, o se il database terminfo è incompleto o mancante, Vim non sa come interpretare i caratteri o le sequenze di caratteri inviati dal tuo terminale, quindi inserisce semplicemente i caratteri nel tuo testo o li interpreta come comanda Vim.
La causa più probabile del problema è che TERM non è impostato correttamente per il terminale in uso. La soluzione più semplice è scoprire che tipo di terminale stai usando, trovare il nome terminfo per esso in / usr / share / terminfo o / usr / lib / terminfo e inserire una linea come questa nel tuo ~ / .bashrc:
export TERM=thetermifoname
Per esempio,
export TERM=xterm
La mia prima ipotesi è che su alcune macchine Linux, stai funzionando in modalità "nocompatibile" che abilita molte funzionalità extra di Vim tra cui i tasti freccia e simili, ma quelli in cui i tasti non funzionano non lo sei.
Vim entra automaticamente in modalità "nocompatibile" quando si dispone di ~ / .vimrc, ma alcune distribuzioni installano un sistema vimrc che imposta l'opzione 'nocompatible', anche senza un ~ / .vimrc.
Vedere:
:help 'nocompatible'
(Con le virgolette singole.)