C++ 在项目中使用vim

一:概述

除了掌握 Vim 的基本操作,利用 Vim 阅读项目源码的方法同样重要,这对实际项目开发大有裨益。虽然现在有许多人选择使用 VSCode,但在某些环境中,可能无法安装 VSCode 或联网下载插件,这时使用 Vim 就显得尤为合适。此外,熟练掌握 Vim 可以显著提升阅读代码的效率,特别是在处理大型代码库时。本文将介绍一些实用的方法,帮助您更有效地使用 Vim 来阅读和理解项目源码。

二:在vim中如何进行函数跳转

  1. 首先安装标签生成工具:
cpp 复制代码
sudo apt update
sudo apt install exuberant-ctags
  1. 在项目源码根目录下,运行命令:ctags -R . 在项目根目录生成tags 文件。
cpp 复制代码
 ctags -R . 
  1. 在vim 中,使用 Ctrl - ] 跳转到标识符定义,使用 Ctrl - t 返回。

三:如何在vim中同时查看多个文件:

  1. 分割窗口:使用 :split:vsplit 将窗口分割,可以同时查看多个文件。

  2. 在窗口间切换: 使用 Ctrl-w 加上方向键在分屏之间切换。

  3. 关闭当前窗口:使用 :q 然后回车,强制关闭使用 :q!, 或使用 Ctrl + w + c 关闭

  4. 关闭所有其他窗口:使用 :only

四:如何浏览项目文件

  1. 安装插件管理器 Vim-Plug
cpp 复制代码
sudo apt install curl 

git clone https://github.com/junegunn/vim-plug.git ~/.vim/autoload/plug.vim
  1. 添加插件到配置文件:打开你的 .vimrc 文件(在终端中运行 vim ~/.vimrc),并添加以下内容:
cpp 复制代码
call plug#begin('~/.vim/plugged')

" 安装 NERDTree
Plug 'preservim/nerdtree'

" 安装 vim-vinegar
Plug 'tpope/vim-vinegar'

call plug#end()


" 显示隐藏文件
let NERDTreeShowHidden=1

" 自动打开 NERDTree
autocmd VimEnter * NERDTree
  1. 安装插件
cpp 复制代码
启动 Vim。
输入 :PlugInstall 并按回车。
  1. 使用NERDTree插件
cpp 复制代码
1. 在 Vim 中运行 :PlugInstall。


2. 打开和关闭 NERDTree
打开 NERDTree:在 Vim 中输入 :NERDTreeToggle,或使用快捷键 Ctrl-n(如果设置了)。
关闭 NERDTree:再次运行 :NERDTreeToggle 或使用 :q 关闭 NERDTree 窗口。


3. 窗口操作
切换焦点:使用 Ctrl-w 加方向键在 Vim 窗口之间切换。
关闭当前窗口:在 NERDTree 窗口中,可以使用 :q 关闭该窗口。


4. 文件和目录操作
打开文件:在 NERDTree 中选择文件并按 Enter 打开。
切换目录:选择目录并按 Enter 进入。
返回上级目录:在目录中按 h 返回上级目录。
创建新文件:在 NERDTree 窗口中,选择目录并按 m 打开菜单,然后选择 New file,输入文件名并按 Enter。
创建新目录:同样,选择父目录并按 m,选择 New folder,输入目录名并按 Enter。
删除文件或目录:选择文件或目录,按 m,然后选择 Delete,确认删除。
重命名文件或目录:选择文件或目录,按 m,然后选择 Rename,输入新名称并按 Enter。


5. 高级操作
查看文件内容:在 NERDTree 中选择文件,按 t 在新标签页中打开文件,或按 i 在新窗口中打开。
搜索文件:按 f,然后输入文件名的部分匹配,NERDTree 会过滤显示匹配的文件。
打开最近文件:按 r 打开最近访问的文件列表。
  1. 也可以使用 vim-vinegar 查看文件
cpp 复制代码
1 文件浏览
打开文件浏览器:在命令模式下输入 -,这会打开当前目录的文件浏览器(类似于 NERDTree,但更加简单)。


2 文件操作
在文件浏览器中,你可以使用以下操作:

导航:

使用方向键或 j 和 k 键来上下移动选择。
按 Enter 打开文件或进入目录。
按 h 返回上级目录。
创建新文件或目录:

在文件浏览器中,按 N 可以创建新文件或目录。
删除文件或目录:

选择文件后,按 d 删除文件,确认后文件会被删除。
重命名文件或目录:

选择文件或目录后,按 r 进行重命名。


3 打开文件
快速打开文件:使用 Enter 来打开选中的文件或目录。
在新标签页中打开文件:在文件名上按 t。
在新窗口中打开文件:在文件名上按 i。


4 快速文件查找
快速查找文件:在命令模式下,输入 :e filename,可以快速打开指定的文件。


3. 结合其他插件使用
vim-vinegar 可以与其他插件结合使用,增强文件浏览体验:

fzf.vim:使用 fzf 进行模糊查找文件时,可以在 Vim 中打开文件浏览器。
NERDTree:虽然 vim-vinegar 和 NERDTree 功能相似,但可以根据需求选择使用一个或同时使用。

五:如何跳转到指定行或文件

  1. 使用命令
cpp 复制代码
1. 跳转到行:输入 :line_number 直接跳转到指定行。

2. 跳转到上一个/下一个文件:使用 :bprev 和 :bnext 切换缓冲区。

3. 跳转到指定文件: :e  /path/to/your/file.txt   文件名使用Tab补全

4. 与 find 结合: :!find . -name "filename.txt"  或者 :e `find . -name "filename.txt"`

5. 与 grep 结合: :grep "search_pattern" * 

6. 使用vimgrep:  :vimgrep /search_pattern/ *.txt 

7. 使用copen: :copen 
    
  1. 使用fzf.vim 插件

六:如何设置代码补全和高亮

cpp 复制代码
启用语法高亮:在 .vimrc 中添加 syntax on 来启用语法高亮。

设置颜色方案:选择适合阅读的颜色方案,例如 set background=dark 和 colorscheme desert

使用 YouCompleteMe 或 coc.nvim 提供代码补全和语法检查
cpp 复制代码
set hlsearch              " 启用搜索高亮
nnoremap <C-l> :nohlsearch<CR>  " 取消搜索高亮的快捷键
set incsearch             " 自动高亮搜索结果
set ignorecase            " 忽略搜索时的大小写
set smartcase             " 智能大小写处理
相关推荐
为什么每天的风都这么大15 分钟前
Vscode/Code-server无网环境安装通义灵码
ide·vscode·阿里云·编辑器·ai编程·code-server
xiaozhiwise23 分钟前
Makefile 之 自动化变量
linux
意疏3 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu3 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿3 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
我的K84094 小时前
Flink整合Hudi及使用
linux·服务器·flink
1900434 小时前
linux6:常见命令介绍
linux·运维·服务器
Camellia-Echo4 小时前
【Linux从青铜到王者】Linux进程间通信(一)——待完善
linux·运维·服务器
Linux运维日记5 小时前
k8s1.31版本最新版本集群使用容器镜像仓库Harbor
linux·docker·云原生·容器·kubernetes