vim FILETYPE
FILETYPE
*filetype.txt* For Vim version 6.4.
*filetype* *file-type*
1. |filetypes|
2. |filetype-plugins|
3. |ftplugin-docs|
|autocmd.txt|。
{Vi }
1. *filetypes* *file-types*
Vim 。 ,
。
*:filetype* *:filet*
, vimrc :
:filetype on
,Vim ,
'filetype' 。 , FileType 。 ,
, 。
: 'compatibile' 。 Vi
。 , 'compatible' 。
: ":filetype on" :
Amiga $VIMRUNTIME/filetype.vim
Mac $VIMRUNTIME:filetype.vim
MS-DOS $VIMRUNTIME\filetype.vim
RiscOS Vim:Filetype
Unix $VIMRUNTIME/filetype.vim
VMS $VIMRUNTIME/filetype.vim
Vim , BufNewFile BufRead
。 , $VIMRUNTIME/scripts.vim
。
, |new-filetype|。
, , 'filetype'
, 。 , IDL ,
:set filetype=idl
:
/* vim: set filetype=idl : */
*:filetype-plugin-on*
:
:filetype plugin on
, 。
'runtimepath' "ftplugin.vim" 。 , ,
( )。|filetype-plugin|
*:filetype-plugin-off*
:
:filetype plugin off
。 , 。
'runtimepath' "ftplugof.vim" 。
*:filetype-indent-on*
:
:filetype indent on
, 。
'runtimepath' "indent.vim" 。 , ,
( )。|indent-expression|
*:filetype-indent-off*
:
:filetype indent off
。 , 。
'runtimepath' "indoff.vim" 。
*:filetype-off*
, :
:filetype off
"plugin" "indent" , ,
":filetype on" , 。
: *:filetype-overview*
plugin indent
:filetype on
:filetype off
:filetype plugin on
:filetype plugin off
:filetype indent on
:filetype indent off
:filetype plugin indent on
:filetype plugin indent off
, :
:filetype
:
filetype detection:ON plugin:ON indent:OFF
。 ":syntax on" , 。
, ":syntax on" ":filetype on"。
, 。 |remove-filetype|。
*filetype-detect*
:
:filetype detect
, ,
。 , : "#!/bin/csh"。
, 。 "on" 。
*filetype-overrule*
,Vim 。
。 :
*.asa g:filetype_asa |aspvbs-syntax| |aspperl-syntax|
*.asp g:filetype_asp |aspvbs-syntax| |aspperl-syntax|
*.asm g:asmsyntax |asm-syntax|
*.prg g:filetype_prg
*.pl g:filetype_pl
*.inc g:filetype_inc
*.w g:filetype_w |cweb-syntax|
*.i g:filetype_i |progress-syntax|
*.p g:filetype_p |pascal-syntax|
*.sh g:bash_is_sh |sh-syntax|
*filetype-ignore*
, g:ft_ignore_pat 。 :
:let g:ft_ignore_pat = '\.\(Z\|gz\
|bz2\|zip\
|tgz\)$'
。
*new-filetype*
, 。 ,
$VIMRUNTIME/filetype.vim 。 Vim 。
A. 。
, 。 , 。 ,
。
1. 。 , 'runtimepath' 。 ,
"ftdetect" 。Unix :
:!mkdir ~/.vim
:!mkdir ~/.vim/ftdetect
2. 。 :
au BufRead,BufNewFile *.mine set filetype=mine
"augroup" 。 。
"*" , 。
"mine.vim", "ftdetect" 。
, Unix :
:w ~/.vim/ftdetect/mine.vim
3. , Vim。
"ftdetect" ,
。
B. 。
A 。 'filetype', ":setfiletype"。
'filetype'。 :
au BufRead,BufNewFile *.txt setfiletype text
, 。 , "pascal"
, "mypascal":
au BufRead,BufNewFile * if &ft == 'pascal' | set ft=mypascal
| endif
C. 。
1. 。 , 'runtimepath' 。Unix
:
:!mkdir ~/.vim
2. 。 :
" my filetype file
if exists("did_load_filetypes")
finish
endif
augroup filetypedetect
au! BufRead,BufNewFile *.mine setfiletype mine
au! BufRead,BufNewFile *.xyz setfiletype drawing
augroup END
< , "filetype.vim"。 , Unix :
:w ~/.vim/filetype.vim
3. , Vim。
, filetype.vim FileType 。 ,
, ":setfiletype"
'filetype'。
*new-filetype-scripts*
D. 。
1. 。 , 'runtimepath' 。Unix
:
:!mkdir ~/.vim
2. vim , 。 :
if did_filetype() " filetype ..
finish " ..
endif
if getline(1) =~ '^#!.*\
'
setfiletype mine
elseif getline(1) =~? '\
'
setfiletype drawing
endif
$VIMRUNTIME/scripts.vim。
"scripts.vim", 。 , Unix
:
:w ~/.vim/scripts.vim
3. , Vim。
scripts.vim ,
$VIMRUNTIME/scripts.vim 。
*remove-filetype*
, filetype.vim scripts.vim
( )。 'filetype' , :
:set filetype=ignored
, / ,
filetype.vim scripts.vim 。
'runtimepath' 。 , |system-vimrc|
'runtimepath'。 。
*autocmd-osfiletypes*
, 。
Vim ; 。
osfiletype , ,
:
:au BufRead *.html, runtime! syntax/html.vim
:
- '.html'
- `&faf' 'HTML' , Vim
。
_ _ 。
( ):
:au BufRead diff*
'&fff' `diff' 。
osfiletype Vim |+osfiletype| 。
*plugin-details*
"plugin" 'runtimepath' 。
, 。 , :
set runtimepath
:
runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim60
Vim :
/etc/vim/plugin/
~/.vim/plugin/
/usr/local/share/vim/vim60/plugin/
$VIMRUNTIME 。
? |-V| , Vim
:
vim -V1
。 。 :
Searching for "plugin/*.vim" in
, Vim 。
2. *filetype-plugins*
|:filetype-plugin-on|, ,
。 , 。
。 :
1. "maplocalleader" 。 :
:let maplocalleader = ","
, 。 ||。
2. 。 :
:map ,p
MailQuote
, 。
。 ( )。
。
3. 。 。
"mail" :
:let no_mail_maps = 1
4. :
:let no_plugin_maps = 1
*ftplugin-overrule*
, :
1. 。
'runtimepath' 。Unix ,
:
vim ~/.vim/ftplugin/fortran.vim
。 , 。
。 , 。
2. , 。
'runtimepath' 。Unix , :
cp $VIMRUNTIME/ftplugin/fortran.vim ~/.vim/ftplugin/fortran.vim
。 b:did_ftplugin ,
。 , ,
。
3. 。
'runtimepath' 。Unix ,
:
vim ~/.vim/after/ftplugin/fortran.vim
, 。
3. *ftplugin-docs*
CHANGELOG *changelog-plugin*
Changlog Changelog (entry)。 ,
:
:
'comments' , 。
'textwidth' 78, 。
'formatoptions' 't' , 。
:
NewChangelogEntry Changelog ( )。
:
o Changlog ( )。
:
: ftplugin/changelog.vim
。 |.vimrc| :
runtime ftplugin/man.vim
o ChangeLog 。
, 。
o 。
:
g:changelog_timeformat Changelog ( ) 。
|strftime()| 。
"%Y-%m-%d", ChangeLog
。
g:changelog_username email 。
。 /etc/passwd 。
,
。 $NAME , `whoami'
`hostname' email 。
Full Name
g:changelog_new_date_format
。
:
%% '%'
%d
%u
%c
"%d %u
\t* %c
",
(| , 。
)
|2003-01-14 Full Name
|
| *
|
g:changelog_new_entry_format
。 :
%c
"\t*%c",
| *
|
g:changelog_date_entry_search
。
g:changelog_new_date_format
。
'^\s*%d\_s*%u',
|2003-01-14 Full Name
。
Changelog , 。 ,
, , 。 ,
Changelog (item)。
FORTRAN *fortran-plugin*
:
'expandtab' , Fortran , 。
.vimrc fortran_have_tabs 。
'textwidth' Fortrean , 72,
80。
'formatoptions' , 。 |gq| 。
fortran_have_tabs ,
|fortran-syntax|。
MAIL *mail-plugin*
:
'modeline' , 。 "Vim:"
。
'textwidth' 72。 e-mail 。
'formatoptions' , ,
">" 。 |gq| 。
:
q \\MailQuote
, 。
"> " 。
MAN *man-plugin* *:Man*
。 |find-manpage|。
":Man" , vimrc
:
runtime ftplugin/man.vim
:
'iskeyword' '.' , CTRL-]
。
:
Man {name}
{name}
Man {number}
{name}
{number}
{name}
。
:
K 。
:
CTRL-]
。
CTRL-T
。
RPM SPEC *spec-plugin*
, : |pi_spec.txt|。
vim:tw=78:ts=8:ft=help:norl:
Generated by vim2html on Tue Mar 21 11:57:55 CST 2006