Включить подсветку синтаксиса Vim по умолчанию


121

Я знаю, как включать и выключать подсветку синтаксиса в vim, запустив это в редакторе:

:syntax on/off

Но я хочу, чтобы подсветка синтаксиса была включена по умолчанию, поэтому мне не нужно включать ее каждый раз, когда я запускаю vim.

Как мне это сделать?


2
Возможно, перейти на Vim Stack Exchange?
QuantumFool

Ответы:


178

Отредактируйте ваш $HOME/.vimrc(Unix / Linux / OSX) или $HOME/_vimrc(Windows), включив в него следующую строку:

syntax on

РЕДАКТИРОВАТЬ

Если подсветка синтаксиса не работает при запуске Vim, вероятно, у вас нет символа $HOME/.vimrcили $HOME/_vimrc(с этого момента они все вместе называются vimrc). В этом случае у вас есть два варианта:

  • Создайте пустой vimrc.
  • Скопируйте vimrc_example.vimкак свой vimrc(рекомендуется, спасибо @oyenamit). Вы можете найти vimrc_example.vimв каталоге времени выполнения.

Расположение каталога времени выполнения зависит от операционной системы:

  • В моей системе (Arch Linux и Mac, спасибо @totophe) он в формате /usr/share/vim/vim73.
  • В Windows это файл \Program Files\Vim\vim73.

1
Я не могу найти .vimrc, я использую Mac с Lion. Я могу найти .viminfo
lilroo

7
Если его нет, вы можете его создать. Просто введите: e ~ / .vimrc to vim, введите строку и сохраните (: w).
Ilmo Euro

6
@lilroo Хотя это решает вашу проблему, я бы посоветовал вам не создавать vimrc с нуля. Вместо этого возьмите пример vimrc из следующего места: /Applications/MacVim.app/Contents/Resources/vim/runtime/vimrc_example.vim. Скопируйте этот файл в свой $ HOME как .vimrc. Он автоматически включает многие базовые функции (синтаксис, выделение при поиске, резервное копирование и т. Д.). Затем вы можете настроить его в соответствии с вашими потребностями.
oyenamit

3
Есть ли разница между syntax onи syntax enable?
Sonique

4
@Sonique syntax enableсохраняет ваши настройки цвета, syntax onотменяет их ( :help :syn-on).
Ilmo Euro

8

Кроме того, чтобы выделить конкретный ТИП синтаксиса (или языка программирования) в файле, вы можете использовать следующие команды, пока файл уже открыт в Vim:

:set filetype=php

ИЛИ ярлык:

:se ft=php

Приведенные выше команды изменят выделение синтаксиса текущего файла, как если бы выделение кода PHP.


6

Раскомментируем "синтаксис" в файле vimrc.

Перейти в каталог,

cd /etc/vim/

vim vimrc

теперь ищите "синтаксис" и раскомментируйте его. Сохраните его и снова откройте файл в vim.


1
Лучший способ для меня. Tks. Если вы не syntaxтолько добавить, syntax enable. Тогда source vimrc. Вы получили его навсегда для последующего использования
Эндер Фан

3

Для всех, кто попадает сюда из-за использования TurnKeyLinux, в vim-tinyкотором не включен модуль синтаксиса, попробуйте эту статью, чтобы установить полнуюvim

http://www.turnkeylinux.org/forum/support/20140108/solved-bash-command-not-found-after-replacing-package

ТЛ; др

# apt-get remove vim-tiny
# apt-get install vim
# hash vim
# vim

1
FWIW начиная с версии 14.0, вы можете просто установить vim, и все будет работать так, как вы ожидаете (независимо от того, удаляете ли вы vim-tiny или нет). Это была ошибка в том, как vim-tiny был настроен для работы как vim. Теперь он правильно обновляет двоичный путь ...
Джереми Дэвис

1

Я также обнаружил, что это один из уроков vimtutor.

Чтобы найти его, вы можете ввести команду vimtutorв своем Терминале (я использовал на Mac) и прокрутить вниз, чтобы увидеть, есть ли у вас вызванный урок CREATE A STARTUP SCRIPT(для меня это был Урок 7.2), где описывается, как настроить исходный vimrcфайл.


У меня проблемы с этим. Учебник прошел нормально, хотя у меня нет набора $ VIMRUNTIME, поэтому я понятия не имею, где хранится этот vimrc_example.vim.
Nebbles

0

В моем $HOME/.vimrcя загружаю цветовую схему (соляризованную) и обнаружил, что мне нужно разместить ее syntax on после загрузки плагина. Если это до загрузки плагина, он не работает.

" this turns syntax highlighting on by default

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'lifepillar/vim-solarized8'

syntax on
" this does not turn syntax highlighting on by default

syntax on

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'lifepillar/vim-solarized8'
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.