Я никогда не использую 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