2015-02-15 4 views
0

Когда я редактировать HTML, у меня есть основные моменты, как изображенияVim, почему у меня есть выделенные части?

Imgur

Я не хочу это особо. FYI это мой .vimrc

set nocompatible    " be iMproved, required 

filetype off     " required 
set rtp+=~/.vim/bundle/vundle/ " set the runtime path to include Vundle and initialize 
call vundle#rc() 
" Bundle 'gmarik/vundle'   " let Vundle manage Vundle, required 
Bundle "wookiehangover/jshint.vim" 
Bundle "mru.vim" 
Bundle 'godlygeek/tabular' 
Bundle 'plasticboy/vim-markdown' 
filetype plugin indent on  " required 

syntax on      " Enable syntax highlighting 

set wildmenu     " Better command-line completion 
set showcmd     " Show partial commands in the last line of the screen 
set hlsearch 

set autoindent 
set shiftwidth=2 
set softtabstop=2 
set expandtab     " Allow backspacing over autoindent, line breaks and start of insert action 

set ignorecase     " for case insensitive search 
set smartcase     " except when using capital letters 

set backup 
set backupdir=~/.vim/backup 
set directory=~/.vim/tmp 

set splitright    " when vertically split, open new window on the right(default, left) 
set splitbelow    " when horizontally split, open new window on the bottom(default, top) 

" Keyboard Mapping 
nnoremap <Leader>b :MRU<CR> " \b to see the most recent used files 
" = to run tidy on html 
au FileType html setlocal equalprg=tidy\ -q\ -i\ --show-errors\ 0\ --tab-size\ 4\ --wrap\ 200\ --indent-spaces\ 4 

" for markdown plugin 
let g:vim_markdown_folding_disabled=1 

let g:vim_markdown_no_default_key_mappings=1 

EDIT ----

Я люблю эту SO сообщества. Я следил за всеми комментариями и ответами и узнал следующее.

  1. изменил <i/> к <i></i>
  2. syntax off
  3. syntax on
+2

Возможно, из-за бродячих ''? ... В любом случае вы можете самостоятельно отлаживать свой файл vimrc ** ** с помощью 'vim -u NONE file', это предотвратит загрузку vimrc. Если проблема исчезнет, ​​попробуйте отключить плагины/параметры. Если нет, проверьте свой HTML на наличие ошибок (также что-то, что вы можете сделать ** самостоятельно ** с легкостью). – Carpetsmoker

+1

попробуйте 'синтаксис off'? – JJoao

ответ

2

Это может быть из-за < я/> ... теге ваш подсветка синтаксиса может не признать, что вы самостоятельно закрыли ,

В противном случае у вас может быть установлен параметр «список» (он не в вашем vimrc, но плагин, возможно, добавил его) ... Если какой-то из вашего кода имеет отступы с вкладками и другими пространствами частей, то если «список ', то он выделяет только вкладки, например.

Попробуйте сделать :set nolist и посмотреть, исчезли ли выделенные области. Вы можете удалить блуждающие вкладки или пробелы (в зависимости от вашей настройки expandtab), выполнив :retab.

Визуальный результат :set list зависит от вашей цветовой схемы и настроек для listchars. Например, у меня есть set listchars=tab:▸\ ,eol:¬ в моем .vimrc дома. См. :help 'listchars' для получения дополнительной информации.

Если вы хотите по-прежнему иметь визуальное различие между ведущими вкладками и пробелами, вы можете изменить свою цветовую схему. Это немного более активно. С помощью Vim:

The "NonText" highlighting will be used for "eol", "extends" and 
"precedes". "SpecialKey" for "nbsp", "tab" and "trail". 

Чтобы изменить внешний вид этих синтаксических групп, добавить свои собственные :highlight команды в вашем .vimrc или отредактировать файл ColorScheme.

+0

Выделение синтаксиса совершенно корректно под HTML5. '' - это просто синтаксический сахар для ''. Ну, технически это незаконно, потому что '' не является тегом void, но не совсем необоснованно его анализировать. – Kevin

+0

Я согласен с тем, что он должен * признать самозакрывающимся, но, глядя на мою версию $ VIMRUNTIME/syntax/html.vim, он был обновлен в 2012 году, но, похоже, у него не было правил с HTML 4, включая XHTML, где мы сначала увидели «/>». Он не имеет никакой логики для обработки <$tag/> как значения <$tag>. –

Смежные вопросы