Как заставить vim распознавать тип скрипта и включать автоотступ и подсветку синтаксиса без необходимости сохранять и повторно открывать файл?

Aug 16 2020

Я не сохраняю свои сценарии оболочки с .shрасширением. Поэтому, когда я запускаю новый файл с помощью vim vim <filename>, он определяет тип сценария, читая файл shebang. Естественно, это происходит только после того, как я ввел shebang, сохранил, а затем снова открыл файл ... Было интересно, есть ли какой-либо параметр командной строки или параметр командного режима vim, чтобы я мог избежать этих ненужных шагов по сохранению и повторному открытию, и vim просто знает, что я работаю над сценарием оболочки.

Ответы

4 Quasímodo Aug 16 2020 at 22:27
  • Не сохраняя файл, вы можете вручную установить тип файла sh(сценарий оболочки).

    :se ft=sh
    
  • Вы можете добавить сопоставление в свой .vimrc. Например, чтобы F3применить команду,

    nnoremap <F3> :set filetype=sh<CR>
    
  • Если вы разрешили сохранение файла, сделайте, как указано @muru,

    :w|e