我检查了这个问题来解决我的问题,但我不能。 当我通过终端使用 vim 编辑器创建 xxx.html 文件时有什么办法打开它,vim 默认显示这些行(如 PHP STORM(?
我尝试了一些给定的解决方案,例如将这一行添加到我的 .vimrc 中:
au BufNewFile *.html 0r ~/.vim/html.skel | let IndentStyle = "html"
但是我收到一个错误(当我想打开x.html
文件时:
处理 "*.html"的 BufNewFile 自动命令时检测到错误:
E484:无法打开文件/home/radioactive/.vim/html.skel
按 ENTER 或键入命令进行计数
或者当我添加这些行时:
augroup Xml
au BufNewFile *.xml 0r ~/vim/skeleton.xml
augroup end
创建 *.html 文件时没有任何反应。
我要的是:
例如:
sss@sss:~$ vim x.html
创建的 x.html 文件应该是这样的(默认情况下(:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
我应该在.vimrc
中添加什么?还有其他解决方案吗?
我的 .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 = '◀'
看起来您缺少"骨架"文件。
只需在~/.vim
文件夹中使用 HTML 框架创建html.skel
文件即可。那么你在问题中发布的第一个自动命令应该可以正常工作。