功能
1:设置tab键为4个空格的
2:保存时自动去掉末尾的空格
3:设置显示行号
4:新建文件时自动插入文件头
通过“.”来拼接字符串
" # @file ".expand("%"))
expand:获取当前文件名
strftime:获取当前时间。可以根据传递的参数获取不同格式的时间(%c,%F…)
"设置tab等于4个空格的长度,原来是8个"
set ts=4
"将tab键转化成空格"
set expandtab
"设置自动缩进,新写的行和前一行有相同的缩进"
set autoindent
set nu
""保存时自动去掉行尾的空格
autocmd BufWritePre *.c :%s/\s\+$//e
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""新文件标题
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"新建.c,.h,.sh,.java文件,自动插入文件头
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
""定义函数SetTitle,自动插入文件头
func SetTitle()
if &filetype == 'sh'
call setline(1, "################################################################################")
call append(line("."), " # @file ".expand("%"))
call append(line(".")+1, " # @verison v1.0.0")
call append(line(".")+2, " # @copyright COPYRIGHT © ".strftime("%Y")." CSG")
call append(line(".")+3, " # @author ShiYanKai ")
call append(line(".")+4, " # @date: ".strftime("%F"))
call append(line(".")+5, " # @brief ")
call append(line(".")+6, " # @bug ")
call append(line(".")+7, " # - ".strftime("%F")." SYK Created")
call append(line(".")+8, "################################################################################")
call append(line(".")+9, "#/bin/sh")
call append(line(".")+10, "")
else
call setline(1, "/*******************************************************************************")
call append(line("."), " * @file ".expand("%"))
call append(line(".")+1, " * @verison v1.0.0")
call append(line(".")+2, " * @copyright COPYRIGHT © ".strftime("%Y")." CSG")
call append(line(".")+3, " * @author ShiYanKai ")
call append(line(".")+4, " * @date: ".strftime("%F"))
call append(line(".")+5, " * @brief ")
call append(line(".")+6, " * @bug ")
call append(line(".")+7, " * - ".strftime("%F")." SYK Created")
call append(line(".")+8, "*******************************************************************************/")
call append(line(".")+9, "")
endif
if &filetype == 'cpp'
call append(line(".")+10, "#include<iostream>")
call append(line(".")+11, "using namespace std;")
call append(line(".")+12, "")
endif
if &filetype == 'c'
call append(line(".")+10, "#include <stdio.h>")
call append(line(".")+11, "")
endif
"新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G
endfunc
示例文件:文件下载
替换已经存在的tab
底行模式下输入如下命令:
:%retab
解决复制时换行错乱
:set paste