diversi comportamenti di vim


2

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!


Sembra che abbiamo bisogno di ulteriori informazioni. Quale versione di Vim hai sulle varie macchine? Esistono diverse configurazioni Vim sulle diverse macchine? Tutte le macchine hanno la variabile ambientale TERM impostata correttamente?
Eptita,

Risposte:


0

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

Grazie per le tue informazioni, ma il mio $ TERM è sempre impostato su xterm, su tutte le macchine
CodeNoob

0

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.)


Grazie per la tua risposta. Ho provato a passare avanti e indietro tra la modalità di compatibilità, non funziona. :)
CodeNoob,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.