简体   繁体   中英

What should I add to my .vimrc, when I create an html file with vim, created *.html file shows <!DOCTYPE html>… by default?

I checked this question to solve my problem, but I couldn't. Is there any way when I create xxx.html file with vim editor by terminal to open it, vim shows these lines by default(like PHP STORM)?
I tried some given solutions like adding this line to my .vimrc:

au BufNewFile *.html 0r ~/.vim/html.skel | let IndentStyle = "html"

But I got an error(when I want to open x.html file:

Error detected while processing BufNewFile Auto commands for "*.html":
E484: Can't open file /home/radioactive/.vim/html.skel
Press ENTER or type command to countinue

Or when i add these lines:

augroup Xml
    au BufNewFile *.xml 0r ~/vim/skeleton.xml
augroup end

Nothing happens when I create *.html file.
What I'm asking for is:
For example:

sss@sss:~$ vim x.html

Created x.html file should be like this(by default):

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    </body>
</html>

What should I add to my .vimrc ? Is there any other solution?
My .vimrc:

:set number " Display line numbers on the left side
:set ls=2 " This makes Vim show a status line even when only one window is shown
:filetype plugin on " This line enables loading the plugin files for specific file types
:set tabstop=4 " Set tabstop to tell vim how many columns a tab counts for. Linux kernel code expects each tab to be eight columns wide.
:set expandtab " When expandtab is set, hitting Tab in insert mode will produce the appropriate number of spaces.
:set softtabstop=4 " Set softtabstop to control how many columns vim uses when you hit Tab in insert mode. If softtabstop is less than tabstop and expandtab is not set, vim will use a combination of tabs and spaces to make up the desired spacing. If softtabstop equals tabstop and expandtab is not set, vim will always use tabs. When expandtab is set, vim will always use the appropriate number of spaces.
:set shiftwidth=4 " Set shiftwidth to control how many columns text is indented with the reindent operations (<< and >>) and automatic C-style indentation. 
:setlocal foldmethod=indent " Set folding method
:set t_Co=256 " makes Vim use 256 colors
:set nowrap " Don't Wrap lines!
:colorscheme molokai  "Set colorScheme
:set nocp " This changes the values of a LOT of options, enabling features which are not Vi compatible but really really nice
:set clipboard=unnamed
:set clipboard=unnamedplus
:set autoindent " Automatic indentation
:set cindent " This turns on C style indentation
:set si " Smart indent
:syntax enable " syntax highlighting
:set showmatch " Show matching brackets
:set hlsearch " Highlight in search
"":set ignorecase " Ignore case in search
:set noswapfile " Avoid swap files
:set mouse=a " Mouse Integration

" auto complete for ( , " , ' , [ , { 
:inoremap        (  ()<Left>
:inoremap        "  ""<Left>
:inoremap        `  ``<Left>
:inoremap        '  ''<Left>
:inoremap        [  []<Left>
:inoremap      {  {}<Left>

" auto comment and uncooment with F6 and F7 key
:autocmd FileType c,cpp,java,scala let b:comment_leader = '// '
:autocmd FileType sh,ruby,python   let b:comment_leader = '# '
:noremap <silent> #6 :<C-B>silent<C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:nohlsearch<CR> " commenting line with F6
:noremap <silent> #7 :<C-B>silent<C-E>s/^\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:nohlsearch<CR> "uncommenting line with F7
:noremap <silent> #5 :!konsole --hold -e 'python ./%' <CR> <CR>" execute python script with F5
" :noremap <silent> #5 :!xterm -hold -e './%' <CR> <CR>" execute bash &python script with F5
:noremap <silent> #3 :tabprevious<CR> " switch to previous tab with F3
:noremap <silent> #4 :tabnext<CR> " switch to next tab with F2
:map <F8> :setlocal spell! spelllang=en_us<CR> " check spelling with F8
:set pastetoggle=<F2> " Paste mode toggle with F2 Pastemode disable auto-indent and bracket auto-compelation and it helps you to paste code froelsewhere .
autocmd TextChanged,TextChangedI <buffer> silent write    " autosave
:let NERDTreeShowHidden=1    "show hidden files


" plugins
"indentLine 
:let g:indentLine_char = '.'
" autocomplpop setting
:set omnifunc=syntaxcomplete " This is necessary for acp plugin
:let g:acp_behaviorKeywordLength = 1 "  Length of keyword characters before the cursor, which are needed to attempt keyword completion



" Vim-plug
" Plugins will be downloaded under the specified directory.
call plug#begin('~/.vim/plugged')

" enter the plugin you wanna install here
Plug 'https://github.com/junegunn/vim-plug.git'
" List ends here. Plugins become visible to Vim after this call.
call plug#end()



" NERDTree plugin setting

"toggle showing NERDTree with F9
:map <F9> :NERDTreeToggle<CR> 

"open a NERDTree automatically when vim starts up if no files were specified
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif

" close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

" Open file in new tab with ctrl + t
:let NERDTreeMapOpenInTab='<c-t>'

"vim-airline-clock 
:let g:airline#extensions#clock#format = '%c'



" airline plugin setting
:let g:airline_theme='wombat' " set airline plugin theme
:let g:airline#extensions#tabline#enabled = 1 " showing tabs 
:let g:airline_powerline_fonts = 1
if !exists('g:airline_symbols')
    let g:airline_symbols = {}
  endif

" unicode symbols
:let g:airline_left_sep = '»'
:let g:airline_left_sep = '▶'
:let g:airline_right_sep = '«'
:let g:airline_right_sep = '◀'

Looks like you're missing your "skeleton" file.

Just create the html.skel file with your HTML skeleton in your ~/.vim folder. Then the first auto command you posted in your question should work fine.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM