Когда я открываю некоторые файлы сценария bash с помощью vim, он иногда идентифицирует их как файлы conf
, это нормально, я могу просто исправить это, установив тип файла на sh
с :setf sh
.
Это здорово, за исключением того, что я заметил, что это не исправляет ситуацию полностью:
Обратите внимание, что shopt
правильно выделено слева, но не справа, где я вручную установил тип файла sh
.
Это означает, что когда vim идентифицирует файл как bash
или sh
, он устанавливает тип файла на sh
, но затем выполняет некоторые дополнительные действия, которые я не делаю, когда устанавливаю тип файла вручную.
Кто-нибудь знает, что это может быть, и как я могу это исправить?
let g:is_bash=1
в.vimrc
) бесполезно. Почему? Потому что это заставляет буферы сценариев оболочки, отличные от Bash (например, Bourne, Korn), использовать подсветку синтаксиса, специфичную для Bash. Рассмотрим Тима Фриске отличное решение вместо этого. 17.08.2017filetype=sh
. На самом деле, я только что воспроизвел то, что:help ft-bash-syntax
рекомендует добавить к вашему.vimrc
, чтобы сделать его глобальным по умолчанию. Этот синтаксис не будет применяться ко всем файлам оболочки. Более конкретный шебанг, такой как#!/bin/ksh
, по-прежнему будет переопределять этот выбор по умолчанию, поэтому я не могу воспроизвести ваше беспокойство. 20.08.2017