我的VIM -- vimrc配置
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,主要都是参考融合了网上比较热的几分VIM配置文档,加上我的使用习惯而形成的。感谢他们的奉献!基本上每行配置上面都有注释,相信仔细看下就会明白的了。"不要使用vi的键盘模式,而是vim自己的set no
千家信息网最后更新 2025年12月02日我的VIM -- vimrc配置
主要都是参考融合了网上比较热的几分VIM配置文档,加上我的使用习惯而形成的。感谢他们的奉献!
基本上每行配置上面都有注释,相信仔细看下就会明白的了。
"不要使用vi的键盘模式,而是vim自己的set nocompatible" 语法高亮set syntax=on" 去掉输入错误的提示声音set noeb" 在处理未保存或只读文件的时候,弹出确认set confirm" 自动缩进set autoindentset cindent" Tab键的宽度set tabstop=4" 统一缩进为4set softtabstop=4set shiftwidth=4" 不要用空格代替制表符set noexpandtab" 在行和段开始处使用制表符set smarttab" 显示行号set number" 历史记录数set history=1000"禁止生成临时文件set nobackupset noswapfile"搜索忽略大小写set ignorecase"搜索逐字符高亮set hlsearchset incsearch"行内替换set gdefault"编码设置set enc=utf-8set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936"语言设置set langmenu=zh_CN.UTF-8set helplang=cn" 我的状态行显示的内容(包括文件类型和解码)set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]" 总是显示状态行set laststatus=2" 在编辑过程中,在右下角显示光标位置的状态行set ruler " 命令行(在状态行下)的高度,默认为1,这里是2set cmdheight=2" 侦测文件类型filetype on" 载入文件类型插件filetype plugin on" 为特定文件类型载入相关缩进文件filetype indent on" 保存全局变量set viminfo+=!" 带有如下符号的单词不要被换行分割set iskeyword+=_,$,@,%,#,-" 字符间插入的像素行数目set linespace=0" 增强模式中的命令行自动完成操作set wildmenu" 使回格键(backspace)正常处理indent, eol, start等set backspace=indent,eol,start"状态栏显示目前所执行的指令set showcmd" 允许backspace和光标键跨越行边界set whichwrap+=<,>,h,l" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)set mouse=aset selection=exclusiveset selectmode=mouse,key" 通过使用: commands命令,告诉我们文件的哪一行被改变过set report=0" 启动的时候不显示那个援助索马里儿童的提示set shortmess=atl" 在被分割的窗口间显示空白,便于阅读set fillchars=vert:\ ,stl:\ ,stlnc:\" 高亮显示匹配的括号set showmatch" 匹配括号高亮的时间(单位是十分之一秒)set matchtime=5" 光标移动到buffer的顶部和底部时保持3行距离set scrolloff=3" 为C程序提供自动缩进set smartindent"隐藏工具栏set guioptions-=T"隐藏菜单栏set guioptions-=m"开启折叠"set foldenable"设置语法折叠"set foldmethod=syntax"设置折叠区域的宽度"set foldcolumn = 0"设置折叠层数"set foldlevel=1 "设置自动关闭折叠"set foldclose=all"自动切换当前目录为当前文件的目录set autochdirset tags=tags;let Tlist_Show_One_File=1let Tlist_Exit_OnlyWindow=1"设置字体set guifont=Inconsolata\ 12"设置配色方案colorscheme desertlet g:winManagerWindowLayout='FileExplorer|TagList'nmap wm :WMToggleset cscopequickfix=s-,c-,d-,i-,t-,e-cs add cscope.outlet g:miniBufExplMapCTabSwitchBufs = 1let g:miniBufExplMapWindowNavVim = 1" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示if has("autocmd") autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number autocmd FileType xml,html vmap 'o'>o--> autocmd FileType java,c,cpp,cs vmap ''>o*/ autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100 autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal g`\"" | \ endifendif " has("autocmd")" F5编译和运行C程序" C的编译和运行map :call CompileRunGcc()func! CompileRunGcc()exec "w"exec "!gcc -Wall % -o %<"exec "! ./%<"endfunc" C++的编译和运行map :call CompileRunGpp()func! CompileRunGpp()exec "w"exec "!cscope -Rbq"endfunc" 能够漂亮地显示.NFO文件set encoding=utf-8function! SetFileEncodings(encodings) let b:myfileencodingsbak=&fileencodings let &fileencodings=a:encodingsendfunctionfunction! RestoreFileEncodings() let &fileencodings=b:myfileencodingsbak unlet b:myfileencodingsbakendfunctionau BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=singleau BufReadPost *.nfo call RestoreFileEncodings()
文件
状态
类型
高亮
命令
时候
编译
运行
配置
光标
制表符
字符
宽度
括号
模式
目录
程序
语法
鼠标
行号
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我的世界的中国服务器
吃鸡游戏服务器上的二维码在哪
e开头的cpu是服务器cpu吗
stm32能嵌入数据库吗
计算机网络技术不会英语
互联网词包数据库
海南农业资源信息大数据库
网络安全应聘要什么要求
饥荒服务器多大内存
软件开发程序员难学么
计算机软件开发服务合同纠纷
公需科目网络安全知识题库
软件开发用4800好么
网络安全与管理简答题答案
数据库的两级映像
软件开发如何兼容杀毒软件
网络安全政策法律动态
教育部关于网络安全工作的通知
数据库insert文件
乐山网络技术哪家强
快速学计算机网络技术
局域网缓存服务器
珠海电脑软件开发价钱
数据库入门培训提升班
中学生网络安全ppt下载
软件开发工程师职业发展道路
中外发明专利数据库
软件开发务虚会发言稿
数据库系统的备份和恢复试验
信息数据库软件免费正式版