vim编辑器(vimrc)的配置

关于vim的编辑器的配置文件

 vim编辑器的配置文件为vimrc的文件, 在/etc/vim/vimrc 或用户目录~/.vimrc(以点开头的隐藏文件,当ls -a时,才会显示出所有隐藏的文件),
如果在用户目录下没有的话可以将/etc/vim/vimrc下的复制到用户目录~/ ,用户目录下vimrc配置文件的优先级更高. 但是在当前用户下配置的.vimrc仅对当前用户有效.
在.vimrc文件中我们可以自定义多种初始化设置,每次打开vim会读取该配置文件.

Linux系统下,Tab键默认为8个字符,要修改为4个字符的方式, 和其他的设置, 在.vimrc配置文件中添加:

  • set tabstop=4
    tabstop 表示一个 tab 显示出来是4个空格,默认 8。
  • set shiftwidth=4
    shiftwidth 表示每一级缩进的空格数为4
  • set autoindent
    设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
  • set cindent
    使用 C/C++ 语言的自动缩进方式
  • set number或set nu
    显示行号
  • set hlsearch
    高亮搜索结果
  • syntax on
    语法高亮
  • set showmatch, set sm
    括号匹配高亮显示
  • set ic
    忽略字符大小写

vim中自动添加文件的作者、时间信息等.

按F2在文件头部自动添加

因为初学vim,简单配置了自己的vimrc,贴出来供大家参考下:
” 为注释行

" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by
" the call to :runtime you can find below.  If you wish to change any of those
" settings, you should do it in this file (/etc/vim/vimrc), since debian.vim
" will be overwritten everytime an upgrade of the vim packages is performed.
" It is recommended to make changes after sourcing debian.vim since it alters
" the value of the 'compatible' option.

" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim

" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
if has("syntax")
  syntax on
endif

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark

" 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

" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
"if has("autocmd")
"  filetype plugin indent on
"endif

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set showcmd        " Show (partial) command in status line.
"set showmatch      " Show matching brackets.
"set ignorecase     " Do case insensitive matching
"set smartcase      " Do smart case matching
"set incsearch      " Incremental search
"set autowrite      " Automatically save before commands like :next and :make
"set hidden     " Hide buffers when they are abandoned
"set mouse=a        " Enable mouse usage (all modes)
set tabstop=4     
set shiftwidth=4
set autoindent
set cindent
set number
" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif



"SET Comment START (Addtitles也就是添加标题)
"表示遇到这些文件类型自动创建 autocmd BufNewFile *.php,*.js,*.cpp,*.c exec ":call SetComment()" |normal 10Go

"map <F2> :call SetComment()<CR>:10<CR>o
map <F2> :call SetComment()<cr>'s  

func SetComment()
    if expand("%:e")=='php'
        call setline(1,"<?php")
    elseif expand("%:e")=='js'
        call setline(1,'//JavaScript file')
    elseif expand("%:e")=='cpp'
        call setline(1,'//C++ file')
    elseif expand("%:e")=='c'
        call setline(1,'//C file')
    endif
        call append(1,'/******************************************************')
    call append(2,'*')
    call append(3,'* Filename      : '.expand("%:t"))
        call append(4,'* Author        : Liuamin')
        call append(5,'* Email         : 502935795@qq.com')
        call append(6,'* Create        :'.strftime("%Y-%m-%d %H:%M:%S"))
        call append(7,'* Last modified :'.strftime("%Y-%m-%d %H:%M:%S"))
        call append(8,'* Description   :')
        call append(9,'* ****************************************************/')
    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endfunc
"SET Comment END

"Updata Last modified and Filename(更新最近修改时间和文件名)
function UpdataTitle()
   normal m'
   execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M:%S")@'
   normal ''
   execute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@'
   execute "noh"
   normal 'k
   echohl  WaringMsg | echo "Successful in updating the copy right."| echohl None
endfunction

"判断前10行代码中,是否有Last modified这个单词
"如果没有的话,代表没有添加过Title,需要新添加,此处屏蔽掉Setcomment(),没有不需要添加
"如果有的话,只需要更新即可
function UpdataTitle2()
    len n=1
        while n<7
        len line=getline(n)
        if line =~'^\s*\*\s*\S*Last\s*modified\s*:\s*\S*.*$'  
            call UpdataTitle()
            return
        endif
        len n=n+1
    endwhile
    call SetComment()
endfunction

"autocmd FileWritePre,BufWritePre *.php,*.js,*.cpp,*c ks|call UpdataTitle2() |'s
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值