共享VIM配置文件
" progressively check higher values... falls out on first "true"
" (note addition of zero ... this guarantees return from function is numeric
"if strftime("%H") < 6 + 0 “6:00
"colorscheme darkblue
"echo "setting colorscheme to darkblue"
"elseif strftime("%H") < 12 + 0 ”12:00
"colorscheme morning
"echo "setting colorscheme to morning"
"elseif strftime("%H") < 18 + 0 “18:00
"colorscheme shine
"echo "setting colorscheme to shine"
"else
"colorscheme evening
"echo "setting colorscheme to evening"
"endif
autocmd InsertLeave * set nocul"浅色显示高亮行,离开时关闭
autocmd InsertLeave * set nocuc"浅色显示高亮列,离开时关闭
autocmd InsertEnter * set cul"浅色显示高亮行,进入时浅色显示打开
autocmd InsertEnter * set cuc"浅色显示高亮列,进入时浅色显示打开
let &t_SI = "\<Esc>]50;CursorShape=0\x7"
let &t_EI = "\<Esc>]50;CursorShape=1\x7"
"*****************************************选项设置**********************************************
set nocompatible"关闭vi兼容模式
syntax on"语法高亮
set t_Co=256"开启vim的256颜色支持
"colorscheme default"设定配色方案
colorscheme guodesert"设定配色方案
set nobackup"覆盖文件时不备份
set autoindent"插入模式下输入<cr>或使用"o"或"O"命令开新行,从当前行复制缩进距离
set shiftwidth=4 "(自动)缩进每一步使用的空白数目
set softtabstop=4"执行插入时,<Tab>算作空格的数目,可以改为4
set noexpandtab"不用空格展开<Tab>
set scrolloff=2"光标上下两侧最少保留的屏幕行数
set linespace=2"字符间插入的像素行数目"
set sidescrolloff=5"如果设置'nowrap',光标左右两侧保留的最少屏幕列数
set sidescroll=1"水平滚动时滚动的最少列数
set showcmd "在屏幕最后一行显示 (部分的) 命令
set showmode"在插入、替换和可视模式里,在最后一行提供消息
set hidden"放弃时隐藏缓冲区
set wildmenu"'wildmenu'打开时,命令行补全以增强模式运行
set wildmode=list:full"用'widechar'指定的字符所用的补全模式
set novisualbell"不使用可视响铃
set number"在每行前面显示行号
set numberwidth=3"行号使用的最小列数
set ignorecase"搜索模式里忽略大小写
set smartcase"搜索模式里包含大写字符,不使用ignorecase选项
set incsearch"输入搜索命令时,显示目前输入的模式的匹配位置。匹配的字符串被高亮
set hlsearch"搜索时高亮显示被找到的文本
set showmatch"插入括号时,短暂地跳转到匹配的对应括号
set matchtime=7"短暂跳转到匹配括号的时间
"set textwidth=72"设定文本的宽度为80个字符时自动断行
"set columns=75"设置文本达到columns宽度时自动换行
"set wrap"设置文本达到textwidth宽度时自动换行,但实际文件还是一行
"set nowrap"设置文本达到textwidth宽度时不自动换行
"set complete+=k"关键字补全,扫描 'dictionary' 选项给出的文件
set history=50"命令的历史和最近的搜索模式的历史被记住。本项决定每个历史分别记多少项
set wildignore+=*.svn"文件名补全时忽略.svn
set nosplitbelow"窗口的分割会把新窗口放到当前窗口之下
set nosplitright"窗口的分割会把新窗口放到当前窗口之右
set background=dark"设置背景为暗色
set virtualedit+=block"在可视模式下可以选择一个方块
set autoread"当文件在外部被修改时,自动重新读取
set autowrite"自动保存文件
"set cmdheight=2"设定命令行的行数为1
"set cuc"将当前光标下的列高亮
set autochdir"自动切换当前目录为当前文件所在的目录
set helplang=cn"设置帮助语言
set iskeyword+=_,$,@,%,#,- "带有这些字符的单词不要被换行分割
set backspace=2"使用回格键
set backspace=indent,eol,start"影响 <BS>、<Del>、CTRL-W和CTRL-U在插入模式下的工作方式
set noswapfile"没有交换文件
"set undofile"持久撤销功能
filetype plugin indent on"文件类型侦测
set foldlevel=99"设置折叠级别: 高于此级别的折叠会被关闭
set foldclose=all"设置为自动关闭折叠
set foldenable"开始折叠
set foldmethod=syntax"语法高亮项目指定折叠
set foldcolumn=0"设置折叠区域的宽度,显示折叠列
set cursorline"突出显示当前行
"set cursorcolumn"突出显示当前列
set ruler
"显示状态栏标尺
set rulerformat =%33(%2*%<%=\修改:\%{strftime(\"%H:%M\",getftime(expand(\"%\")))}\ 光标:\%l\行\ %c%V\列\ %p%%%)
"set rulerformat =%25(%2*%<%=\光标:\ %l\行\ %c%V\列\ %p%%%)
set fencs=utf-8,gb18030,gbk,gb2312,cp936,ucs-bom,shift-jis "设置编码
set fileencoding=gb18030
set fileencodings=utf-8,gbk
" set cursorline
"set smartindent "开启新行时使用智能自动缩进
"*****************************************高亮设置**********************************************
"hi cFunctionsgui=NONEcterm=boldctermfg=blue
"hi Commentctermfg=darkgreyctermbg=NONEcterm=NONE "修改注释//grey灰色"
"hi Constantctermfg=magentactermbg=NONEcterm=NONE "
"hi Statementctermfg=darkredctermbg=NONEcterm=NONE
"hi Preprocctermfg=bluectermbg=NONEcterm=NONE
"hi LineNrctermfg=lightgreenctermbg=NONEcterm=NONE
"hi Typectermfg=darkbluectermbg=NONEcterm=NONE "
"hi Operatorctermfg=yellowctermbg=NONEcterm=NONE
"hi Numberctermfg=magentactermbg=NONEcterm=NONE
"hi Stringctermfg=magentactermbg=NONEcterm=NONE
hi CursorLine ctermfg=NONEctermbg=235 cterm=NONEguibg=NONEguifg=NONE "黑色背景时指定高亮的规则bg=235
"hi CursorLine ctermfg=NONEctermbg=255 cterm=NONEguibg=NONEguifg=NONE "白色背景时指定高亮的规则bg=255
"*****************************************高亮设置**********************************************
"描述自动排版如何进行的字母序列
set formatoptions+=q
set formatoptions+=r
set formatoptions+=n
"set formatoptions+=1
"set colorcolumn=+1
"set list "让tab显示成>-------->--------
"set listchars=tab:>-,trail:-,extends:>,precedes:< "配合上边的语句完成
"#########################################选项设置##############################################
" 为C程序提供自动缩进
"set smartindent
"代码补全
"set completeopt=preview,menu
"自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function ClosePair(char)
"if getline('.')[col('.') - 1 ] == a:char
if getline('.') == a:char
return "\<Right>"
else
return a:char
endif
endfunction
"filetype plugin indent on
"打开文件类型检测, 加了这句才可以用智能补全
"set completeopt=longest,menu
"启用代码折叠,用空格键来开关折叠
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc':'zo')<CR>
"===========================================其他按键映射=========================================
nnoremap j gj "自动换行时可在行中移动
nnoremap k gk
nnoremap <C-h> <C-w>h "在分割的窗口间移动
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
noremap <S-h> :bp<cr> "在buffer间移动
noremap <S-l> :bn<cr>
map + <C-w>+ "增减窗口尺寸
map _ <C-w>-
"":map e ea "移动到单词结尾时就自动进入插入模式
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> "用空格键来开关折叠
"####################################其他按键映射###################################
"================================打开文件时,自动跳转到光标最后所在的位置==========================
"打开文件时,自动跳转到光标最后所在的位置
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
"###########################打开文件时,自动跳转到光标最后所在的位置#######################
"通过键盘映射快速实现加入注释。
"==========================================添加注释语句==========================================
"将键盘上的F11功能键映射为添加作者信息的快捷键%m月%d日%Y年
"进行版权声明的设置
"添加或更新头
map <F9> :call TitleDet()<cr>'s
function AddTitle()
call append(0,"/* *========* *** *============================================== ")
call append(1," * 作者代号: *** :换成你自己的即可")
call append(2," * 版权声明: *** :(魎魍魅魑)GPL3")
call append(3," * 联络信箱: *** :换成自己的@gmail.com")
call append(4," * 文档用途: *** :C++基础教程--从问题分析到程序设计")
call append(5," * 文档信息: *** :".expand("%:p:~"))
call append(6," * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
call append(7," * *========* *** *============================================== */")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
"更新最近修改时间和文件名
function UpdateTitle()
normal m'
execute '/修订时间:/s@:.*$@\=strftime(": *** *%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)")@'
normal ''
normal mk
execute '/文档信息:/s@:.*$@\=": *** :".expand("%:p:~")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
"判断前10行代码里面,是否有Last modified这个单词,
"如果没有的话,代表没有添加过作者信息,需要新添加;
"如果有的话,那么只需要更新即可
function TitleDet()
let n=1
"默认为添加
while n < 10
let line = getline(n)
if line =~ '^\ \ \**\s*\S*修订时间:\S*.*$'
call UpdateTitle()
return
endif
let n = n + 1
endwhile
call AddTitle()
endfunction
"##########################################添加注释语句##############################
""""""""""""""""""""""""""""""""""""""""""""""""
"Compile and run
""""""""""""""""""""""""""""""""""""""""""""""""
map <F5>:call CompileRun()<cr>
func CompileRun()
if &filetype=="c"
exec ":w"<cr>
exec "!g++ % -o %< && ./%<"<cr>
endif
endfunc
""""""""""""""""""""""""""""""""""""""""""""""""
"Compile and run
""""""""""""""""""""""""""""""""""""""""""""""""
map <F10>:call CompileRunJava()<cr>
func CompileRunJava()
if &filetype=="java"
exec ":w"<cr>
exec "!javac %"<cr>
exec "!java %<"<cr>
endif
endfunc
"试试缩写好用吗
ab psvms public static void main(String[
ab sop System.out.println(
"set gcr=n-v-c:ver50-Cursor/lCursor,ve:ver75-Cursor,o:hor50-Cursor,i-ci:ver50-Cursor/lCursor
"if &term =~ '^xterm'
" solid underscore
" let &t_SI .= "\<Esc>[4 q"
" solid block
" let &t_EI .= "\<Esc>[2 q"
" 1 or 0 -> blinking block
" 3 -> blinking underscore
" Recent versions of xterm (282 or above) also support
" 5 -> blinking vertical bar
" 6 -> solid vertical bar
"endif
共享VIM配置文件的更多相关文章
- Vim配置文件
转载 原文网址:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim ...
- 我的vim配置文件.vimrc
我的vim配置文件.vimrc map <silent> <F10> :TlistToggle<cr>map <silent> <F8> : ...
- 转载~vim配置文件
转载自:小码哥的博客 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C. ...
- 【转】强大的vim配置文件,让编程更随意
原文地址:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主 ...
- [转]强大的vim配置文件,让编程更随意
转自:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有 ...
- 强大的vim配置文件,让编程更随意
花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 2. ...
- Ubuntu下更改Vim配置文件打造C/C++风格
转载:Ubuntu下更改Vim配置文件打造C/C++风格 Vim默认的配置使用起来还不能让人满意,还需要自己配置 默认配置文件是:/etc/vim/vimrc我们可以在家目录下建立自己的配置文件切换到 ...
- 标准vim配置文件 带注释(适合C++编译)
我的vim配置文件,适合大多数人习惯 """""""""""""&qu ...
- 强大的vim配置文件,让编程更随意 (转载)
花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 2. ...
随机推荐
- vue.js 二 路由懒加载
当项目小的时候,我没考虑要去找这个得解决方案,也幸好现在几乎能迁移的项目都整合在了一个vue的项目里面 才发现编译后的vendor.js变得异常的大,而且几乎在项目每一个页面都需要加载这一个js,项目 ...
- hprose 1.0(rpc 框架) - 关于跨域和P3P的声明
private function sendHeader($context) { if ($this->onSendHeader !== null) { $sendHeader = $this-& ...
- JZOJ 5196. 【NOIP2017提高组模拟7.3】B
5196. [NOIP2017提高组模拟7.3]B Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits Goto Pro ...
- 关于json数据中的多反斜杆转译--StringEscapeUtils.unescapeJava(踩过的坑)
一.需求 现有一个字符串str String str = "{\\\"name\\\":\\\"spy\\\",\\\"id\\\\&quo ...
- Jin Ge Jin Qu hao UVA - 12563 01背包
题目:题目链接 思路:由于t最大值其实只有180 * 50 + 678,可以直接当成01背包来做,需要考虑的量有两个,时间和歌曲数,其中歌曲优先级大于时间,于是我们将歌曲数作为背包收益,用时间作为背包 ...
- DAG上的动态规划——嵌套矩阵问题
问题描述:有n个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d,或者b<c,a<d(相当于把矩形X旋 ...
- 数据预处理之独热编码(One-Hot Encoding)
问题的由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑以下三个特征: ["male","female"] ["from ...
- 二叉树遍历(Java实现)
二叉树遍历(Java实现) 主要是二叉树的遍历,包括递归遍历和非递归遍历 import java.util.ArrayDeque; import java.util.ArrayList; impo ...
- Selenium-java 中 对于下拉框 对于网页上的下拉框 如何定位
WebElement e1 = driver.findElement(By.cssSelector("#s_province")); Select se1 = new Select ...
- Python-S9-Day127-Scrapy爬虫框架2
01 今日内容概要 02 内容回顾:爬虫 03 内容回顾:并发和网络 04 Scrapy框架:起始请求定制 05 Scrapy框架:深度和优先级 06 Scrapy框架:内置代理 07 Scrapy框 ...