Jak sprawić, by vim rozpoznał typ skryptu i włączył autoindent oraz podświetlanie składni bez konieczności zapisywania i ponownego otwierania pliku?

Aug 16 2020

Nie zapisuję moich skryptów powłoki z .shrozszerzeniem. Więc kiedy uruchamiam nowy plik z użyciem vim vim <filename>, identyfikuje on typ skryptu, czytając plik shebang. Oczywiście dzieje się to dopiero po wpisaniu pliku shebang, zapisaniu i ponownym otwarciu pliku ... Zastanawiałem się, czy jest jakaś opcja wiersza poleceń lub opcja trybu poleceń vim, abym mógł uniknąć tych niepotrzebnych kroków zapisywania i ponownego otwierania, a vim po prostu wie, że pracuję nad skryptem powłoki.

Odpowiedzi

4 Quasímodo Aug 16 2020 at 22:27
  • Bez zapisywania pliku możesz ręcznie ustawić typ pliku na sh(skrypt powłoki).

    :se ft=sh
    
  • Możesz dodać mapowanie do swojego .vimrc. Na przykład, aby F3zastosować polecenie,

    nnoremap <F3> :set filetype=sh<CR>
    
  • Jeśli pozwolisz na zapisanie pliku, zrób tak, jak wspomniał @muru,

    :w|e