Pagina 1 di 1

Selezione con mouse in vim

Inviato: venerdì 9 marzo 2012, 10:08
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'

Re: Selezione con mouse in vim

Inviato: venerdì 9 marzo 2012, 11:46
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

Re: Selezione con mouse in vim

Inviato: venerdì 9 marzo 2012, 11:55
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?

Re: Selezione con mouse in vim

Inviato: venerdì 9 marzo 2012, 12:25
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

Re: Selezione con mouse in vim

Inviato: venerdì 9 marzo 2012, 13:13
da giacombum
Grazie, sei stato chiarissimo! Come faccio a vedere se il mio file è LF o CR/LF?

Re: Selezione con mouse in vim

Inviato: venerdì 9 marzo 2012, 13:19
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