修改 ~/.vimrc 文件(该文件是用户自己vim的配置文件,可随意修改)。
vim ~/.vimrc
极简版。
"关闭兼容功能 set nocompatible"显示行号 set number"编辑时 backspace 键设置为2个空格 set backspace=2"编辑时 tab设置为4个空格 set tabstop=4"设置自动对齐为4个空格 set shiftwidth=4"搜索时不区分大小写 set ignorecase"搜索时高亮显示 set hlsearch
我的.vimrc配置
"控制 set nocompatible"关闭vi兼容 filetype off"关闭文件类型侦测,vundle需要 set fileencodings=utf-8,gbk"使用utf-8或gbk编码方式 syntax on"语法高亮 set backspace=2"退格键正常模式 set whichwrap=<,>,[,]"当光标到行首或行尾,允许左右方向键换行 set autoread"文件在vim外修改过,自动重载 set nobackup"不使用备份 set confirm"在处理未保存或只读文件时,弹出确认消息 set scrolloff=3"光标移动到距离顶部或底部开始滚到距离 set history=1000"历史记录数 set selection=inclusive"选择包含最后一个字符 set selectmode=mouse,key"启动选择模式的方式 set completeopt=longest,menu"智能补全,弹出菜单,无歧义时才自动填充 set noswapfile"关闭交换文件 set hidden"允许在有未保存的修改时切换缓冲区"显示 set t_Co=256"可以使用的颜色数目 set number"显示行号 set laststatus=2"显示状态行 set ruler"显示标尺 set showcmd"显示输入的命令 set showmatch"高亮括号匹配 set matchtime=1"匹配括号高亮的时间(十分之一秒) set matchpairs={:},(:)"匹配括号"{}""()"set hlsearch"检索时高亮匹配项 set incsearch"边检索边显示匹配 set go-=T"去除gvim的toolbar"格式 set noexpandtab"不要将tab转换为空格 set shiftwidth=4"自动缩进的距离,也是平移字符的距离 set tabstop=4"tab键对应的空格数 set autoindent"自动缩进 set smartindent"智能缩进"树形目录 map
:NERDTreeToggle"Ctrl+N 打开/关闭 autocmd StdinReadPre * let s:std_in=1"当不带参数打开Vim时自动加载项目树 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType =="primary") | q | endif let NERDTreeIgnore=['\.pyc$', '\~$', 'node_modules']"ignore files in NERDTree"不显示这些文件 let NERDTreeMinimalUI=1"不显示项目树上额外的信息,例如帮助、提示什么的"新建.c,.h,.sh,.java,.py文件,自动插入文件头 autocmd BufNewFile *.py,*.cpp,*.[ch],*.sh,*.java exec":call SetTitle()"""定义函数SetTitle,自动插入文件头 func SetTitle()"如果文件类型为.sh文件 if &filetype == 'sh' call setline(1,"\#!/bin/bash") call append(line("."),"") call append(line(".")+1,"\"\"\"") call append(line(".")+2,"\# File Name:".expand("%")) call append(line(".")+3,"\# Author: zsy")"call append(line(".")+2,"\# mail: 1376447675@qq.com") call append(line(".")+4,"\# Created Time:".strftime("%c")) call append(line(".")+5,"") call append(line(".")+6,"\"\"\"") endif if &filetype == 'python' call setline(1,"\#!/usr/bin/python") call append(line("."),"\#coding:utf-8") call append(line(".")+1,"\"\"\"") call append(line(".")+2,"\# File Name:".expand("%")) call append(line(".")+3,"\# Author: zsy") call append(line(".")+4,"\# Created Time:".strftime("%H:%M %Y-%m-%d")) call append(line(".")+5,"") call append(line(".")+6,"\"\"\"") else call setline(1,"/*************************************************************************") call append(line("."),"> File Name:".expand("%")) call append(line(".")+1,"> Author: zsy")"call append(line(".")+2,"> Mail: 1376447675@qq.com") call append(line(".")+2,"> Created Time:".strftime("%c")) call append(line(".")+3,"************************************************************************/") call append(line(".")+4,"") endif if &filetype == 'cpp' call append(line(".")+5,"#include") call append(line(".")+6,"using namespace std;") call append(line(".")+7,"") call append(line(".")+8,"int main(int argc, char* argv[])") call append(line(".")+9,"{") call append(line(".")+10,"") call append(line(".")+11,"return 0;") call append(line(".")+12,"}") call append(line(".")+13,"") endif if &filetype == 'c' call append(line(".")+5,"#include") call append(line(".")+6,"#include") call append(line(".")+7,"#include") call append(line(".")+8,"#include") call append(line(".")+9,"#include") call append(line(".")+10,"") call append(line(".")+11,"int main(int argc, char* argv[])") call append(line(".")+12,"{") call append(line(".")+13,"") call append(line(".")+14,"printf(\"Hello World!\\n\");") call append(line(".")+15,"return 0;") call append(line(".")+16,"}") endif"新建文件后,自动定位到文件末尾 autocmd BufNewFile * normal G endfunc
参考链接:
vim设置新建文件自动填入的文件头(作者信息等)、设置编辑时间、鼠标直接定位