vim 中的配置文件

set nu
set tabstop=4
syntax on
"set mouse=a
set mouse=nic
"set mouse=nich
"set t_Co=256

set cursorline     "将当前行显示高亮,红底白字                
"hi CursorColumn cterm=NONE ctermbg=red ctermfg=white guibg=NONE guifg=NONE
"hi CursorLine cterm=NONE ctermbg=black ctermfg=green

"let mapleader=','  "使用,cc和,cu来进行注释和取消注释操作
"set foldmethod=marker"

 

"代码折叠
"set foldmethod=syntax
"set foldmethod=indent
"set foldlevel=0     "启动vim时不自动折叠代码,foldlevel数值越大折叠越多
set foldcolumn=4      "设置折叠栏宽度


filetype plugin indent on
set completeopt=longest,menu
set wildmenu
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType java set omnifunc=javacomplete#Complet

 

 


"常用命令
"za  打开/关闭在光标下的折叠
"zA  循环地打开/关闭光标下的折叠
"zo  打开 (open) 在光标下的折叠
"zO  循环打开 (Open) 光标下的折叠
"zc  关闭 (close) 在光标下的折叠
"zC  循环关闭 (Close) 在光标下的所有折叠
"zM  关闭所有折叠
"zR  打开所有的折叠


"set autoindent
"set smartindent
set nowrap
"colorscheme ron  " elflord ron peachpuff default 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下
set autoindent " 设置自动对齐(缩进):即每行的缩进值与上一行相等;使用 noautoindent 取消设置
set cindent " 使用 C/C++ 语言的自动缩进方式
set showmatch " 设置匹配模式,显示匹配的括号
set whichwrap=b,s,<,>,[,] " 光标从行首和行末时可以跳到另一行去

imap () ()<Left>
imap [] []<Left>
imap {} {}<Left>
imap "" ""<Left>
imap '' ''<Left>


"共享剪贴板 
set clipboard+=unnamed

nmap w= :resize +3<CR>                   "定义w=作为窗口行数增加快捷键                       
nmap w- :resize -3<CR>                   "定义w-作为窗口行数减少快捷键
nmap w, :vertical resize -3<CR>        "定义w,作为窗口宽度减少快捷键
nmap w. :vertical resize +3<CR>        "定义w.作为窗口宽度增加快捷键
let Tlist_Ctags_Cmd='/usr/bin/ctags'
let Tlist_Show_One_File=1
let Tlist_Show_One_File=0             "让taglist可以同时展示多个文件的函数列表
let Tlist_File_Fold_Auto_Close=1      "非当前文件,函数列表折叠隐藏
let Tlist_Exit_OnlyWindow=1     "当taglist是最后一个分割窗口时,自动推出vim
let Tlist_Auto_Open=1
let Tlist_Process_File_Always=1
noremap <F8> :TlistToggle<CR>
let &termencoding=&encoding
set fileencodings=utf-8,gb2312,gbk,gb18030,ucs-bom,cp936
let &titlestring = expand("%:p")
if &term == "screen"
  set t_ts=^[k
  set t_fs=^[\
endif
if &term == "screen" || &term == "xterm"
  set title
endif
"set tags+=./tags
"set tags=/home/liq10198965/tags
"set autochdir
nmap <silent> <F1> :WMToggle<cr>        "定义F1作为winmanager打开关闭的快捷键
let g:AutoOpenWinManager = 0      "默认不自动打开winmanager


" let g:winManagerWindowLayout = "TagList|FileExplorer" "设置winManager与Taglist列表重合,目前关闭
"function! AutoLoadCTagsAndCScope()
"  let max = 10   
"  let dir = './'
"  let i = 0     
"  let break = 0 
"  while isdirectory(dir) && i < max               
"   if filereadable(dir . 'cscope.out')         
"   execute 'cs add ' . dir . 'cscope.out'  
"   let break = 1                           
"  endif
"  if filereadable(dir . 'tags')         
"   execute 'set tags =' . dir . 'tags'
"   let break = 1                     
"  endif
"  if break == 1          
"   execute 'lcd ' . dir
"   break              
"  endif
"  let dir = dir . '../'
"  let i = i + 1        
" endwhile                 
"endf
"nmap <F9> :call AutoLoadCTagsAndCScope()<CR> 

""---------- Cscope setting -------------------------
"if has("cscope")
"  set csprg=/usr/bin/cscope " 指定用来执行cscope的命令
" set csto=0 " 设置cstag命令查找次序:0先找cscope数据库再找标签文件;1先找标签文件再找cscope数据库
" set cst " 同时搜索cscope数据库和标签文件
" set cscopequickfix=s-,c-,d-,i-,t-,e- " 使用QuickFix窗口来显示cscope查找结果
" set nocsverb
" if filereadable("cscope.out") " 若当前目录下存在cscope数据库,添加该数据库到vim
"  cs add /home/liq10198965/code_121_r2_12_5/cscope.out
"    cs add /home/liq10198965/CODE/cscope.out
 "elseif $CSCOPE_DB != "" " 否则只要环境变量CSCOPE_DB不为空,则添加其指定的数据库到vim
 " cs add $CSCOPE_DB
" endif
" set csverb
"endif

 

 

"cscope搜索设置,设置为动态加载,自动加载当前目录的cscope.out,如果没有向上级目录搜索,直到找到加载
if has("cscope")
  set csprg=/usr/bin/cscope
  set csto=0
  set cst
  set cscopequickfix=s-,c-,d-,i-,t-,e- " 使用QuickFix窗口来显示cscope查找结果
  set csverb
  set cspc=3
  if filereadable("cscope.out")
  else
  let cscope_file=findfile("cscope.out", ".;")
  let cscope_pre=matchstr(cscope_file, ".*/")
  if !empty(cscope_file) && filereadable(cscope_file)
  exe "cs add" cscope_file cscope_pre
  endif
  endif
  endif

"map <F4> :cs add ./cscope.out .<CR><CR><CR> :cs reset<CR>
"imap <F4> <ESC>:cs add ./cscope.out .<CR><CR><CR> :cs reset<CR>

"将:cs find c等Cscope查找命令映射为<C-_>c等快捷键
nmap fs :cs find s <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>
nmap fg :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap fd :cs find d <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>
nmap fc :cs find c <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>
nmap ft :cs find t <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>
nmap fe :cs find e <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>
nmap ff :cs find f <C-R>=expand("<cword>")<CR><CR>
nmap fi :cs find i <C-R>=expand("<cword>")<CR><CR> :copen<CR><CR>

"s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方(包括头文件)
"g:查找函数、宏、枚举等定义的位置,类似ctags所提供的功能(比如有可能只在头文件处)
"d: 查找本函数调用的函数
"c: 查找调用本函数的函数
"t: 查找指定的字符串
"e: 查找egrep模式,相当于egrep功能,但查找速度快多了
"f: 查找并打开文件,类似vim的find功能
"i: 查找包含本文件的文件
"其他功能可输入:help cscope查看

 

 

 

".........................................................................................................
".............................目前没有使用,以后编译程序时使用............................................
".........................................................................................................
"quickfix命令集
"通过quickfix命令集,你可在 Vim 内编译程序并直接跳转到出错位置进行修正。你可以接着重新编译并做修正,直到不再出错为止。
"在vim配置文件/home/user/.vimrc中加入如下的配置:

"-- QuickFix setting --
"" 按下F6,执行make clean
"map <F6> :make clean<CR><CR><CR>
" 按下F7,执行make编译程序,并打开quickfix窗口,显示编译信息
" map <F7> :make<CR><CR><CR> :copen<CR><CR>
" " 按下F8,光标移到上一个错误所在的行
" map <F8> :cp<CR>
" " 按下F9,光标移到下一个错误所在的行
" map <F9> :cn<CR>
" " 以上的映射是使上面的快捷键在插入模式下也能用
" imap <F6> <ESC>:make clean<CR><CR><CR>
" imap <F7> <ESC>:make<CR><CR><CR> :copen<CR><CR>
" imap <F8> <ESC>:cp<CR>
" imap <F9> <ESC>:cn<CR>
".......................................帮助文档......................
" :help usr_30
" :help quickfix
" 下面的命令运行 "make" (包括你所给出的参数) 程序并捕捉其运行结果: >
"  :make {arguments}
"  如果编译时出现错误,按
"  <Enter>,回到vim界面,看不到出错信息了!这时,可以运行以下命令
"  :cw[indow]
"  打开quickfix窗口来查看出错信息,它会自动跳到第一处出错的地方。然后,你可以双击出错某一条出错信息,vim就会自动跳转到相应的出错位置
"  :cn[ext]  光标移到下一个错误所在的行
"  :cp[revious] 光标移到上一个错误所在的行
"  :cfirst  到第一处错误
"  :clast  到最后一处错误
"  :cc   空间不够时,Vim 会缩短出错信息。如果你想查看详细信息,可以使用此命令
"  :cl[ist]
"  列出所有出错信息的概览(只有那些含有文件名或行数的错误信息会被显示,需要查看那些并不含文件名或行数的信息可用“:cl[ist]!”命令)

"
"
"----------------Linux终端操作快捷键-------------------------------------------------
"Ctrl+a:光标回到命令行首。 (a:ahead)
"Ctrl+e:光标回到命令行尾。 (e:end)
"Ctrl+b:光标向行首移动一个字符。 (b:backwards)
"Ctrl+f:光标向行尾移动一个字符。 (f:forwards)
"Ctrl+w: 删除光标处到行首的单词。
"Ctrl+k:删除光标处到行尾的单词。
"Ctrl+u:删除整个命令行文本字符。
"Ctrl+h:向行首删除一个字符。
"Ctrl+d:向行尾删除一个字符。
"Ctrl+y:粘贴Ctrl+u,Ctrl+k,Ctrl+w删除的文本。
"Ctrl+p: 上一个使用的历史命令。 (p:previous)
"Ctrl+n:下一个使用的历史命令。(n:next )
"Ctrl+r:快速检索历史命令。(r:retrieve)
"Ctrl+t:交换光标所在字符和其前的字符。
"Ctrl+i:相当于Tab键
"Ctrl+o:相当于Ctrl+m
"Ctrl+m:相当Enter键
"Ctrl+s: 使终端发呆,静止,可以使快速输出的终端屏幕停下来。
"Ctrl+q:退出Ctrl+s引起的发呆。
"Ctrl+z:使正在运行在终端的任务,运行于后台。 (可用fg恢复)
"Ctrl+c:中断终端中正在执行的任务。
"Ctrl+d: 在空命令行的情况下可以退出终端。
"Ctrl+[:相当于Esc键
"
"
"  -----------------------------------vim常用快捷键----------------------------------
"  %  跳转到配对的括号去
"  [[
"  跳转到当前或者上一代码块(函数定义、类定义等)的开头去(但要求代码块中'{'必须单独占一行)
"  ][
"  跳转到当前代码块(函数定义、类定义等)的结尾去(但要求代码块中'{'必须单独占一行)
"  ]]
"  跳转到下一代码块(函数定义、类定义等)的开头去(但要求代码块中'{'必须单独占一行)
"  [/  跳到注释开头(只对/* */注释有效)
"  ]/ 跳到注释结尾(只对/* */注释有效)
"  gD
"  跳转到当前文件内标识符首次出现的位置,可用于跳转到全部变量的定义处;查找局部变量时,要是多个函数中定义了该局部变量,使用gD进行查找,找到的变量定义可能不是你需要的
"  gd 跳转到当前函数内标识符首次出现的位置,可用于跳转到局部变量的定义处
"  ''  跳转到光标上次停靠的地方, 是两个', 而不是一个"
"  mx  设置书签,x只能是a-z的26个字母
"  `x  跳转到书签处("`"是1左边的键)
"  >  增加缩进,"x>"表示增加以下x行的缩进
"  <  减少缩进,"x<"表示减少以下x行的缩进

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值