【常用vimrc配置 请自取】

本文介绍了如何配置Vim编辑器以优化编码体验,包括设置编码格式、自动缩进、高亮显示、行号显示、搜索高亮、功能导航等。此外,还涉及到了cscope和ctags的集成,以实现快速代码查找和函数导航。通过这些设置,可以大幅提升程序员在Vim中的工作效率。
摘要由CSDN通过智能技术生成
"vim基 本 配 置                                                                                                                                     
set fileencodings=utf-8,gb2312                                                          "编 辑 和 保 存 文 件 所 使 用 的 编 码                              
set fileencoding=utf-8                                                                  "新 建 文 件 所 使 用 的 编 码                                    
set termencoding=utf-8                                                                  "终 端 所 显 示 的 编 码                                        
set encoding=utf-8                                                                      "vim的 缓 冲 区 、 菜 单 文 本 和 消 息 文 本 使 用 的 编 码               
set shiftwidth=4                                                                        "自 动 缩 进 长 度 为 4空 格                                     
set tabstop=4                                                                           "设 置 tab长 度 为 4空 格                                      
set softtabstop=4                                                                       "tab键 的 实 际 占 有 空 格 数 , 统 一 缩 进                         
set autoindent                                                                          "自 动 缩 进 开 关                                            
set showmatch                                                                           "高 亮 显 示 括 号 匹 配                                        
set ruler                                                                               "右 下 角 显 示 当 前 光 标 位 置                                  
set hlsearch                                                                            "高 亮 显 示 搜 索 结 果                                        
set nu                                                                                  "显 示 行 号                                                
set laststatus=2                                                                        "1=启 动 显 示 状 态 行 、 2=总 是 显 示 状 态 行                      
set t_Co=256                                                                            "terminal Color 开 启 256色 支 持                            
syntax enable                                                                           "语 法 高 亮 显 示                                            
set backspace=2                                                                         "indet,eol,start                                        
set incsearch                                                                           "输 入 字 符 串 就 显 示 匹 配 点                                  
set cindent                                                                             "以 C语 言 的 方 式 缩 进                                       
                                                                                                                                                
"set laststatus=2                                                                                                                               
function! ShowCurrentDirectory()                                                                                                                
    let current_dir = substitute(getcwd(), $HOME, "~", "g")                                                                                     
    return current_dir                                                                                                                          
endfunction                                                                                                                                     
set statusline=[%n]\ %f%m%r%h\ \|\ %{ShowCurrentDirectory()}\/%f\ \ \|%=\|\ %l,%c\ %p%%\ \|\ ascii=%b,hex=%b%{((&fenc==\"\")?\"\":\"\ \|\ \".&fe
nc)}\ \|\ %{$USER}\ @\ %{hostname()}\                                                                                                           
                                                                                                                                                
"记 住 上 次 打 开 的 位 置                                                                                                                              
set viminfo='10,\"100,:20,%,n~/.viminfo                                                                                                         
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|exe "norm $"|endif|endif                                        
                                                                                                                                                
"列 出 函 数 导 航                                                                                                                                    
nnoremap <silent> <F8> :TlistToggle                                                                                                         
                                                                                                                                                
"垂 直 尺 寸 左 右 移 动                                                                                                                                
nnoremap w[ :vertical resize -6                                                                                                             
nnoremap w] :vertical resize +6                                                                                                             
                                                                                                                                                
"水 平 尺 寸 上 下 移 动                                                                                                                                
nnoremap w- :resize -6                                                                                                                      
nnoremap w= :resize +6                                                                                                                      
                                                                                                                                                
"敲 成 对 括 号 自 动 按 Left键                                                                                                                          
imap () ()<Left>                                                                                                                                
imap [] []<Left>                                                                                                                                
imap {} {}<Left>                                                                                                                                
imap "" ""<Left>                                                                                                                                
imap '' ''<Left>                                                                                                                                
                                                                                                                                                                                                                       
"插 入 模 式 下 移 动 光 标 快 捷 键                                                                                                                        
inoremap <C-h> <Left>                                                                                                                             
inoremap <C-j> <Down>                                                                                                                              
inoremap <C-k> <Up>                                                                                                                               
inoremap <C-l> <Right>                                                                                                                            
                                                                                                                   
                                                                                                                                                
"自 动 保 存 设 置                                                                                                                                    
autocmd BufWritePost $MYVIMRC source $MYVIMRC                                           "该 配 置 文 件 修 改 保 存 后 立 即 生 效                            
                                                                                                                                                
"ctags配 置                                                                                                                                       
set tags=tags;                                                                          "查 找 tags文 件                                            
set autochdir                                                                           "自 动 切 换 目 录 查 找                                        
                                                                                                                                                
"cscope配 置                                                                                                                                      
set csprg=/usr/bin/cscope                                                                                                                       
set csto=0                                                                              "设 置 cstag命 令 查 找 次 序 ,0先 找 cscope数 据 库 再 找 tag标 签 文 件  
set cst                                                                                 "同 时 搜 索 cscope数 据 库 和 标 签 文 件                          
set nocsverb                                                                            "不 对 下 面 的 数 据 库 加 载 信 息 进 行 回 显                        
if filereadable("cscope.out")                                                                                                                   
        "加 载 数 据 库                                                                                                                              
        cs add 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                                                                                                                                           
set csverb                                                                               "打 开 配 置 回 显                                           
                                                                                                                                                
"cscope快 捷 键 设 置 ctrl+\+s,g,c,t,e,f,i,d                                                                                                                               
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>                                                                                          

上面涉及到的插件是cscope与ctags和taglist,请道友们自行安装,道友有好的建议请在评论补充。函数导航由taglist提供,taglist依赖于ctags。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用,在CSDN博客上有一篇文章提供了一个接地气版的Linux .vimrc配置文件,可以直接使用,你可以参考这篇文章了解更多相关说明。同时根据引用,.vimrc文件是用来配置vim编辑器功能开关的配置文件,分为系统配置和用户配置两种。系统配置文件存放在vim的安装路径内,而用户配置文件.vimrc则由用户自己创建,存放在用户根目录下。根据引用,用户配置文件.vimrc中的配置内容可以根据个人需求进行设置,如颜色主题、语法高亮、自动缩进等。如果你想在Linux配置vimrc,你可以参考CSDN博客中的这篇文章。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【vimrc_linux】](https://download.csdn.net/download/neptuneys/11239215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [04 .vimrc文件配置](https://blog.csdn.net/qq_43244515/article/details/124779889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值