vim + ctags + cscope C/C++代码阅读神器(Linux+Windows都适用)

效果图

在这里插入图片描述

For Windows


## windows 下,在当前代码路径下执行,生成ctags和cscope数据库文件
import os
os.system("del tags")
os.system("ctags.exe –R")
os.system("del cscope.files")
os.system("for /r . %a in (*.c,*.cpp,*.h,*.hpp) do @echo %a >> cscope.files")
os.system("cscope -RbqkC")

For Linux


## linux 下,在当前代码路径下执行,生成ctags和cscope数据库文件
#!/usr/bin/env python
# coding=utf-8
import os
path=''
print("-----------------------------------------------")
os.system("rm tags ")
print("     create ctag                               ")
os.system("ctags -R .")
path = str(os.getcwd())
os.system("find "+ path + " -name '*.h' > cscope.files ")
os.system("find "+ path + " -name '*.c' > cscope.files ")
print("     create cscope                           ")
os.system("cscope -RbqkC ")
print("-----------------------------------------------")

windows + Linux 脚本配置均适用(安装 唯一插件NerdTree就够用了)

set sw=4
set ts=4
set et
set smarttab
set smartindent
set lbr
set fo+=mB
set sm
set selection=inclusive
set wildmenu
set mousemodel=popup
set modifiable
"搜索忽略大小写
set ignorecase
set linespace=0
" 自动缩进
set autoindent
set cindent
" Tab键的宽度
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 使用空格代替制表符
set expandtab
" 在行和段开始处使用制表符
set smarttab
" 显示行号
set number
" 历史记录数
set history=1000
"搜索逐字符高亮
set hlsearch
set incsearch
"语言设置
set langmenu=zh_CN.UTF-8
set helplang=cn
" 总是显示状态行
set cmdheight=2
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
filetype indent on
" 保存全局变量
set viminfo+=!
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
" 字符间插入的像素行数目
" 函数和变量列表
map <F4> :TlistToggle<CR>
"列出当前目录文件  
map <F3> :NERDTreeToggle<CR>
imap <F3> <ESC> :NERDTreeToggle<CR>
"当打开vim且没有文件时自动打开NERDTree
"autocmd vimenter * if !argc() | NERDTree | endif
" 只剩 NERDTree时自动关闭
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Vim 重命名
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:command! -nargs=1 Rename let tpname = expand('%:t') | saveas <args> | edit <args> | call delete(expand(tpname))    
let Tlist_Use_Right_Window = 1  " 在右侧显示窗口  
let Tlist_Compart_Format = 1    " 压缩方式  
let Tlist_Exist_OnlyWindow = 1  " 如果只有一个buffer,kill窗口也kill掉buffer  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值