VIM之个性化配置 .vimrc

  • 2019 年 10 月 5 日
  • 筆記

贴一个自己常用的vim配置文件,个人感觉这些配置不算臃肿,对于运维已经基本够用了。

set shortmess=atI

syntax enable

syntax on "设置语法高亮

set nu

set ruler

set autoindent "设置自动缩进

set nocompatible

set magic

set confirm

set history=1000

set cursorline

highlight Comment ctermfg=lightblue guifg=darkblue

set cindent

set tabstop=4

set softtabstop=4 "设置软制表符4个空格

set shiftwidth=4 "设置缩进4个空格

set smarttab

set si

set wrap

set showmatch

set smartindent

set cin

set hlsearch

au BufReadPost * if line("'"") > 0|if line("'"") <= line("$")|exe("norm '"")|else|exe "norm $"|endif|endif

" 下面是添加F4热键自动加入文件头注释信息

map <F4> ms:call AddAuthor()<cr>'S

function AddAuthor()

    let n=1

    while n < 11

        let line = getline(n)

        if line=~'[#]*s**s*S*Lasts*modifieds*:s*S*.*$'

        call UpdateTitle()

        return

    endif

    let n = n + 1

    endwhile

    if &filetype == 'sh'

        call AddTitleForShell()

    elseif &filetype == 'python'

        call AddTitleForPython()

    else

        call AddTitleForC()

    endif

endfunction

function UpdateTitle()

    normal m'

    execute '/* Last modifieds*:/s@:.*$@=strftime(": %Y-%m-%d %H:%M")@'

    normal mk

    execute '/* Filenames*:/s@:.*$@=": ".expand("%:t")@'

    execute "noh"

    normal 'k

    echohl WarningMsg | echo "Successful in updating the copy right." |echohl None

endfunction

"" add comment for C

function AddTitleForC()

    call append(0,"/**********************************************************")

    call append(1," * Author        : Lee")

    call append(2," * Email         : [email protected]")

    call append(3," * Create time   : ".strftime("%Y-%m-%d %H:%M"))

    call append(4," * Last modified : ".strftime("%Y-%m-%d %H:%M"))

    call append(5," * Filename      : ".expand("%:t"))

    call append(6," * Description   : ")

    call append(7," * *******************************************************/")

    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None

endfunction

"" add comment for Python

function AddTitleForPython()

    call append(0,"#!/usr/bin/python")

    call append(1,"# -*- coding: UTF-8 -*-")

    call append(2,"")

    call append(3,"# **********************************************************")

    call append(4,"# * Author        : Lee")

    call append(5,"# * Email         : [email protected]")

    call append(6,"# * Create time   : ".strftime("%Y-%m-%d %H:%M"))

    call append(7,"# * Last modified : ".strftime("%Y-%m-%d %H:%M"))

    call append(8,"# * Filename      : ".expand("%:t"))

    call append(9,"# * Description   : ")

    call append(10,"# **********************************************************")

    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None

endfunction

"" add conment for shell

function AddTitleForShell()

    call append(0,"#!/bin/bash")

    call append(1,"# **********************************************************")

    call append(2,"# * Author        : Lee")

    call append(3,"# * Email         : [email protected]")

    call append(4,"# * Create time   : ".strftime("%Y-%m-%d %H:%M"))

    call append(5,"# * Last modified : ".strftime("%Y-%m-%d %H:%M"))

    call append(6,"# * Filename      : ".expand("%:t"))

    call append(7,"# * Description   : ")

    call append(8,"# **********************************************************")

endfunction