Vim: gg = G выравнивается влево, не автоиндексируется

Когда я пытаюсь исправить отступ HTML файла с помощью gg=G, каждая строка теряет свой отступ и становится левой. Кто-нибудь знает, что может здесь происходить?

test.html

<html>
   <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Indent test</title>
   </head>
   <body>
    <div id="test">
<div id="test2">
</div>          
    </div>
   </body>
</html>

test.html после запуска gg = G:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Indent test</title>
</head>
<body>
<div id="test">
<div id="test2">
</div>          
</div>
</body>
</html>

.vimrc

".vimrc
" Thomas
"
" This file contains tips and ideas from a wide variety of sources. Since this is for personal use, I'm lazy about
" distributing credit.
"
" Thank you, everybody.
" 

" BASICS
" --------------------------
" Searches are case-insensitive. Use /searchstring/I to disable temporarily.
set ignorecase

" Need this for some plugins to work. Not sure what it does.
filetype plugin on

" Auto-indent facility
set ai

" AESTHEICS
" --------------------------
let g:zenburn_high_Contrast = 1
let g:zenburn_alternate_Visual = 1
colorscheme zenburn 
set lines=53
set columns=130


" Turn on line numbers by default
set number

" Turn off annoying error bells
set noerrorbells
set visualbell
set t_vb=

" Show tabs and trailing whitespace visually http://docs.google.com/View?docid=dfkkkxv5_65d5p3nk 
if (&termencoding == "utf-8") || has("gui_running")
if v:version >= 700
set list listchars=tab:»\ ,trail:·,extends:…,nbsp:‗
else
set list listchars=tab:»\ ,trail:·,extends:…
endif
else
if v:version >= 700
set list listchars=tab:>\ ,trail:.,extends:>,nbsp:_
else
set list listchars=tab:>\ ,trail:.,extends:>
endif
endif

if ((has('syntax') && (&t_Co > 2)) || has('gui_running'))
     syntax on
endif


" BASIC RECONFIGURATION
" -------------------------

" Remap jj to <esc>
inoremap jj <Esc>
nnoremap JJJJ <Nop>

" Set tabs to 2 characters
set shiftwidth=2
set softtabstop=2

" Keep all temporary and backupfiles in ~/.vim 
set backup
set backupdir=~/.vim/backup
set directory=~/.vim/tmp

" Enable nice big viminfo file
set viminfo='1000,f1,:1000,/1000
set history=500

" FUNCTION KEYS
" -------------------------
" F7 - Indent entire file
map <F7> mzgg=G'z<CR>

" F3 - Toggle highlight search 
set hlsearch!
nnoremap <F3> :set hlsearch!<CR>

Ответ 1

Вам нужно включить загрузку файлов отступов для определенных типов файлов. Измените эту строку в .vimrc...

filetype plugin on

.. к этому:

filetype plugin indent on

... затем перезапустите Vim и повторите попытку.

Подробнее см. :help filetype-indent-on.

Ответ 2

может быть, он не признает, что это html. Можете ли вы увидеть подсветку синтаксиса?. Не могли бы вы показать свой файл + имя файла?

€: Пожалуйста, измените следующее: filetype plugin on → filetype plugin indent on

Надеюсь, это решит. рассматривает