Vim in Win 7 modifica l'impostazione della mia larghezza di spostamento in qualcosa che non desidero solo per i file .sml.Vim modifica la larghezza di spostamento per i file .sml
Quello che voglio è che tutto sia rientrato solo con gli spazi e che ogni cosa sia sempre 4 spazi. Questo è il contenuto del mio file _vimrc corrente, anche se ho provato molte variazioni:
set nocompatible
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set guifont=Consolas:h9:cANSI
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
filetype plugin indent on
" Set the tab width
let s:tabwidth=4
exec 'set tabstop=' .s:tabwidth
exec 'set shiftwidth=' .s:tabwidth
exec 'set softtabstop='.s:tabwidth
Quando ho comincio Vim senza file caricato, :set shiftwidth
rendimenti shiftwidth=4
. Quando apro un file .py o .php, restituisce comunque shiftwidth=4
. Ma quando apro un file .sml o semplicemente salvo il file vuoto con estensione .sml, passa a shiftwidth=2
. L'impostazione manuale di :set shiftwidth=2
funziona per quella sessione, ma devo farlo ogni volta che apro un file .sml.
Riguarda solo i buffer con un file .sml aperto. I buffer non salvati o quelli con un altro tipo di file aperti contemporaneamente mostrano shiftwidth = 4.
Non stavo usando la parola rient del plugin tipo file prima, ma dopo alcune ricerche sembrava che potesse essere il problema. Non c'erano file nella mia cartella di ftplugin, così ho aggiunto al mio filetype plugin indent on
_vimrc, sml.vim creato e messo nella cartella ftplugin (ancora una volta, dopo aver provato molte varianti:
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
" Set the tab width
let s:tabwidth=4
exec 'set tabstop=' .s:tabwidth
exec 'set shiftwidth=' .s:tabwidth
exec 'set softtabstop='.s:tabwidth
So sml.vim è essere leggere perché ho messo gli errori in esso in un primo momento, e sono stati catturati.
Non so se questo è rilevante, ma non c'è niente di .sml nel mio indent.vim, e la mia cartella trattino è vuota.
Eppure Vim imposta ancora shiftwidth = 2 ogni volta che carico un file .sml. Mi piacerebbe sapere perché:
Aggiornamento: La cartella del rientro che ho detto era vuota era vim \ vimfiles \ indent. Dopo la risposta e i commenti di seguito ho cercato sml.vim e ho trovato un'altra cartella di rientro, vim \ vim73 \ indent. Ho modificato sml.vim e cambiato shiftwidth = 2 in shiftwidth = 4 e il problema è stato risolto.
caricare un file .sml ed eseguire ': verbo set sw' - ne dirà dove è stato lo scorso impostato. – sidyll