vim配置

"==
" Author : mamo
" Website: mamolinux.cn
" Vrsion: 1.0
"==

"按编程语言的语法,对代码进行彩色标示,术语叫做语法高亮
syntax on

"显示行数标示
set number

"打开状态栏的坐标信息
set ruler

"取消底部状态栏显示。1为关闭,2为开启。
set laststatus=2

"将输入的命令显示出来,便于查看当前输入的信息
set showcmd

"设置vim存储的历史命令记录的条数
set history=100

"下划线高亮显示光标所在行
"set cursorline
"set cursorcolumn
highlight CursorLine guibg=lightblue ctermbg=lightgray

"插入右括号时会短暂地跳转到匹配的左括号
set showmatch

"搜索时忽略大小写
"set ignorecase

"设置一个tab对应4个空格
set tabstop=2

"在按退格键时,如果前面有4个空格,则会统一清除
set softtabstop=2

"cindent对c语法的缩进更加智能灵活,
"而shiftwidth则是在使用<和>进行缩进调整时用来控制缩进量。

"换行自动缩进,是按照shiftwidth值来缩进的
set cindent shiftwidth=2

"最基本的自动缩进
set autoindent shiftwidth=2

"比autoindent稍智能的自动缩进
set smartindent shiftwidth=2

"将新增的tab转换为空格。不会对已有的tab进行转换
set expandtab

"高亮显示搜索匹配到的字符串
set hlsearch
hi Search ctermbg=LightYellow
hi Search ctermfg=Red

"在搜索模式下,随着搜索字符的逐个输入,实时进行字符串匹配,并对首个匹配到的字符串高亮显示
"set incsearch

" 高亮第80列以后的字符
"highlight OverLength ctermbg=red ctermfg=white guibg=#592929
"match OverLength /\%81v.\+/
" 81列划线
set colorcolumn=81
hi ColorColumn ctermbg=DarkGreen
hi ColorColumn ctermfg=DarkRed

" show chinese
let &termencoding=&encoding
set fileencodings=utf-8,gbk

set viminfo='1000,<800

" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

autocmd BufNewFile *.sh,*.pl,*.py exec ":call SetTitle()"
"autocmd BufWrite   *.sh,*.pl,*.py exec ":call ModifyTitle()"

autocmd BufWrite *.sh,*pl,*py if getline(6) != "# Modify Author: ".expand("$SHTERM_REAL_USER@alibaba-inc.com") || split(getline(7))[3] != strftime("%F") | call ModifyTitle() | endif

autocmd BufNewFile,BufRead *.py exec ":call SetTable()"
func SetTable()
  set expandtab
  set tabstop=2
  set shiftwidth=2
endfunc

func SetTitle()
  if &filetype == 'sh'
    call setline(1, "\#!/bin/sh")
    call append(line("."), "\#****************************************************************#")
    call append(line(".")+1, "\# ScriptName: ".expand("%") )
    call append(line(".")+2, "\# Author: ".expand("$SHTERM_REAL_USER@alibaba-inc.com") )
    call append(line(".")+3, "\# Create Date: ".strftime("%F %R"))
    call append(line(".")+4, "\# Modify Author: ".expand("$SHTERM_REAL_USER@alibaba-inc.com") )
    call append(line(".")+5, "\# Modify Date: ".strftime("%F %R"))
    call append(line(".")+6, "\# Function: " )
    call append(line(".")+7, "\#***************************************************************#")
    call append(line(".")+8, "")
    :8
  elseif &filetype == 'perl'
    call setline(1, "\#!/usr/bin/perl")
    call append(line("."), "\#****************************************************************#")
    call append(line(".")+1, "\# ScriptName: ".expand("%") )
    call append(line(".")+2, "\# Author: ".expand("$SHTERM_REAL_USER@alibaba-inc.com") )
    call append(line(".")+3, "\# Create Date: ".strftime("%F %R"))
    call append(line(".")+4, "\# Modify Author: ".expand("$SHTERM_REAL_USER@alibaba-inc.com") )
    call append(line(".")+5, "\# Modify Date: ".strftime("%F %R"))
    call append(line(".")+6, "\# Function: ")
    call append(line(".")+7, "\#***************************************************************#")
    call append(line(".")+8, "")
    :8
  elseif &filetype == 'python'
    call setline(1, "\#!/usr/bin/python")
    call append(line("."), "\#****************************************************************#")
    call append(line(".")+1, "\# ScriptName: ".expand("%") )
    call append(line(".")+2, "\# Author: ".expand("$SHTERM_REAL_USER@alibaba-inc.com") )
    call append(line(".")+3, "\# Create Date: ".strftime("%F %R"))
    call append(line(".")+4, "\# Modify Author: ".expand("$SHTERM_REAL_USER@alibaba-inc.com") )
    call append(line(".")+5, "\# Modify Date: ".strftime("%F %R"))

    call append(line(".")+6, "\# Function: ")
    call append(line(".")+7, "\#***************************************************************#")
    call append(line(".")+8, "")
    :8
  endif
endfunc

func ModifyTitle()
  if getline(6) =~ "# Modify Author:.*"
    call setline(6, "\# Modify Author: ".expand("$SHTERM_REAL_USER@alibaba-inc.com") )
    call setline(7, "\# Modify Date: ".strftime("%F %R"))
  endif
endfunc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值