首页 > 学院 > 开发设计 > 正文

vim 中的配置文件

2019-11-08 18:36:04
字体:
来源:转载
供稿:网友

set nuset tabstop=4syntax on"set mouse=aset 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 onset completeopt=longest,menuset wildmenuautocmd FileType ruby,eruby set omnifunc=rubycomplete#Completeautocmd FileType python set omnifunc=pythoncomplete#Completeautocmd FileType javascript set omnifunc=Javascriptcomplete#CompleteJSautocmd FileType html set omnifunc=htmlcomplete#CompleteTagsautocmd FileType CSS set omnifunc=csscomplete#CompleteCSSautocmd FileType xml set omnifunc=xmlcomplete#CompleteTagsautocmd FileType java set omnifunc=javacomplete#Complet

 

 

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

"set autoindent"set smartindentset 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=1let Tlist_Show_One_File=0             "让taglist可以同时展示多个文件的函数列表let Tlist_File_Fold_Auto_Close=1      "非当前文件,函数列表折叠隐藏let Tlist_Exit_OnlyWindow=1     "当taglist是最后一个分割窗口时,自动推出vimlet Tlist_Auto_Open=1let Tlist_PRocess_File_Always=1noremap <F8> :TlistToggle<CR>let &termencoding=&encodingset fileencodings=utf-8,gb2312,gbk,gb18030,ucs-bom,cp936let &titlestring = expand("%:p")if &term == "screen"  set t_ts=^[k  set t_fs=^[/endifif &term == "screen" || &term == "xterm"  set titleendif"set tags+=./tags"set tags=/home/liq10198965/tags"set autochdirnmap <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行的缩进


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表