"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
一般设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
设定默认解码
set fenc=utf-8
set
fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
" 不要使用vi的键盘模式,而是vim自己的
set nocompatible
" history文件中需要记录的行数
set history=100
" 在处理未保存或只读文件的时候,弹出确认
set confirm
" 与windows共享剪贴板
set clipboard+=unnamed
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
filetype indent on
" 保存全局变量
set viminfo+=!
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
" 语法高亮
syntax on
" 高亮字符,让其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white
guibg=red guifg=white
:match OverLength '\%101v.*'
" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight
StatusLineNC guifg=Gray guibg=White
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
文件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
不要备份文件(根据自己需要取舍)
set nobackup
" 不要生成swap文件,当buffer被丢弃的时候隐藏它
setlocal noswapfile
set
bufhidden=hide
" 字符间插入的像素行数目
set linespace=0
" 增强模式中的命令行自动完成操作
set wildmenu
" 在状态行上显示光标所在位置的行号和列号
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\
%3l\ %c\ %p%%%)
" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2
" 使回格键(backspace)正常处理indent, eol, start等
set backspace=2
" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set
selection=exclusive
set selectmode=mouse,key
" 启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI
" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
" 不让vim发出讨厌的滴滴声
set noerrorbells
" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
搜索和匹配
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
高亮显示匹配的括号
set showmatch
" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=5
" 在搜索的时候忽略大小写
set ignorecase
" 不要高亮被搜索的句子(phrases)
set nohlsearch
" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set incsearch
" 输入:set list命令是应该显示些啥?
set listchars=tab:\|\
,trail:.,extends:>,precedes:<,eol:$
" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
" 不要闪烁
set novisualbell
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\
[TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
" 总是显示状态行
set laststatus=2
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
文本格式和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
自动格式化
set formatoptions=tcrqn
" 继承前一行的缩进方式,特别适用于多行注释
"set autoindent
" 为C程序提供自动缩进
set smartindent
" 使用C样式的缩进
set cindent
" 制表符为4
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 不要用空格代替制表符
set noexpandtab
" 不要换行
set nowrap
" 在行和段开始处使用制表符
set smarttab
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
CTags的设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
按照名称排序
let Tlist_Sort_Type = "name"
" 在右侧显示窗口
let Tlist_Use_Right_Window = 1
" 压缩方式
let Tlist_Compart_Format = 1
" 如果只有一个buffer,kill窗口也kill掉buffer
let Tlist_Exist_OnlyWindow = 1
" 不要关闭其他文件的tags
let Tlist_File_Fold_Auto_Close = 0
" 不要显示折叠树
let Tlist_Enable_Fold_Column = 0
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
Autocommands
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
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 <C-o>
<ESC>'<i<!--<ESC>o<ESC>'>o-->
? ?autocmd
FileType java,c,cpp,cs vmap <C-o>
<ESC>'<o/*<ESC>'>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`\"" |
? ? ? \ endif
endif "
has("autocmd")
" F5编译和运行C程序,F6编译和运行C++程序
" 请注意,下述代码在windows下使用会报错
" 需要去掉./这两个字符
" C的编译和运行
map <F5> :call CompileRunGcc()<CR>
func!
CompileRunGcc()
exec "w"
exec "!gcc % -o %<"
exec "!
./%<"
endfunc
" C++的编译和运行
map <F6> :call CompileRunGpp()<CR>
func!
CompileRunGpp()
exec "w"
exec "!g++ % -o %<"
exec "!
./%<"
endfunc
" 能够漂亮地显示.NFO文件
set encoding=utf-8
function!
SetFileEncodings(encodings)
? ? let
b:myfileencodingsbak=&fileencodings
? ? let
&fileencodings=a:encodings
endfunction
function!
RestoreFileEncodings()
? ? let &fileencodings=b:myfileencodingsbak
? ?
unlet b:myfileencodingsbak
endfunction
au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
au
BufReadPost *.nfo call RestoreFileEncodings()
" 高亮显示普通txt文件(需要txt.vim脚本)
au BufRead,BufNewFile *? setfiletype txt
" 用空格键来开关折叠
set foldenable
set foldmethod=manual
nnoremap
<space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
" minibufexpl插件的一般设置
let g:miniBufExplMapWindowNavVim = 1
let
g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs =
1
let g:miniBufExplModSelTarget = 1
分享到:
相关推荐
FreeBSD Vim 常用命令 很好的资源
vim 7.3最新源码 补丁到7.3.370 并带有vimgdb补丁(编译参数--enable-gdb)和支持7.3的vimgdb
j44.7j 其它参数 j44.8j 聚簇 j44.9j 包含另一个语法文件 j44.10j 同步 j44.11j 安装一个语法文件 j44.12j 可移植语法文件的布局要求 jusr 45.txtj 选择语言 j45.1j 用于消息的语言 j45.2j 用于菜单的语言 j45.3j ...
本文件是在ubuntu下配置vim,变成C/C++集成开发环境,实现代码自动补全,函数参数提示,代码跳转,文件列表和函数项显示等功能,在ubuntu12.04 和ubuntu14.04中测试通过,只需执行vim.sh脚本即可,注意脚本中的vim73...
vim 配置 开发更好用。 在~/目录下解压。 安装 .git-completion.bash(从github/git中取得)
参数值。现在改为:Ctrl+M设置断点,Ctrl+D运行。 8. OmniCppComplete:默认Ctrl+x Ctrl+o弹出补全提示,依赖于ctags生成的tags。 9. winManager:文件浏览,默认没有自动打开,需要时使用wm命令打开winManager和...
vim代码提示、系统调用提示、文件浏览器等功能,将vim打造成纯IDE
非常好的vim插件集成,内有安装脚本,大部分插件都包括在内:包括函数参数提示,智能补齐,查找字符串,语法高亮,文件目录显示,函数变量显示。省去你在网上一个一个的查找插件了。
详细解释常用命令,简单易懂,让你轻松地掌握vim在linux环境下开发
vim-argwrap:在Vim中包装和解包函数参数,列表和字典
let OmniCpp_ShowPrototypeInAbbr = 1 " 显示函数参数列表 let OmniCpp_MayCompleteDot = 1 " 输入 . 后自动补全 let OmniCpp_MayCompleteArrow = 1 " 输入 -> 后自动补全 let OmniCpp_MayCompleteScope = 1 " 输入 ...
修正了对于文件搜索的参数问题并且添加了如果只有一个结果则不显示quickfix 博文链接:https://qianjigui.iteye.com/blog/1502600
Vim 的 PHPUnit 运行程序 PHPUnit 是一个 Vim 插件,它允许您从 Vim 窗口轻松运行 PHPUnit 测试。 然后它读取输出并将错误放入快速修复列表中,因此您可以轻松跳转到它们。 它也是可配置的,因此如果您使用 PHPUnit ...
vim,一直在使用的编辑工具,很不错。Vim使用大全,讲解一些Vim的使用参数,喜欢的不要错过了。
vim [参数] [文件 ..] 编辑指定的文件 或: vim [参数] – 从标准输入(stdin)读取文本 或: vim [参数] -t tag 编辑 tag 定义处的文件 或: vim [参数] -q [errorfile] 编辑第一个出错处的文件 参数:...
牛赛.vim 只是vim说cowsay ____________ ------------ \ ,-^-. \ !...下面的命令接受参数或视觉范围。 :考赛 输出牛,一个简单的回声。 :Cowsay Wait what!? _____________ -------------
脚本解压后,在目录内执行脚本 ./VimIde.sh, 在代码的最外层 执行 ./VimIde.sh 1 ,多个参数1, 此脚本 需要当前环境 已经安装 vim ,cscope ,tag 如果没有需要自行安装。
带参数的命令支持自动完成。 每次创建新缓冲区、关闭 VIM 或打开旧会话时,会话都会自动保存。 如果存在,此插件还与 vim-fugitive( :SGit用于转到名为当前 git 分支的会话)以及 CtrlP 集成, :CtrlPSession启用...