我的VIM -- vimrc配置
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,主要都是参考融合了网上比较热的几分VIM配置文档,加上我的使用习惯而形成的。感谢他们的奉献!基本上每行配置上面都有注释,相信仔细看下就会明白的了。"不要使用vi的键盘模式,而是vim自己的set no
千家信息网最后更新 2025年02月01日我的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安全错误
数据库的锁怎样保障安全
自贡网络安全活动
计算机网络技术笔记
学子软件开发有限公司
东莞数字软件开发批发价
30岁软件开发员
京东云服务器自动签到
中华总工会网络安全工程师培训
广东省玩具出口数据库
网络安全指数计算无量纲化
怎么知道数据库端口
赵县网络安全宣传周
SAAS代驾软件开发商
加强网络安全意识教育培训是
校园网络安全状况及解决方法
河南商圈网络技术有限公司
龙威大厦网络安全公司
电子科技大学数据库怎么样
时序数据库就业方向
网络安全哪间高校
湖北gps时钟服务器云主机
游戏软件开发要求
30岁软件开发员
国家网络安全图画
4g无线网络技术的标准
网络安全目标包括哪些
手机做python软件开发
如何远程登录别的服务器
学校两会期间网络安全保障
现在月什么软件开发
oracle 数据库日志