Pagina 1 di 1
[SOLVED] vim e sintassi colorata
Inviato: gio 18 feb 2010, 14:10
da ZeroUno
Uso vim per la programmazione, dal php al c al semplice shell scripting, così ho la sintassi colorata (e altre cose).
Per il C non ci ho fatto caso, ma per php e bash c'è una caratteristica che non mi piace:
se lo lancio come root ho dei colori; se lo lancio da utente ho altri colori e il tutto è in grassetto.
Non sono riuscito a determinare il criterio, ma dipende da qualche variabile di ambiente sicuramente (non quelle elencate da 'env' però) perchè se, da utente, do 'su root' allora la sintassi colorata rimane quella di utente, mentre con 'su - root' mi da la sintassi come di root; similmente, se da root do 'su utente' edito i file con i colori come root, mentre con 'su - utente' con i colori da utente.
Dove è il criterio?
Ciao
01
Re: vim e sintassi colorata
Inviato: gio 18 feb 2010, 14:36
da d4z_c0nf
ZeroUno ha scritto:Uso vim per la programmazione, dal php al c al semplice shell scripting, così ho la sintassi colorata (e altre cose).
Per il C non ci ho fatto caso, ma per php e bash c'è una caratteristica che non mi piace:
se lo lancio come root ho dei colori; se lo lancio da utente ho altri colori e il tutto è in grassetto.
Non sono riuscito a determinare il criterio, ma dipende da qualche variabile di ambiente sicuramente (non quelle elencate da 'env' però) perchè se, da utente, do 'su root' allora la sintassi colorata rimane quella di utente, mentre con 'su - root' mi da la sintassi come di root; similmente, se da root do 'su utente' edito i file con i colori come root, mentre con 'su - utente' con i colori da utente.
Dove è il criterio?
Ciao
01
01 sei sicuro che non c'entri l'env?
Cito da man su
su is used to become another user during a login session. Invoked with-
out a username, su defaults to becoming the super user. The optional
argument - may be used to provide an environment similiar to what the
user would expect had the user logged in directly.
e
The current environment is passed to the new shell. The value of $PATH
is reset to /bin:/usr/bin for normal users, or
/sbin:/bin:/usr/sbin:/usr/bin for the super user. This may be changed
with the ENV_PATH and ENV_SUPATH definitions in /etc/login.defs.
Cioè se usi "-" usi l'environment dell'utente specificato dopo il -, altrimenti viene passato alla nuova shell l'environment corrente, cioè di quello che esegue il comando "su nomeutente".
rock
Re: vim e sintassi colorata
Inviato: gio 18 feb 2010, 16:35
da ZeroUno
So come funziona il su e su -
So che se da utente faccio:
Codice: Seleziona tutto
$ env
xxx
$ pwd
/home/utente
$ su
# env
xxx
# pwd
/home/utente
è diverso da
Codice: Seleziona tutto
$ env
xxx
$ pwd
/home/utente
$ su -
# env
yyy
# pwd
/root
ma io ho provato, da utente, a copiare tutte le variabili d'ambiente di root visibili con env.
inoltre ho fatto un strace di vim sia da root che da utente e ho ottenuto lo stesso output, ad eccezione dei percorsi di ricerca (/root/.vimrc e /home/utente/.vimrc), qualche indirizzo di memoria, e il punto effettivo in cui stampa il testo (nel quale differiscono le stringhe dei colori).
01
Re: vim e sintassi colorata
Inviato: gio 18 feb 2010, 16:46
da d4z_c0nf
Scusami, ho letto male e mi sono espresso male.
Re: vim e sintassi colorata
Inviato: gio 18 feb 2010, 16:52
da d4z_c0nf
Re: vim e sintassi colorata
Inviato: gio 18 feb 2010, 17:33
da conraid
Il problema è di qualche variabile per il terminale virtuale, perché fuori X non da questo comportamento
è tutto non in grassetto
controlla se è anche a te così
Re: vim e sintassi colorata
Inviato: ven 19 feb 2010, 10:20
da ZeroUno
eccola! l'unica differenza tra user e 'su -' è che nel vim di user c'è:
:set background=dark
mentre in quella di 'su -' non c'è
e se da user do
:set background=
risolvo la situazione.
in verità non si tratta di root o user ma di su o non su. Se in X mi loggo come root, ottengo il viceversa.
Ora è tutto chiaro.
Se su konsole si sceglie lo sfondo nero, comunica a vim (o meglio al terminale, il quale lo comunica a vim) che lo sfondo è scuro, in modo che vim si regola mettendo colori chiari e grassetti (effettivamente i commenti in blu su sfondo nero non sono il massimo in leggibilità)
Ciao
01