当前位置:网站首页>vim配置+ctag像source insight一样方便阅读代码
vim配置+ctag像source insight一样方便阅读代码
2022-08-01 04:58:00 【月山知了】
1,配置amix/vimrc
在 https://github.com/amix/vimrc 下载 amix/vimrc
并安装:
$ git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
// 执行该命令后 ~/.vimrc 文件会变成需要的配置
$ sh ~/.vim_runtime/install_awesome_vimrc.sh
2,下载taglist(相当于sourceinsight的左侧窗口显示函数和变量)
http://www.vim.org/scripts/script.php?script_id=273
解压把 taglist.vim 放到 ~/.vim_runtime/my_plugins 目录中
并在 ~/.vimrc 文件中添加如下行:
source ~/.vim_runtime/my_plugins/taglist.vim
3,在~/.vim_runtime/vimrcs/basic.vim添加如下配置
" my start
set mouse=a
set number
set cursorline
let Tlist_Use_Right_Window=0 "taglist 显示在左侧
let Tlist_Exit_OnlyWindow=1 "taglist 只剩下一个窗口时,自动关闭
let Tlist_File_Fold_Auto_Close=1
map tl :TlistToggle
nnoremap ev :vsplit $MYVIMRC
nnoremap sv :source $MYVIMRC
" my end
4,使用配置好的vim
比如:进入源代码目录,以Android源代码为例:
比如:阅读frameworks/base目录的代码
首先:在frameworks/base目录执行:
$ ctags -R
然后: 随便打开文件:如打开PowerManagerService.java
frameworks/base$ vim ./services/core/java/com/android/server/power/PowerManagerService.java
在打开的文件中:常用操作
执行:Shift + * // 搜索光标处的变量
执行:ctrl + o // ctrl + * 反向操作,后退回去
执行: tl <Enter> // 会打开当前文件的函数和变量窗口
执行:,nn // 会打开文件目录浏览
执行:ctrl + ] // 跳到函数和变量的定义处
执行:ctrl + t // 调回执行 ctrl + ] 处
执行: ts <函数名或变量名> // 显示那些文件调用了该函数
执行: ! 用于执行命令
执行: tabnew 文件名 // 新标签中打开该文件
执行: gt // tabnew打开的多个标签中跳转
执行: vw // vim的可视化模式复制该单词,然后到命令行模式中进行搜索该单词
执行: 进入命令行模式执行: Shift+insert // 粘贴在可视化模式中复制的单词
执行:vim /<函数名或变量名>/ % | copen
执行:vim /test1/ ** | copen // 如下就递归找出了在当前目录下所有包含test1 字符串的文件,并且点击想查看的那行就直接能跳转到这个文件包含test1的位置中去。
1. 只搜索当前文件 vim /main/ % | copen
2. 只搜索当前目录 vim /main/ * | copen
3. 搜索上级目录下,并递归 vim /main/ ../** | copen 4. 可以在多个路径中搜索 vim /main path1/** path2/** | copen 执行:ctrl + d // 向下翻半页 执行:ctrl + u // 向上翻半页 执行:f + 字符 // 在光标行,查找该字符 ~/.vim_runtime目录中配置的插件的快捷命令都可以到:~/.vim_runtime中 grep 查找到 如到 ~/.vim_runtime/vimrcs/plugins_config.vim中能找到Nerd Tree配置的快捷键。 自动补全:Ctrl + N :reg Vim与系统剪贴板交互方法 选中一行 :"+Y //复制一行 :"+yy //复制一行 选中多行后 :"+y 选中单词后 :"+y (Shift) :"+yw (一个单词) 边栏推荐
猜你喜欢

微软 Win10 照片磁贴后的又一“刺客”,谷歌 Chrome 浏览器将在新标签页展示用户照片

罗技鼠标体验记录

USB3.0:VL817Q7-C0的LAYOUT指南(二)

(2022牛客多校四)H-Wall Builder II(思维)

typescript27 - what about enumeration types

pytroch、tensorflow对比学习—功能组件(数据管道、回调函数、特征列处理)

剑指 Offer 68 - II. 二叉树的最近公共祖先

出现Command ‘vim‘ is available in the following places,vim: command not found等解决方法

【愚公系列】2022年07月 Go教学课程 023-Go容器之列表

typescript28 - value of enumeration type and data enumeration
随机推荐
FFmpeg 搭建本地屏幕录制环境
(2022牛客多校四)N-Particle Arts(思维)
Immutable
怀念故乡的面条
状态压缩dp
typescript27 - what about enumeration types
pytorch、tensorflow对比学习—功能组件(优化器、评估指标、Module管理)
「以云为核,无感极速」顶象第五代验证码
LeetCode 9. 回文数
ICML2022 | Deep Dive into Permutation-Sensitive Graph Neural Networks
Asynchronous reading and writing of files
typescript23-元组
PMP子过程定义总结
出现Command ‘vim‘ is available in the following places,vim: command not found等解决方法
万字逐行解析与实现Transformer,并进行德译英实战(一)
y83.第四章 Prometheus大厂监控体系及实战 -- prometheus告警机制进阶(十四)
Dry goods!How to Construct SRv6-TE Performance Test Environment Using Instrumentation
typescript24 - type inference
typescript20-接口
C# | 使用Json序列化对象时忽略只读的属性