Я никогда не использую sudo vim /path/to/some.file ; Я всегда использую sudoedit . Однако это означает, что vim не видит правильный путь. Например, когда я открываю /etc/http/conf/httpd.conf , sudoedit создает копию httpd.conf, а затем использует vim, чтобы открыть ее. Поэтому вместо того, чтобы vim увидел этот файл, он видит "/var/tmp/httpdXX3H43AK.conf"(например). Это означает, что система подсветки синтаксиса vim не видит правильный тип файла. Если бы я просто открыл файл без использования sudo(и, следовательно, без доступа для записи), vim увидит местоположение файла и решит, что тип файла с подсветкой синтаксиса должен быть apache. Однако, поскольку он не находится в этом месте, он не получает синтаксический тип apache и получает тип файла conf.

Я ищу какой-то способ (переключатель командной строки?) сказать vim (а точнее, подсветке синтаксиса) «этот файл должен обрабатываться так, как если бы он находился в этом другом месте». Я могу вручную запустить :se syntax=apache и подсветка вернется к тому, что должно быть. Однако это требует от меня правильного синтаксиса и является еще одним дополнительным шагом, который, я думаю, мне не нужно предпринимать. Кто-нибудь знает какой-нибудь способ использовать sudoedit и заставить его использовать правильное расположение файла?

Контекст: CentOS 7.1, версия vim: vim-extended-7.4.160-1.el7.x86_64

1 ответ1

2

Добавьте set modeline к вашему vimrc , затем добавьте строку, подобную этой, в конец вашего httpd.conf:

# vim: filetype=apache

Конечно, вы также можете сделать это с другими файлами. Смотрите :help auto-setting для получения дополнительной информации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .