2018-01-27 01:07:02 +08:00
|
|
|
|
---
|
2018-05-27 13:05:57 +08:00
|
|
|
|
title: "SpaceVim cscope 模块"
|
2019-01-16 23:34:39 +08:00
|
|
|
|
description: "这一模块为 SpaceVim 提供了一个智能的 cscope 和 pycscope 辅助工具,可以快速调用 cscope 常用命令。"
|
2019-10-04 14:13:51 +08:00
|
|
|
|
lang: zh
|
2018-01-27 01:07:02 +08:00
|
|
|
|
---
|
|
|
|
|
|
2018-06-23 14:37:41 +08:00
|
|
|
|
# [可用模块](../) >> cscope
|
2018-05-12 19:01:00 +08:00
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
<!-- vim-markdown-toc GFM -->
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
- [模块描述](#模块描述)
|
|
|
|
|
- [安装依赖及启用模块](#安装依赖及启用模块)
|
|
|
|
|
- [安装 cscope](#安装-cscope)
|
|
|
|
|
- [启用模块](#启用模块)
|
2021-08-22 14:35:22 +08:00
|
|
|
|
- [模块选项](#模块选项)
|
2018-05-27 13:05:57 +08:00
|
|
|
|
- [快捷键](#快捷键)
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
<!-- vim-markdown-toc -->
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
## 模块描述
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
这以模块为 SpaceVim 提供了一个智能的[Cscope](http://cscope.sourceforge.net/) 和 [PyCscope](https://github.com/portante/pycscope) 辅助工具。
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2019-02-03 20:51:01 +08:00
|
|
|
|
如果想要了解更多关于 cscope 和其它类似工具之间的区别,请阅读 [Comparison with Similar Tools](https://github.com/oracle/opengrok/wiki/Comparison-with-Similar-Tools)
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
## 安装依赖及启用模块
|
|
|
|
|
|
|
|
|
|
### 安装 cscope
|
|
|
|
|
|
|
|
|
|
ArchLinux 下安装 cscope 非常简单,可执行以下命令进行安装
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
sudo pacman -S cscope
|
|
|
|
|
```
|
|
|
|
|
|
2019-08-27 19:57:17 +08:00
|
|
|
|
Windows 系统下,推荐使用 scoop 来安装 cscope:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
scoop install cscope
|
|
|
|
|
```
|
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
### 启用模块
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
该模块默认未启用,如果需要启用,可以在配置文件中加入如下内容:
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
```toml
|
|
|
|
|
[[layers]]
|
|
|
|
|
name = "cscope"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
```
|
|
|
|
|
|
2021-08-22 14:35:22 +08:00
|
|
|
|
## 模块选项
|
|
|
|
|
|
|
|
|
|
- `cscope_command`: 设置 `cscope` 可执行命令的路径。
|
|
|
|
|
- `auto_update`: 启用/禁用数据库自动更新,若启用,则在保存文件时自动更新数据库。
|
|
|
|
|
- `open_location`: 启用/禁用自动打开搜索结果列表。
|
|
|
|
|
- `preload_path`: 设置预加载的数据量路径。
|
2022-06-07 01:03:15 +08:00
|
|
|
|
- `list_files_command`: 设置列出项目内需要生成cscope数据库的所有文件的命令,默认是:
|
|
|
|
|
```
|
|
|
|
|
['rg', '--color=never', '--files']
|
|
|
|
|
```
|
|
|
|
|
如果需要指定哪些文件需要生成数据库,可以参考如下设置:
|
|
|
|
|
```
|
|
|
|
|
[[layers]]
|
|
|
|
|
name = 'cscope'
|
|
|
|
|
list_files_command = ['rg', '--color=never', '--files', '--type', 'c']
|
|
|
|
|
```
|
2021-08-22 14:35:22 +08:00
|
|
|
|
|
2018-05-27 13:05:57 +08:00
|
|
|
|
## 快捷键
|
|
|
|
|
|
2019-02-03 20:51:01 +08:00
|
|
|
|
| 快捷键 | 功能描述 |
|
2018-05-27 13:05:57 +08:00
|
|
|
|
| ----------- | ------------------------------- |
|
|
|
|
|
| `SPC m c =` | Find assignments to this symbol |
|
2019-02-02 22:26:35 +08:00
|
|
|
|
| `SPC m c i` | 建立当前项目 cscope 索引 |
|
|
|
|
|
| `SPC m c u` | 更新所有项目 cscope 索引 |
|
2018-05-27 13:05:57 +08:00
|
|
|
|
| `SPC m c c` | 列出某个方法调用的所有函数 |
|
|
|
|
|
| `SPC m c C` | 列出某个方法被哪些函数调用 |
|
|
|
|
|
| `SPC m c d` | 查询 symbol 的定义处 |
|
|
|
|
|
| `SPC m c r` | 查询 symbol 的引用 |
|
|
|
|
|
| `SPC m c f` | 搜索文件 |
|
|
|
|
|
| `SPC m c F` | 列出 include 某个文件的所有文件 |
|
|
|
|
|
| `SPC m c e` | 搜索正则表达式 |
|
|
|
|
|
| `SPC m c t` | 搜索文本 |
|