Newsgroup: it.comp.os.linux.software
Titolo: [Xpost] Vim in "ambienti" diversi

Salve atutti. Dovrei risolvere due problemi che potrebbero essere
legati, ma non ne sono sicuro. HO  appena installato una versione
stringata di slackware 12.0, non  c'è  molta  roba  nel  sistema,
niente server X per intenderci e sto configurando  e  aggiungendo
pacchetti ecc ecc.
Visto che sto lavorando ancora  da  console  mi  è  indispesabile
oqquasi screen per muovermi agevolmente su diverse finestre.   Ho
notato  però  un  comportamento  assai  strano  di   vim   quando
richiamato da una finestra di screen:  non  è  configurato  nello
stesso modo che lanciandolo dalla semplice console.   Infatti  se
lancio vim da console nuda, si presenta  una  configurazione  già
semplificata ed in particolarmodo posso  vedere  una  colorazione
dei vari "elementi" del testo ecc ecc, inoltre un aspetto che  si
darebbe per scontato:
i  tasti  "fine"  e  "inizio"  mandano  ovviamente   il   cursore
all'inizio o alla fine della riga...
Ma questo però non accade se lancio vim da  screen:  premendo  il
tasto fine, invece d'andare a fine riga compare una tilde per una
ttimo e poi va in  "command  mode"....neanche  il  canc  funziona
insomma sono disorientato più  che  altro  perchè  non  riesco  a
capire cosa condiziona vim a comportarsi così:
perchè  dalla  console  è  tutto  normale  mentre  da  screen  la
situazione risulta diversa?
Aggingo che il tasto fine e  inizio  riga  funzionano  in  screen
dal prompt della shell....è solo in  vim  che  ho  dei  problemi.
Il secondo aspetto che vorrei proporvi riguarda la possibilità di
richiamare  vim  da  altri  programmi  con  un   certo   set   di
impostazioni già settate automaticamente.
Per esempio non ricordo più come  avevo  fatto  ad  impostare  il
newsreader tin in modo che  quando  si  risponde  o  si  crea  un
messaggio e  viene  richiamato  vim  come  editor,  questo  abbia
l'opzione   "textwidth=65"   già   impostata   automaticamente...
Ripeto: probabilmente le due cose non c'entrano molto,  ma  visto
che si parla in entrambi i casi di vim, ho pensato di  accorparle
in un unico messaggio.

 
non credo che ci siano problemi solo con vim.
Io ad esempio non ho i problemi di cui tu parli con vim, ma in gnome uso 
un terminale che si chiama: xfce4-terminal
funziona alla perfezione, ma con screen ad esempio il tast 'delete' va a 
farsi fo$$ere :-)
investighiamo insieme per risolvere il dilemma.
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
  printf $i }'; echo

 automaticamente...
forse non ho capito, ma intedi impostare un' opzione (comando)
sovrascrivendone una in vimrc?
una roba tipo vim -c "set textwidth=XX" dovrebbe funzionare

 saprei dirti
Assolutamente no.
A me "inizio", "fine", "delete", "ctrl" funzionano.
Prima mi sono sbagliato: *non* mi funziona solo il "backspace" e solo con 
quel tipo di terminale.
Cio' che e' diverso e' il ctrl-a che fa partire i key-binding (man 
screen).


dal prompt della shell....č solo in  vim  che  ho  dei  problemi.
Questo scherzetto che dici a me lo fa sempre la Debian durante l'
installazione se vai alla console 2, come d'altra parte non funge
la campanella, per cui penso possa essere roba di terminale non
ancora settato.
Ma sei sicuro che sia vim questo di cui parli? perche' a me la
Slackware m'ha messo un certo elvis come default, che ha il file di
conf che si chiama... aspetta che guardo... eccolo e' questo:
/usr/share/elvi*/elvis.ini
ma che per il resto e' uguale a vim.
-- 
Ciao Minotto

 investighiamo insieme per risolvere il dilemma.
L'arcano		direi		che	 sta	  nel		settaggio	 del	  terminale.
Anche se mi farebbe veramente comodo unaspiegazione generale e un attimo
più approfondita, posso anticipare	di  aver  notato	che  la	variabile
d'ambiente	TERM	è	impostata  a  linux	nella  console  normale  (anzi
framebuffer....), se lancio screen invece  e  vado  a  vedere	tutte  le
variabili d'ambiaente
env|less
noto	che  la	variabile  TERM  è  impostata  a  VT100  (o	qualcosa  di
simile...ora  sto  scrivendo	da  slack-11.0  e  non	ho  sottomano	 la
situazione di slack-12.0)
Insomma...provando così per sport a dare
TERM=linux
Ho risolto per la sessione corrente il problema: lanciando	vim  infatti
la situazione sotto screen (con la nuova	impostazione  della	variabile
 TERM)  è  identica	alla	 situazione   sotto	 la	console	 normale.
Sinceramente in questi argomenti (come in  moltisimi	altri  eh..)  sono
veramente ignorante e non saprei neanche dove  andare  a  modificare  il
valore della variabile TERM per l'ambiente screen....
Inoltre non so neanche se il	problema  è  veramente	questo  e  se	sia
corretto affrontarlo da questo punto di vista.
Ad ogni modo riporto il valore della  variabile  TERM  sulla  slack-11.0
tanto per fare un paragone:
- X avviato ---> da mrxvt come terminale e screen
$ echo $TERM
screen
- X avviato ---> da mrxvt come terminale senza screen
$ echo $TERM
rxvt
- X non avviato (framebuffer) da screen
$ echo $TERM
screen.linux
- X non avviato senza screen (frame buffer liscio)
$ echo $TERM
linux
Insomma una grande varietà di valori che sinceramente mi  disorienta  un
po'...Se poteste chiarire un po' uttta la situazione anche	con  qualche
rimando a links  o  documentazione	in  generale....ve  ne	sarei  grato

 Slackware m'ha messo un certo elvis come default,
default... di che?
l'unica cosa che fa la slackware č mettere vi come link ad elvis (che io
cambio prontamente ad ogni nuova installazione)
ma se lui ha detto che "vim" si comporta in un certo modo, significa che
dopo aver digitato "vim" nota quanto descritto. 
isn't it?

 una roba tipo vim -c "set textwidth=XX" dovrebbe funzionare
Sì.
Potrebbe essere che tin newsreader richiami l'editor vim in quel modo?
premendo "M" da dentro tin, vedo come viene richiamato l'editor:
107. Invocation of your editor                            : %E +%N %F
Ora per capire cosa significa %E +%N %F dovrei dare una lettura al man
di tin.
Fatto sta che attualmente tin richiama vim e ho automaticamente il testo
tagliato alla 75-esima colonna. Invece se apro vim su un altro file,
dalla bash liscia ho il textwidth impostato zero.
Mi chiedevo perchè e da chi dipendendesse quella impostazione.

 ma che per il resto e' uguale a vim.
Si entrambi sono cloni del vecchio vi.
La slack adotta elvis di suo, ma io vim è la prima cosa che ho visto su
linux e ho subito una sorta di "imprinting" diciamo così... ;-)
Tuttavia quello a cui mi riferisco è proprio vim, infatti ho effettuato
un'installazione della slack minimale includendo solamente il software
strettamente necessario e non ho incluso elvis (anche se fa parte dei
pacchetti base) sostituendolo con vim (che invece è nella serie ap).
Quindi direi che in questo caso il problema è ben più generale e non
riguarda solo vim, bensì le impostazioni dei vari terminali, ommeglio
forse dei vari ambienti (la butto lì...non sono sicuro)

 isn't it?
you're right!  ;-)

 l'opzione   "textwidth=65"   già   impostata   automaticamente...
Questo è come vim viene invocato per scrivere messaggi in slrn, spero che ti
possa dare un'idea: vim -c 'set nobackup' +%d '%s'
-- 
Cinema:
	E' in tutte le sale ``Mars Attacks!'', il nuovo film di Tim Burton.
Se veramente i marziani attaccassero la Terra, andrei a vivere a Roma.  I
marziani non la toccherebbero.  Le darebbero un'occhiata, e penserebbero
che e' gia' distrutta.
		-- Panfilo Maria Lippi (Daniele Luttazzi), "TABLOID"

 Salve atutti. Dovrei risolvere due problemi che potrebbero essere
[···]
Una domanda, la giustificazione la fai a mano o cosa?
-- 
"101 frasi da evitare quando si vuole rimorchiare una ragazza":
(72)  Ho un tatuaggio col tuo nome su di me da qualche parte.
(74)  Non aver paura, non mordo.  A meno che tu non me lo chieda.
(75)  Ho avuto quattro mogli.  Sono morte tutte in circostanze
      misteriose.
(76)  Dimmi tutto di te.  Mi piace farmi vedere mentre converso con una
      sventola.
		-- Daniele Luttazzi, "C.R.A.M.P.O."

 Una domanda, la giustificazione la fai a mano o cosa?
No, è che smanettando con la nuova installazione di slack-12 e volendo
venire a capo del problema ho messo mano all'help di vi e ho
scopertoalcune cose nuove tra cui un amcro che giustifica i paragrafi.
Cerca "justify" dentro la guida di vim e ad un certo punto dice come
fare a inserire quella macro nella dir .vim/plugin e farla funzionare.
Per usarla ti basta selezionare il paragrafo in visual mode e quindi
premere _j.
Ho fatto solo qualche prova, ma non è niente di che come
utilità...almeno per scrivere messaggi su usenet.
Inoltre bisogna stare all'occhio ad alcuni accorgimenti e avere il
textwidth settato ad un certo limite minore della larghezza del
terminale.

 No, è che smanettando con la nuova installazione di slack-12
credo che lui si riferisse alla giustificazione del post su usenet.
se usi tin, e quindi vim, ricordo un tool che si chiama par... ma roba di 
10 anni fa. Penso che oggi ci saranno in giro altre diavolerie.


 premere _j.
Allora la fai a mano. Io cerco una macro che justifica tutto il testo compreso
tra gli header e la firma automaticamente all'invio del messaggio.
Piuttosto, prova ad inserire questi comandi in .vimrc. Devi prima installare
par e li usi in visual mode.
--8<---------------cut here---------------start------------->8---
vmap <F10> :!par 72jqi<CR><ESC> 
vmap <F9> :!par 72qi<CR><ESC>
--8<---------------cut here---------------end--------------->8---
-- 
Ferrovie dello Stato:
	Ragazzi, non e' vero che i treni arrivano sempre in ritardo.
Bisogna sfatare questo mito.  Oggi, per esempio, sono venuto in treno,
e sono arrivato in perfetto orario.
Mi ero dimenticato dell'ora legale.
		-- Panfilo Maria Lippi, "TABLOID TABLOID"@"Mai Dire Gol",
		   ultima domenica di marzo ('98)

 10 anni fa. Penso che oggi ci saranno in giro altre diavolerie.
Guarda che la mia risposta era riferita alla sua domanda e coerente
anche con la tua interpretazione. Ho tirato in ballo la "nuova" slack 12
solo perchè, avendomi dato qualche grattacapo con screen (chiaro che
slack-12 centra poco....il discorso è molto più generale) e vim mi ha
portato a leggere un po' di hel di vim. Durante la lettura, per caso ho
scoperto quella macro che consente di giustificare il testo.
Anche vero come hai osservato, che l'help di vim ad un certo punto
afferma che non c'è modo di giustificare il testo a destra e che bisogna
usare programmi estermi tra i quali viene apppunto citato par.
A dire il vero non ho capito come vada usato con vim dalla guida, ma
penso che basterrebbe una rapida ricerca in rete per fugare tutti i
dubbi.  ;-)

 --8<---------------cut here---------------end--------------->8---
Proverò, ma 72jqi e 72qi cosa significano in soldoni?

 rapida ricerca in rete per fugare tutti i dubbi.  ;-)
non ricordo piu' la sintassi perche' era abbastanza ostrogota ed e' 
passato troppo tempo.
Per richiamarlo da vim, in modalita' comando, si usa il punto esclamativo.
:!par blablabla
dove "blablabla" saranno le opzioni.


 l'opzione   "textwidth=65"   già   impostata   automaticamente...
non so come si faccia a definire l'editor esterno in tin, ma deve
essere qualcosa del tipo
vim -c textwidth=65 %s
NB non che lo sapessi, ma man vim in questi casi aiuta
~
-- 
Sarò un'ingenua ma continuo a pensarla come prima, anche se
probabilmente i fatti mi smentiscono.  -- Francy, in IHC

 Proverò, ma 72jqi e 72qi cosa significano in soldoni?
larghezza a 72 caratteri, con e senza giustificazione. IMO funziona meglio
della macro di vim.
-- 
Festival di Sanremo 1997:
	In Italia non abbiamo la pena di morte.  Abbiamo il Festival di
Sanremo.
	Per l'occasione, [Valeria] Marini indossava abiti di Ferre'.  Erano
cosi' attillati che non si capiva se il suo corpo era dentro e cercava di
uscire, o se era fuori e cercava di entrare.
	Le sue misure?  90.  In tutte le direzioni.


 passato troppo tempo.
Concordo, il manuale è scritto da un linguista secondo me e non si capisce un
cazzo. 
-- 
Notizie dal Futuro: 15 agosto 1998, Sardegna:
	Un gigantesco incendio rade al suolo la Costa Smeralda.  Danni per
milioni di miliardi.  Origine dell'incendio: Jerry Cala' che s'e' acceso
una scoreggia.
		-- Dingo, "TABLOID TABLOID"@"Mai Dire Gol"

 della macro di vim.
Il problema è che non ho trovato un pacchetto di par per
slackware 11.0...E visto che non mi serve poi granchè ho lasciato
erdere.
In ogni caso grazie per la spiegazione.