Вы пытаетесь обнаружить отсутствующие файлы.ctl и .out, поэтому вам нужно проверить оба способа. Простой способ сделать это (, если ваши имена файлов не содержат специальных символов, включая пробелы, и содержат только одну точку ), это
find. -type f
, cut --delimiter=. --fields=1
, sort --unique
для удаления дубликатов, while read name
и, наконец, [[ -e "${name}.ctl" ]] || echo "${name}.ctl" >&2
и то же самое для.out. Команды для выполнения в vim:
:hi xShebang ctermfg=red ctermbg=blue
:syntax match xShebang /#!.*/
Это делает строку сценария Shebang красным текстом на синем фоне.
В зависимости от вашей конфигурации vim и порядка загрузки файлов может работать добавление строк (без символов точки с запятой )в.vimrc или перезапись следующих загружаемых файлов.
Чтобы проверить порядок загрузки скриптов, выполните:
:scriptnames
В моем случае ~/.vimrc
где-то в середине загруженных скриптов и синтаксиса команда перезаписывается другими файлами синтаксиса скрипта.
ОБНОВЛЕНО.
Слишком много времени занимает вхождение в структуру загружаемых vim скриптов. Итак, у меня есть быстрое решение для этого конкретного запроса :вы можете запускать дополнительные команды vim из командной строки в качестве параметров, когда вы запускаете vim (он меняет цвет линии Shebang на красный на черном):
vim -c ':syntax match xShebang /#!.*/' -c ':hi xShebang ctermfg=red ctermbg=black' filename
Но нехорошо набирать его каждый раз. Чтобы этого не делать, мы можем создать псевдоним.
Вы можете добавить это в свой профиль.bash _в домашнем каталоге пользователя, чтобы он автоматически загружался каждый раз при входе в систему:
alias vim="vim -c ':syntax match xShebang "'/#!.*/'"' -c ':hi xShebang ctermfg=red ctermbg=black'"
Теперь, когда вы выполняете vim filename
, vim будет запускаться со всеми этими параметрами из псевдонима.