vi

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: vi

Messaggio da conraid »

Mario Vanoni ha scritto: Tornando al problema frecce:
- su tty ho un prompt va2:tty1:~ #
- su xterm bash-3.1#
Problema di X, mi disturba, ma usando raramente X e/o xterm ... non ho voglia di risolverlo.
Veramente è problema di PS1 con shell interattive

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: vi

Messaggio da joe »

Tempo fà, un anno o più avevo messo in piedi una macchina virtuale con qemu su cui installai slack-12.0.
Avviavo qemu come demone senza finestre che si aprivano o roba simile....tutti i processi andavano in background pur qemu girando e il sistema virtualizzato era accessibile via ssh.
Ero solito accedervi appunto via ssh da un terminale della mia consueta sessione screen attiva sul sistema host e visualizzata in un xterm. Effettuato l'accesso, attivavo una sessione screen interna alla sessione ssh, praticamente girava dentro il sistema guest via qemu: in pratica

Codice: Seleziona tutto

host --> xterm --> sessione screen host:  terminale n ---> sessione ssh verso sistema guest
     + --> geust qemu --> sshd
                                --> sessione screen avviata da "remoto" via ssh
Così mi ritrovavo con una sessione screen dentro l'altra.
La sessione avviata dentro qemu aveva un problema simile e alla fine avevo trovato che la questione stava nella definizione della variabile $TERM. Non ricordo come era impostata, ma ricordo che impostandola a "linux" tutto si risolveva.....non ricordo più neanche bene il problema...

Adesso ho provato ad osservare come è definita tale variabile:

1- xterm: TERM=xterm
2- screen dentro xterm: TERM= screen
3- terminale non grafico framebuffer ttyX: TERM=linux
4- seessione screen avviata in framebuffer TERM=screen.linux

Dunque nei casi 4 e 2 le frecce non mi funzionano, ma stampano A B C D rispettivamente.
Con il caso 1 non ho provato ma secondo me funzionano anche le frecce.
Nel caso 3 le frecce non hanno problemi e possono essere usate anche al posto di hjkl per spostarsi in command mode.
Quindi impostando TERM=linux, ritrovo funzionanti i tasti freccia, pag sù, giù, end e la freccia obbliqua (si chiama home? correggete se sbaglio...), e anche canc che ha un comportamento comunque diverso dalla realtà modalità "nocompatible" di vim cui sono abituato: in insertmode cambia le minuscole in maiuscole e viceversa alla lettera che precede il cursore e va in command mode. Se premuto in command mode invece cancella la lettera in corrispondenza del cursore, come fa anche "x" per intenderci.

- Altra prova di editing (penso che sia normale, ma chiedo conferma)

Invece ho notato che non ci si può spostare in avanti, giù, su durante l'insert mode. Indietro si riesce ma mi pare che non vi sia alternativa alla cancellazione di quanto già scritto.

[EDIT] La frese precedente non è completa: tale comportamento l'ho riscontrato qualora nvi venga aperto in un terminale in cui TERM non era settato a "linux".
Se si mette TERM=linux e poi si pare vi, allora in insert mode le frecce funzionano e non si è obbligati ad uscire dalla modlità command per editare.


Consideriamo la riga seguente che inizialmente si presenta così:

Codice: Seleziona tutto

pippo paperino pluto topolino
Si vuole ottenere la seguente modificando la prima:

Codice: Seleziona tutto

pippo \
paperino \
pluto \
topolino
All'inizio sono in command mode:
- mi sposto ad inizio riga
- premo W per spostarmi sulla "p" iniziale di paperino
- digito i per entrare in insert mode
- premo "\" e CR (return)

Ottengo la situazione seguente:

Codice: Seleziona tutto

pippo \
paperino pluto topolino
e sono in Insert mode col cursore sulla p di paperino. Come proseguirebbe chi usa "vi" sfruttandone veramente le potenzialità? Considerando anche che sono poche modifiche da fare...???
Lo sò è un esempietto da 4 soldi ma, così per curiosità...

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: vi

Messaggio da Mario Vanoni »

conraid ha scritto:
Mario Vanoni ha scritto: Tornando al problema frecce:
- su tty ho un prompt va2:tty1:~ #
- su xterm bash-3.1#
Problema di X, mi disturba, ma usando raramente X e/o xterm ... non ho voglia di risolverlo.
Veramente è problema di PS1 con shell interattive
Corrado, sai dove sorge il problema?

set | less sotto tty
set | less sotto xterm

le cose importanti (PATH, alias, funzioni) sono uguali,
PS1 e` diverso, dove viene modificato?

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: vi

Messaggio da conraid »

Mario Vanoni ha scritto: le cose importanti (PATH, alias, funzioni) sono uguali,
PS1 e` diverso, dove viene modificato?
io l'ho messo in ~/.bashrc per le shell interattive

Codice: Seleziona tutto

export PS1='\[\e[0;32m\]\u@\h:\w\$\[\e[0m\] '
ma non penso che ti piaccia il mio colorato ;-)

Avatar utente
MAT
Linux 4.x
Linux 4.x
Messaggi: 1242
Iscritto il: mer 9 mar 2005, 0:00
Nome Cognome: Matteo Magni
Kernel: 2.6.20
Desktop: Fluxbox
Distribuzione: Gentoo
Località: Vignola, Modena

Re: vi

Messaggio da MAT »

Il default di gentoo (che a mio parere è una buona idea) è rendere uguali le variabili per le shell di login e interattive.

Codice: Seleziona tutto

matteo@host ~ $ cat .bash_profile 
# /etc/skel/.bash_profile

# This file is sourced by bash for login shells.  The following line
# runs your .bashrc and is recommended by the bash info pages.
[[ -f ~/.bashrc ]] && . ~/.bashrc
Quindi basta che modifichi ~/.bashrc per avere le stesse variabili d'ambiente sulle tty e xterm.

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: vi

Messaggio da conraid »

su Slackware in skel non ci sono file per bash, solo screenrc e xsession mi sembra
Io ho fatto

Codice: Seleziona tutto

$ cat /etc/skel/.bash_profile
export LANG=it_IT.utf8
unicode_start
export PATH="$PATH:$HOME/bin"

if [ -e $HOME/.bashrc ]; then
    . $HOME/.bashrc
fi

$ cat /etc/skel/.bashrc
source /usr/share/mc/bin/mc.sh
export PS1='\u@\h:\w\$ '

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: vi

Messaggio da Mario Vanoni »

joe ha scritto: Consideriamo la riga seguente che inizialmente si presenta così:

Codice: Seleziona tutto

pippo paperino pluto topolino
Si vuole ottenere la seguente modificando la prima:

Codice: Seleziona tutto

pippo \
paperino \
pluto \
topolino
All'inizio sono in command mode:
- mi sposto ad inizio riga
- premo W per spostarmi sulla "p" iniziale di paperino
- digito i per entrare in insert mode
- premo "\" e CR (return)

Ottengo la situazione seguente:

Codice: Seleziona tutto

pippo \
paperino pluto topolino
e sono in Insert mode col cursore sulla p di paperino. Come proseguirebbe chi usa "vi" sfruttandone veramente le potenzialità? Considerando anche che sono poche modifiche da fare...???
Lo sò è un esempietto da 4 soldi ma, così per curiosità...
set | less sotto tty TERM=linux
set | less sotto xterm TERM=xterm

nvi filename
0
/ /
cw<spazio>\<Enter>
ESC
n
.
n
.
:wq

oppure

:%s/ / \\Ctrl-V<Enter>/g
:wq

La seconda via e` pericolosa perche' cambia tutti gli spazi.
Comportamento identico sia tty che xterm, provato!

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: vi

Messaggio da Mario Vanoni »

Grazie conraid & grazie MAT

risolto copiando PS1 da /etc/profile a .bashrc

ma perche' xterm cambia solo PS1
e non p.e. LANG, PATH ecc.?

Effettivamente non importa, basta il workaround.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: vi

Messaggio da joe »

Bene, funziona anche a me. Grazie mille per la collaborazione. e scusate ancora la banalità della questione.

Pasticciando ancora con questo vecchio editor, vorrei rilevare la mancanza di una funzionalità piuttosto utile:

quando si preme ":" per dare dei comandi si ha ache fare con una sorta di "prompt".
In cloni come elvis e vim questo prompt supporta alcune funzionalità come l'autocompletamento comandi con tab e la capacità di richiamare comandi dati in precedenza grazie alla "freccia su/giù".

Noto che questa funzionalità manca sia nella versione 1.79 che nella 1.81.6 di nvi.
Inoltre non risulta presente nemmeno nel port di Gunnar Ritter....
Mi confermate che non vi è modo di impostare queste funzionalità in queste versioni di "vi"?

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: vi

Messaggio da conraid »

Mario Vanoni ha scritto: ma perche' xterm cambia solo PS1
e non p.e. LANG, PATH ecc.?
Penso che sia la bash la responsabile
http://www.linuxselfhelp.com/howtos/Bas ... WTO-2.html
magari nel manuale bash trovi l'inghippo, ma vado ad intuito

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: vi

Messaggio da Mario Vanoni »

conraid ha scritto:
Mario Vanoni ha scritto: ma perche' xterm cambia solo PS1
e non p.e. LANG, PATH ecc.?
Penso che sia la bash la responsabile
http://www.linuxselfhelp.com/howtos/Bas ... WTO-2.html
magari nel manuale bash trovi l'inghippo, ma vado ad intuito
Grazie, questo
therefore it should be stressed that PS1=..blah.. should be in .bashrc and not .profile.
spiega tutto.

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: vi

Messaggio da masalapianta »

spina ha scritto:
masalapianta ha scritto:...
pisciare non e' una parolaccia e volgare non significa necessariamente dire parolacce, il linguaggio volgare e' il linguaggio del volgo, che non necessariamente si esprime a parolacce; tra parentesi il termine stesso "parolaccia" rientra nel linguaggio volgare
Rileggi attentamente i miei post e noterai (forse) che non ho mai detto che "piscare" è una parolaccia, così come non ho mai detto che volgare significa dire parolacce. Secondo me dovresti usare un super super editor in modo da compensare bene il tuo scarso senso di osservazione, sai, tipo font giganti e scritte lampeggianti, immagino già che concerto di colori e scritte sarebbe il tuo monitor :).
il sarcasmo dovrebbe essere riservato alle situazioni in cui si ha ragione:
tu hai scritto:
Io non ho niente neanche contro le parolacce, e non urta la mia sensibilità sentire qualcuno che le usa, però suonano meglio quando dette in alcuni contesti.
Diciamo che sprecare la palora "pisciata" per dire una frase senza senso come quella che hai detto mi ha spiazzato un pò.
il significato e' abbastanza chiaro o vuoi farmi credere che la prima frase non si riferiva al discorso ma era slegata dalla seconda frase in quanto improvvisamente hai sentito l'irrefrenabile desiderio di dire la tua sulle parolacce, mentre parlavi di altro (e quindi la prima frase non si riferiva al termine "pisciare")? il che sarebbe anche credibile in un mondo dove le marmotte confezionano la cioccolata

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: vi

Messaggio da masalapianta »

Mario Vanoni ha scritto: tutti i programmi che compilo sono statici, perche'?
perche' sei rimasto a prima del 1964 (data in cui e' stato introdotto il dynamic linking con multics)?
- in un kernel statico _nessuno_ potra` mai introdurre un modulo
certo perche' infatti non e' possibile caricare codice kernel via /dev/kmem; ma no aspetta, invece e' possibile :)
- un programma statico funziona sempre anche se cambi qualche library
noto con piacere che hai un approccio alle librerie in stile microsoft (anzi peggio, perche' almeno loro, nonostante il dll-hell, non si mettono a compilare staticamente)
- per vecchia esperienza programmi statici sono piu` veloci, come pure il kernel statico
non e' vero, il tempo di caricamento e' maggiore con linking statico e a runtime su hardware moderno le differenze sono impercettibili
- AT&T con SVR3.1 ha inventato le shared libraries per risparmiare HD, oggi nonsenso
se buonanotte, le shared library son state inventate soprattutto per risparmiare RAM (non ha senso caricare in RAM 200 istanze della medesima libreria)

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6566
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: vi

Messaggio da targzeta »

masalapianta ha scritto:il significato e' abbastanza chiaro o vuoi farmi credere che la prima frase non si riferiva al discorso ma era slegata dalla seconda frase in quanto improvvisamente hai sentito l'irrefrenabile desiderio di dire la tua sulle parolacce, mentre parlavi di altro (e quindi la prima frase non si riferiva al termine "pisciare")? il che sarebbe anche credibile in un mondo dove le marmotte confezionano la cioccolata
[battuta]Di sicuro di slegato ci sono i tuoi neuroni che vanno a spasso senza incontrarsi mai :)[/battuta].

Ti ho detto più volte che questa discussione è inutile, ma sembri un bimbo piccolo che finché non gli si da la cioccolata continua a frignare. A questo proposito chiedo scusa a joe e a tutti gli altri perchè anche io non sono stato da meno (ma ora la smetto, promesso).

Ho cercato di farti capire che anche tu (e a mio avviso, soprattutto tu visto che sembra che ci guardi dall'alto dei cieli) non recepisci bene quello che gli altri scrivono. Infatti continui a voler mettermi in bocca cose che non ho detto e che stanno solo nella tua testolina piena di bonghi (ammesso che si scriva così) che suonano il reggae.
Ma ho sbagliato perchè De André diceva:"...si sa che la gente da buoni consigli sentendosi come gesù nel tempio, si sa che la gente da buoni consigli se non può più dare il cattivo esempio...", e quindi non ho il diritto di cercare di farti capire un bel niente, visto che almeno io tra i due vorrei rimanere un essere umano.

Detto questo, spero solo che tu capisca che questa nostra discussione è stata inutile, ma che soprattutto ha arrecato danni al resto dei visitatori che sono stati costretti a seguire un thread disseminato da nostre bambinate.

Spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: vi

Messaggio da Mario Vanoni »

joe ha scritto:Bene, funziona anche a me. Grazie mille per la collaborazione. e scusate ancora la banalità della questione.

Pasticciando ancora con questo vecchio editor, vorrei rilevare la mancanza di una funzionalità piuttosto utile:

quando si preme ":" per dare dei comandi si ha ache fare con una sorta di "prompt".
In cloni come elvis e vim questo prompt supporta alcune funzionalità come l'autocompletamento comandi con tab e la capacità di richiamare comandi dati in precedenza grazie alla "freccia su/giù".

Noto che questa funzionalità manca sia nella versione 1.79 che nella 1.81.6 di nvi.
Inoltre non risulta presente nemmeno nel port di Gunnar Ritter....
Mi confermate che non vi è modo di impostare queste funzionalità in queste versioni di "vi"?
: e` il command mode di ex(1), un ed(1) piu` sofisticato.

Esempi da provare:
Q
[n]vi va in [n]ex
:vi
torna in [n]vi
:help
KISS spiegazione del poco che offre
:viusage ...

L'autocompletamento comandi con tab e
la capacità di richiamare comandi dati in precedenza grazie alla "freccia su/giù"
non esistono, ai tempi si era meno pigri ... e con HW poco potente.

Discende da AT&T/Berkeley UNIX, vim & co. imitano MAC/M$.

Non so, ma i sysadm/programmatori di oggi preferiscono l'ozio,
perche' dopo >20 anni di informatica non sono pigro di usare
- /bin/su - per diventare Super-User
- /sbin/lilo per aggiornare MBR
- cp -aiv bzImage /boot per essere confermato che tutto OK
costa qualche tasto in piu` di un TAB, ma so quello che faccio.
Per di piu` non uso comandi non pertinenti, perche' facendo su,
prende il primo su che trova nel $PATH, con /bin/su solo quello.

Chiamala senilita` precoce, ma in 24 anni mai un virus & co.

Rispondi