Selezione con mouse in vim

Installazione, configurazione e uso di programmi e strumenti.
Avatar utente
giacombum
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 251
Iscrizione: martedì 27 marzo 2007, 20:30
Località: Roma

Selezione con mouse in vim

Messaggio da giacombum »

Salve, ho un problema nella selezione col mouse all'interno di vim: se infatti seleziono col tasto sinistro del mouse più linee, quando le copio con il tasto centrale su un'altro file aperto con vim, alla fine della riga che ho copiato vengono inseriti molti spazi vuoti. Ad esempio, se copio

set mouse=r
set nocompatible

ottengo

set mouse=r*************************************************************************************************************************
set nocompatible

dove gli asterischi sono tutti spazi.

Di seguito il mio .vimrc:
syntax enable                                                                                                                                                             
filetype on                                                                                                                                                               
filetype plugin on                                                                                                                                                         
filetype indent on                                                                                                                                                         
set mouse=r                                                                                                                                                               
set nocompatible                                                                                                                                                           
colorscheme evening                                                                                                                                                       
set autoindent                                                                                                                                                             
set cindent                                                                                                                                                               
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s                                                                                                                     
set tabstop=4                                                                                                                                                             
set softtabstop=4                                                                                                                                                         
set shiftwidth=4                                                                                                                                                           
set ruler                                                                                                                                                                 
set title                                                                                                                                                                 
                                                                                                                                                                           
" Fortran tips                                                                                                                                                             
set foldmethod=syntax                                                                                                                                                     
let fortran_fold=1                                                                                                                                                         
let fortran_fold_conditionals=1                                                                                                                                           
                                                                                                                                                                           
if has("autocmd")                                                                                                                                                         
autocmd BufReadPost *                                                                                                                                                     
\ if line("'\"") > 1 && line("'\"") <= line("$") |                                                                                                                       
\ exe "normal! g`\"" |                                                                                                                                                   
\ endif                                                                                                                                                                   
endif                                                                                                                                                                     
                                                                                                                                                                           
" Latexsuite                                                                                                                                                               
"set grepprg=grep\ -nH\ $*                                                                                                                                                 
"let g:tex_flavor='latex'
as-far-as-i-know
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1096
Iscrizione: martedì 26 maggio 2009, 13:23

Re: Selezione con mouse in vim

Messaggio da as-far-as-i-know »

Se ti può servire, ho replicato il tuo test con VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Mar 24 2011 07:07:46) e il file .vimrc vuoto, e tutto funziona.
Ecco i comandi (da terminale) in dettaglio:

Codice: Seleziona tutto

vim tabella1.txt  // apertura del primo file
//selezione con mouse di 4 righe
:open tabella2.txt   // apertura del secondo file
i //insert testo e creazione di righe vuote
// incolla
:save tabella2.txt
:q 
Ciao
Message to Canonical: I dislike Unity and am ready to migrate somewhere. From Ubuntu 6.10 to 11.04 with love, thank you!
Avatar utente
giacombum
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 251
Iscrizione: martedì 27 marzo 2007, 20:30
Località: Roma

Re: Selezione con mouse in vim

Messaggio da giacombum »

Forse mi sono spiegato male, non ho detto che non funziona, ho detto che le righe vengono copiate "male", nel senso che, per selezionare, che so, 2 righe, la prima viene selezionata per intero (quindi anche tutti i caratteri vuoti dopo il testo) e quando le incollo, la prima riga viene con tutti gli spazi... a te non succede?
as-far-as-i-know
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1096
Iscrizione: martedì 26 maggio 2009, 13:23

Re: Selezione con mouse in vim

Messaggio da as-far-as-i-know »

giacombum ha scritto: Forse mi sono spiegato male, non ho detto che non funziona, ho detto che le righe vengono copiate "male", nel senso che, per selezionare, che so, 2 righe, la prima viene selezionata per intero (quindi anche tutti i caratteri vuoti dopo il testo) e quando le incollo, la prima riga viene con tutti gli spazi... a te non succede?
No, non succede. Ti posto le due tabelle (prima/dopo):

Codice: Seleziona tutto

********** tabella1.txt ***********
Format Number 2008


                                                               Internal
 Cell     Temp      Temp      Temp        P        Density      Energy
  Num      (K)       (C)       (F)      (Pa)      (kg/m**3)     (J/kg)
    1  |  300.0  |   26.8  |   80.3 | 1.000E+05 | 1.161E+00 | 2.153E+05
    2  |  400.0  |  126.8  |  260.3 | 1.100E+05 | 9.580E-01 | 2.871E+05
    3  |  500.0  |  226.8  |  440.3 | 1.200E+05 | 8.361E-01 | 3.589E+05
    4  |  600.0  |  326.8  |  620.3 | 1.300E+05 | 7.548E-01 | 4.307E+05
    5  |  700.0  |  426.8  |  800.3 | 1.400E+05 | 6.967E-01 | 5.024E+05

*********** tabella2.txt ***************
Format Number 2008


                                                               Internal
 Cell     Temp      Temp      Temp        P        Density      Energy
  Num      (K)       (C)       (F)      (Pa)      (kg/m**3)     (J/kg)
    1  |  300.0  |   26.8  |   80.3 | 1.000E+05 | 1.161E+00 | 2.153E+05
    2  |  400.0  |  126.8  |  260.3 | 1.100E+05 | 9.580E-01 | 2.871E+05
    3  |  500.0  |  226.8  |  440.3 | 1.200E+05 | 8.361E-01 | 3.589E+05
    4  |  600.0  |  326.8  |  620.3 | 1.300E+05 | 7.548E-01 | 4.307E+05
    5  |  700.0  |  426.8  |  800.3 | 1.400E+05 | 6.967E-01 | 5.024E+05



Cell     Temp      Temp      Temp        P        Density      Energy
  Num      (K)       (C)       (F)      (Pa)      (kg/m**3)     (J/kg)
    1  |  300.0  |   26.8  |   80.3 | 1.000E+05 | 1.161E+00 | 2.153E+05
    2  |  400.0  |  126.8  |  260.3 | 1.100E+05 | 9.580E-01 | 2.871E+05
    3  |  500.0  |  226.8  |  440.3 | 1.200E+05 | 8.361E-01 | 3.589E+05
    4  |  600.0  |  326.8  |  620.3 | 1.300E+05 | 7.548E-01 | 4.307E+05
    5  |  700.0  |  426.8  |  800.3 | 1.400E+05 | 6.967E-01 | 5.024E+05

Comunque, con i file testo bisogna sempre fare attenzione ai fine riga, che per Linux/Unix sono di tipo LF, mentre per Windows sono CR/LF. Quelli che ho postato sopra sono LF; se fossero stati CR/LF ogni riga sarebbe stata spaziata  con una vuota.
Ho aggiunto questo particolare perché esso potrebbe essere la causa del tuo malfunzionamento. In altre parole, un file con LF e l'altro con CR/LR potrebbero creare conflitto.
Un altro esempio: il tuo file .vimrc che hai incollato nel post d'apertura è di tipo CR/LF ed infatti il form del forum te lo mostra a righe alterne, una piena e una vuota.
Ciao
Ultima modifica di as-far-as-i-know il venerdì 9 marzo 2012, 12:51, modificato 1 volta in totale.
Message to Canonical: I dislike Unity and am ready to migrate somewhere. From Ubuntu 6.10 to 11.04 with love, thank you!
Avatar utente
giacombum
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 251
Iscrizione: martedì 27 marzo 2007, 20:30
Località: Roma

Re: Selezione con mouse in vim

Messaggio da giacombum »

Grazie, sei stato chiarissimo! Come faccio a vedere se il mio file è LF o CR/LF?
as-far-as-i-know
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1096
Iscrizione: martedì 26 maggio 2009, 13:23

Re: Selezione con mouse in vim

Messaggio da as-far-as-i-know »

giacombum ha scritto: Come faccio a vedere se il mio file è LF o CR/LF?
Basta settarlo così:

Codice: Seleziona tutto

: se ff=dos      // per CR/LF
: se ff=unix     // per LF
Ciao
Message to Canonical: I dislike Unity and am ready to migrate somewhere. From Ubuntu 6.10 to 11.04 with love, thank you!
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: Google [Bot], max64bo e 11 ospiti