Vim pod Win 7 zmienia moje ustawienie shiftwidth na coś, czego nie chcę tylko dla plików .sml.Vim zmienia shiftwidth dla plików .sml
To, czego chcę, to wszystko, aby wciskać je tylko spacjami, a wszystko ma zawsze 4 spacje. Jest to zawartość mojego obecnego pliku _vimrc, choć próbowałem wielu odmianach:
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
Kiedy po raz pierwszy rozpocząć Vima bez pliku załadowanego, :set shiftwidth
powraca shiftwidth=4
. Kiedy otwieram plik .py lub .php, nadal zwraca on shiftwidth=4
. Ale kiedy otworzę plik .sml lub po prostu zapiszę pusty plik z rozszerzeniem .sml, zmieni się na shiftwidth=2
. Ręczne ustawienie :set shiftwidth=2
działa dla tej sesji, ale muszę to zrobić za każdym razem, gdy otworzę plik .sml.
Dotyczy tylko buforów z otwartym plikiem .sml. Niezapisane bufory lub pliki o innym typie pliku otwarte w tym samym czasie pokaż shiftwidth = 4.
Nie używałem wcześniej wcięcia wtyczki typu pliku, ale po pewnym wyszukiwaniu wydawało się, że to może być problem. Nie było żadnych plików w moim folderze ftplugin, więc dodałem filetype plugin indent on
do mojego _vimrc stworzonego sml.vim i umieścić go w folderze ftplugin (ponownie, próbowałem wielu odmianach:
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
wiem sml.vim jest bycie czytać, bo umieścić w nim błędów na początku, i zostali złapani.
nie wiem, czy to jest istotne, ale nie ma nic o .sml w moim indent.vim i mój folder tiret jest pusty.
Jeszcze Vim wciąż ustawia shiftwidth = 2 za każdym razem, gdy ładuję plik .sml. Chciałbym wiedzieć dlaczego:
Aktualizacja: Folder wcięcia, który powiedziałem, był pusty, był vim \ vimfiles \ indent. Po odpowiedzi i komentarzach poniżej szukałem sml.vim i znalazłem inny folder wcięć, vim \ vim73 \ indent. Edytowałem sml.vim i zmieniłem shiftwidth = 2 na shiftwidth = 4, a problem został rozwiązany.
załadować .sml i uruchom plik ': czasownik ustawić sw' - należy przez to powiedzieć, gdzie to było ostatni zestaw. – sidyll