全部博文(260)
分类: LINUX
2022-01-19 12:47:16
上次我们研究的是外部命令grep
到此为止学了很多的命令
ftplugin中
mkdir -p ~/.vim/ftplugin sudo vi ~/.vim/ftplugin/log.vim
function DateInsert() $delete read !date endfunction
$delete
read !date
新建并打开log文件
调用函数
:filetype
:set filetype=log
:function DateInsert
:call DateInsert()
:visual
查询帮助
sudo vi ~/.vim/ftdetect/log.vim
au BufRead,BufNewFile *.log set filetype=log
:nnoremap Di :call DateInsert()
nnoremap
在normal模式下依次按下Di
:autocmd BufWritePre *.log call DateInsert()
autocmd 是命令的名字
BufWritePre 是{events} 是触发条件
*.log 是 {file_pattern} 是文件模式
call DateInsert() 是{cmd}
:autocmd
:autocmd! FileWritePre *.log
:autocmd BufWritePre *.log call DateInsert()
echo "i am a log!" set filetype=log source ~/.vim/ftplugin/log.vim autocmd BufWritePre *.log call DateInsert()
augroup cprograms autocmd BufReadPost *.c *.h :set sw=4 sts=4 autocmd BufReadPost *.cpp :set sw=3 sts=3 augroup END
上面说的是在读取.c、.h 之后
在读取.cpp之后
autocmd cprograms BufReadPost *.c *.h :set sw=4 sts=4 autocmd cprograms BufReadPost *.cpp :set sw=3 sts=3
:autocmd BufReadPost *.gsm set filetype=asm
set filetype=asm
:autocmd Filetype text source ~/.vim/abbrevs.vim
Filetype text
source ~/.vim/abbrevs.vim
:autocmd BufNewFile *.[ch] 0read ~/sktletons/skel.c
BufNewFile *.[ch]
*.[ch]
0read ~/sktletons/skel.c
通配符wild character
*任意多个字符或数字
?一个字母
.
[]或者关系
{}或者关系
/
:autocmd FileChangedShell * nested edit
touch oeasy.txt oeasy.txt.new
:echo expand("%:t")
:e oeasy.txt
:echo expand("%:t")
:echo "hello i am " . expand("%:t")
autocmd BufReadPost * echo "hello i am " . expand("%:t")
:h expand
:doautocmd BufReadPost oeasy.txt
输入
:autocmd BufReadPost *.new execute "doautocmd BufReadPost " . expand("
autocmd BufReadPost *.new
excute "doautocmd BufReadPost " . expand("
如果我们重新打开oeasy.txt.new 或者切换buffer的时候
:autocmd BufReadPost *.log normal G
normal进入正常模式,在正常模式下
:autocmd BufReadPost *.txt execute "normal ggONew entry:\
autocmd BufReadPost *.txt
excute "normal ggONew entry:\
我们之前都是在用户的vim文件夹进行配置
现在我们去系统的vim文件夹看看具体的配置
系统的vim的文件夹在
其中有一些缩写
自动命令有这么几大元素
有这个我们可以
不过关于文件类型的高亮显示还是没有讲的特别清楚