1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-26 14:20:04 +08:00
SpaceVim/docs/cn/layers/cscope.md

83 lines
2.7 KiB
Markdown
Raw Normal View History

---
title: "SpaceVim cscope 模块"
description: "这一模块为 SpaceVim 提供了一个智能的 cscope 和 pycscope 辅助工具,可以快速调用 cscope 常用命令。"
2019-10-04 14:13:51 +08:00
lang: zh
---
2018-06-23 14:37:41 +08:00
# [可用模块](../) >> cscope
<!-- vim-markdown-toc GFM -->
- [模块描述](#模块描述)
- [安装依赖及启用模块](#安装依赖及启用模块)
- [安装 cscope](#安装-cscope)
- [启用模块](#启用模块)
2021-08-22 14:35:22 +08:00
- [模块选项](#模块选项)
- [快捷键](#快捷键)
<!-- vim-markdown-toc -->
## 模块描述
这以模块为 SpaceVim 提供了一个智能的[Cscope](http://cscope.sourceforge.net/) 和 [PyCscope](https://github.com/portante/pycscope) 辅助工具。
2019-02-03 20:51:01 +08:00
如果想要了解更多关于 cscope 和其它类似工具之间的区别,请阅读 [Comparison with Similar Tools](https://github.com/oracle/opengrok/wiki/Comparison-with-Similar-Tools)
## 安装依赖及启用模块
### 安装 cscope
ArchLinux 下安装 cscope 非常简单,可执行以下命令进行安装
```shell
sudo pacman -S cscope
```
Windows 系统下,推荐使用 scoop 来安装 cscope
```
scoop install cscope
```
### 启用模块
该模块默认未启用,如果需要启用,可以在配置文件中加入如下内容:
```toml
[[layers]]
name = "cscope"
```
2021-08-22 14:35:22 +08:00
## 模块选项
- `cscope_command`: 设置 `cscope` 可执行命令的路径。
- `auto_update`: 启用/禁用数据库自动更新,若启用,则在保存文件时自动更新数据库。
- `open_location`: 启用/禁用自动打开搜索结果列表。
- `preload_path`: 设置预加载的数据量路径。
- `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
## 快捷键
2019-02-03 20:51:01 +08:00
| 快捷键 | 功能描述 |
| ----------- | ------------------------------- |
| `SPC m c =` | Find assignments to this symbol |
| `SPC m c i` | 建立当前项目 cscope 索引 |
| `SPC m c u` | 更新所有项目 cscope 索引 |
| `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` | 搜索文本 |