当前位置: 首页 > news >正文

vi配置文件.vimrc内容示例

1、.vimrc配置文件介绍

(1).vimrc是vi编辑器的配置文件,里面可以对vi编译器做个性化配置;
(2).vimrc在用户目录下,每个用户有一个,类似于.bashrc文件,将下面的配置文件内容拷贝到~/.vimrc;

2、.vimrc配置文件样例

" ==============vim基本配置==============
set nocompatible
set backspace=indent,eol,start
set guifont=Monospace\ 14
set nu!             " 显示行号
syntax enable
syntax on
colorscheme desertset autowrite   " 自动保存set foldmethod=marker
set foldlevel=100  " 启动vim时不要自动折叠代码
set textwidth=80
set formatoptions+=t
set cindent
set smartindent
set noerrorbells
set showmatch
set nobackup 
set noswapfile
" set cursorline" disable 
" noremap <Up> <Nop>
" noremap <Down> <Nop>
" noremap <Left> <Nop>
" noremap <Right> <Nop>" remap control + arrow key to select windows
noremap <C-Down>  <C-W>j
noremap <C-Up>    <C-W>k
noremap <C-Left>  <C-W>h
noremap <C-Right> <C-W>l
noremap <C-J> <C-W>j
noremap <C-K> <C-W>k
noremap <C-H> <C-W>h
noremap <C-L> <C-W>l" ==============Vundle插件管理==============
" Vundle manage
set nocompatible              " be iMproved, required
filetype off                  " required" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim" All of your Plugins must be added before the following line
filetype plugin indent on    " required" ==============YCM==============
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
let g:ycm_confirm_extra_conf = 0" YCM 查找定义
let mapleader=','
nnoremap <leader>gl :YcmCompleter GoToDeclaration<CR>
nnoremap <leader>gf :YcmCompleter GoToDefinition<CR>
nnoremap <leader>gg :YcmCompleter GoToDefinitionElseDeclaration<CR>
let g:ycm_collect_identifiers_from_tags_files = 1" 语法关键字补全
let g:ycm_seed_identifiers_with_syntax = 1set completeopt=menu,menuone   
let g:ycm_add_preview_to_completeopt = 0  " 关闭函数原型提示let g:ycm_show_diagnostics_ui = 0 " 关闭诊断信息
let g:ycm_server_log_level = 'info'
let g:ycm_min_num_identifier_candidate_chars = 2  " 两个字符触发 补全
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 收集
let g:ycm_complete_in_strings=1" noremap <c-z> <NOP>
" let g:ycm_key_invoke_completion = '<c-z>'   " YCM 里触发语义补全有一个快捷键
" let g:ycm_max_num_candidates = 15  " 候选数量let g:ycm_semantic_triggers =  {\ 'c,cpp,python,java,go': ['re!\w{2}'],\ }" ===========gutentags=============
" 搜索工程目录的标志,碰到这些文件/目录名就停止向上一级目录递归
let g:gutentags_project_root = ['.root', '.svn', '.git', '.hg', '.project', '.gitignore']" 添加ctags额外参数,会让tags文件变大
" let g:gutentags_ctags_extra_args = ['--fields=+niazlS', '--extra=+q']let g:gutentags_ctags_extra_args = ['--fields=+lS']
" let g:gutentags_ctags_extra_args += ['--c++-kinds=+px']
" let g:gutentags_ctags_extra_args += ['--c-kinds=+px']if isdirectory("kernel/") && isdirectory("mm/")let g:gutentags_file_list_command = 'find arch/arm/ mm/ kernel/ include/ init/ lib/'
endif" =======echodoc 显示函数参数===========
" ctags -R --fields=+lS ."======= NetRedTree=========
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
let NERDTreeWinSize=20
"let NERDTreeShowLineNumbers=1
let NERDTreeAutoCenter=1
let NERDTreeShowBookmarks=1let g:winManagerWindowLayout='TagList'
nmap wm :WMToggle<cr>" ======ALE静态语法检测========
let g:ale_sign_column_always = 1
let g:ale_sign_error = '✗'
let g:ale_sign_warning = 'w'
let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']
let g:ale_echo_msg_format = '[%linter%] %code: %%s'
let g:ale_lint_on_text_changed = 'normal'
let g:ale_lint_on_insert_leave = 1
"let g:airline#extensions#ale#enabled = 1
let g:ale_c_gcc_options = '-Wall -O2 -std=c99'
let g:ale_cpp_gcc_options = '-Wall -O2 -std=c++14'
let g:ale_c_cppcheck_options = ''
let g:ale_cpp_cppcheck_options = ''" ========airline状态栏=========  
let g:airline#extensions#tabline#enabled = 1
let g:airline_section_b = '%-0.10{getcwd()}'
let g:airline_section_c = '%t'
let g:airline#extensions#tagbar#enabled = 1
let g:airline_section_y = ''"--------------------------------------------------------------------------------
" cscope:建立数据库:cscope -Rbq;  F5 查找c符号; F6 查找字符串;   F7 查找函数定义; F8 查找函数谁调用了,
"--------------------------------------------------------------------------------
if has("cscope")set csprg=/usr/bin/cscopeset csto=1set cstset nocsverb" add any database in current directoryif filereadable("cscope.out")cs add cscope.outendifset csverb
endif:set cscopequickfix=s-,c-,d-,i-,t-,e-nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>"nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
"F5 查找c符号; F6 查找字符串;   F7 查找函数定义; F8 查找函数谁调用了,
nmap <silent> <F5> :cs find s <C-R>=expand("<cword>")<CR><CR> :botright copen<CR><CR> 
nmap <silent> <F6> :cs find t <C-R>=expand("<cword>")<CR><CR> :botright copen<CR><CR>
"nmap <silent> <F7> :cs find g <C-R>=expand("<cword>")<CR><CR> 
nmap <silent> <F7> :cs find c <C-R>=expand("<cword>")<CR><CR> :botright copen<CR><CR>"--------------------------------------------------------------------------------
"  自动加载ctags: ctags -R
if filereadable("tags")set tags=tags
endif"--------------------------------------------------------------------------------
" global:建立数据库
"--------------------------------------------------------------------------------
if filereadable("GTAGS")set cscopetagset cscopeprg=gtags-cscopecs add GTAGSau BufWritePost *.c,*.cpp,*.h silent! !global -u &
endif
http://www.lryc.cn/news/177046.html

相关文章:

  • MacOS上的Pip和Python升级指南
  • VB6.0实现修改EXE程序的图标
  • Python 编程基础 | 第二章-基础语法 | 2.3、for 语句
  • linux下解决tomcat错误问题
  • PMP证书的价值如何?
  • linux上mysql数据备份(全量备份策略+增量备份策略)
  • PHP实现DFA算法,查找关键词
  • JTS:08 JTS图形相交
  • 深挖 ThreadLocal 底层原理?它有什么用?学会之后手撕面试官
  • sort()排序函数(c++)
  • 如何评估测试用例的优先级?
  • 510758-28-8,用于标记蛋白质和酶的配体TBTA
  • Jtti:云服务器ftp不能访问端口如何解决
  • 云服务器租用价格表概览_阿里云腾讯云华为云
  • E. Iva Pav -前缀和 + 二分 +位运算
  • 新手学习:ArcGIS对shp文件裁剪
  • Java 设计模式——抽象工厂模式
  • 如何使用ChatGPT构建一个Web应用程序?
  • 关闭手机广告的步骤
  • 【Verilog 教程】6.6Verilog 仿真激励
  • Win/Mac版Scitools Understand教育版申请
  • 第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 试题 C: 班级活动
  • YOLOv8改进新颖的Gather-and-Distribute机制,低阶高阶新颖融合,增强了多尺度特征融合能力,实现了延迟和准确性的理想平衡
  • 面试算法13:二维子矩阵的数字之和
  • Vue安装插件时候中遇到冲突依赖解决方案
  • realloc函数应用IO泄露体验
  • (c语言)野指针
  • 【Git】轻松学会 Git(一):掌握 Git 的基本操作
  • rust trait对象
  • Linux学习第21天:Linux内核定时器驱动开发: 流淌的时间长河