首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vim高级用法之ctags工具

都说vim强大,然而之前的简单用法并没有让我觉得vim有多强大,顶多是一个功能齐全的记事本,只到我发现了这个工具--ctags,以及由他衍生出来的很多插件,让我明白了,“哦,vim 至少可以作为一个很不错的...C文件经过他的处理后会生成一个tags文件来保存文件中所有函数、变量、宏的索引,通过这个索引,就能非常方便的在后续的编辑过程中获取这些信息,从而达到自动补全、识别函数和变量等一系列的功能。...安装 ctags工具有他的官网可以下载,但是实际上我们并不需要手动安装。一般情况下ubuntu系统内会自带ctags工具,他的名字叫:exuberant-ctags(朝气蓬勃的C标签0.0)。...其实就是规定一种保存结构体、函数名、和全局变量的索引了。...晓得了这个工具,就像是打开了vim 插件类工具的大门,强大的 vim 配置就要诞生了。

1.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用Vim编写和调试Python代码

    如何使用Vim编写和调试Python代码 1.部署环境 要想在Ubuntu下使用VIM编写和调试Python代码,请下安装如下的链接进行配置: https://segmentfault.com/a/1190000003962806...使用set更改shell特性时,符号"+"和"-"的作用分别是打开和关闭指定的模式。set命令不能够定义新的shell变量。...vim的配置信息 Vim把它所有的配置存在两个相当简单的地方:一个简明的~/.vimrc文件和全是纯文本文件的~/.vim目录。...基本上,nnoremap 就是说,当我在正常模式按下时,进行操作 缓冲区(Buffers) 虽然Vim支持tab操作,仍有很多人更喜欢缓冲区和分割布局...在本机上正经写代码: PyCharm,社区版免费,专业版 $199 每年。 在本机上写几行脚本: ipython 或者 pyipython。 在服务器调试的时候微调代码:vim

    4K10

    2018 更新下vim 插件

    @(linux 编程)[工具使用] 周末网上晃荡看到一些关于 vim8 异步和插件的文章,觉得有些新功能挺实用的,所以花了点时间升级下自己的 vim 配置。...一直靠 ctags + cscope 看 c/c++,插件 jedi 查看 python 代码,其他语言没有,而且每次代码修改,都需要手动重新生成索引,感觉挺麻烦的。...= '.tags' " 同时开启 ctags 和 gtags 支持: let g:gutentags_modules = [] if executable('ctags')...1534853129638.png 动态检查 静态代码检查是个很实用的东西,能在编写代码的过程中及时发现存在的错误,之前一直使用的插件是 syntastic, vim8 支持异步后可以升级实时 linting.../master/setup.sh | sh -x 安装配置好的vim,需要手动升级ctags和gtags,参考 install_tags.md ---- 参考 插件_for_vim8 vim8 gtags

    2.6K30

    为 Vim 添加 Smali 语法高亮和 Taglist 支持

    以下内容假设读者已经配置好 Vim + Ctags + Taglist(或 Tagbar) 环境,掌握了安装 Vim 插件的方法。...ctags -R . 生成 tags 文件,对解析到的变量和方法等就可以 Ctrl-] 跳转到定义了。...后话 对于实现 Taglist 支持这一步,我在网上搜索良久未找到有效解决方案,最后是打开 taglist.vim 文件,看到有如下代码段后才知道能这么做的,所以以后遇到问题找不到方法而有源码的时候,读它吧...当前解决方案 Ctags 只解析、Taglist/Tagbar 只显示了 field 和 method 两类 tag,我对此的原理不是很懂,但是猜想应该是上面 .ctags 文件里的 --regex-smali...参考链接 让Vim和Ctags支持smali语法 让tagbar支持markdown

    1.2K20

    为 Vim 添加 Smali 语法高亮和 Taglist 支持

    以下内容假设读者已经配置好 Vim + Ctags + Taglist(或 Tagbar) 环境,掌握了安装 Vim 插件的方法。...ctags -R . 生成 tags 文件,对解析到的变量和方法等就可以 Ctrl-] 跳转到定义了。...后话 对于实现 Taglist 支持这一步,我在网上搜索良久未找到有效解决方案,最后是打开 taglist.vim 文件,看到有如下代码段后才知道能这么做的,所以以后遇到问题找不到方法而有源码的时候,读它吧...当前解决方案 Ctags 只解析、Taglist/Tagbar 只显示了 field 和 method 两类 tag,我对此的原理不是很懂,但是猜想应该是上面 .ctags 文件里的 --regex-smali...参考链接 让Vim和Ctags支持smali语法 让tagbar支持markdown

    1.1K10

    Vim as Python IDE on

    = 'C:\Program Files\Vim\vim73\ftplugin\complete-dict 现在按Tab键可以实现代码补全,如图 下面我们需要分析源代码的工具Ctags,从网站下载For...我们可以在方法上按Crtl+],Vim会帮你找到方法定义的地方。 下面我们需要使用这个文件查看源代码。我们需要用到另外一个插件TagList,配合Ctags可以高效的查看源代码。...用vim×××python代码文件,按F5运行,然后按F2设置断点,在运行到断点后可以用按F12可以查看Stack Trace,F3查看变量和参数值。 更高级的使用可以查看文档。...如下图 Python代码检查 在Vim的ftplugin目录下新建一个python目录。...下载pyflakes,解压缩后把pyflakes.vim文件和pyflakes目录拷贝套ftplugin\python目录中。

    1.9K20

    三十分钟配置一个顺滑如飞的 Vim

    安装 Vim 首先说明,vi 和 vim 是两个不同的版本,vi是 vim 的精简版本,功能要弱很多,所以如果你的系统里面只有 vi,请执行 apt install vim 命令更新到 vim,而且最好更新到...安装 Universal-ctags ctags 的作用是扫描工程中的代码,为代码中定义的函数、变量生成一份 tags 数据库文件,然后我们用 vim 浏览代码的的时候,当光标移动到某个函数或者变量上,...ctag 目前有两个版本:Exuberant-ctags 和 Universal-ctags,Exuberant-ctags 比较老,目前已经停止维护, Universal-ctags 测是新版本,一直在更新...gcc make pkg-config autoconf automake python3-docutils \ libseccomp-dev libjansson-dev libyaml-dev...vim 里面也可以用它来结合 LeaderF 插键搜索函数和变量。

    1.8K11

    手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)

    -command=python3           如果上述配置命令配置、编译后,vim一直不能支持python3,则建议尝试一下下面的命令: ..../configure --help)               2、注意:vim8.2不支持同时使用python2和python3,所以千成不可以在上述命令中指定:--enable-pythoninterp...: mkdir -p  ~/.vim/bundle                  clone代码:git clone https://github.com/VundleVim/Vundle.vim.git.../bundle/Vundle.vim call vundle#begin() filetype plugin indent on " 必须加载vim自带和插件相应的语法和文件类型相关脚本...其实,到这一步,如果没有错误的话,vim+ycm已经可以支持代码补全了(只是部分的补全哟,目前还补全不了c++工程中的基础库、依赖的第三方库,如:boost、libevent等) 五、让vim支持语议补全

    4.6K30

    手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)

    -command=python3           如果上述配置命令配置、编译后,vim一直不能支持python3,则建议尝试一下下面的命令: ..../configure –help)               2、注意:vim8.2不支持同时使用python2和python3,所以千成不可以在上述命令中指定:–enable-pythoninterp...: mkdir -p  ~/.vim/bundle                  clone代码:git clone https://github.com/VundleVim/Vundle.vim.git.../bundle/Vundle.vim call vundle#begin() filetype plugin indent on " 必须加载vim自带和插件相应的语法和文件类型相关脚本...其实,到这一步,如果没有错误的话,vim+ycm已经可以支持代码补全了(只是部分的补全哟,目前还补全不了c++工程中的基础库、依赖的第三方库,如:boost、libevent等) 五、让vim支持语议补全

    5.9K31

    CTAGS 基础

    前言 长期的运维工作中难免会遇到需要查看脚本或工具源码的情况,这时单纯地使用文本编辑器来检索与跳转就很不方便了,如果有方法可以对代码进行索引就能很明显提升定位效率,减少垃圾时间,将注意力更多分配到有价值的事情上...ctags 正是用来应对此种需求的 ctags 可以在源码的基础上生成一份索引文件(标记体系),然后提供给其它编辑器使用,以简单快速地定位这些被索引的对象和条目 ctags 目前可以支持多种语言,可以参考...programming languages ,也可以支持多种工具和编辑器,可以参考 Editors and Tools Supporting CTAGS 这里分享一下 ctags 相关基础,详细可以参考...DosBatch Eiffel Erlang Flex Fortran HTML Java JavaScript Lisp Lua Make MatLab OCaml Pascal Perl PHP Python...OCaml *.ml *.mli Pascal *.p *.pas Perl *.pl *.pm *.plx *.perl PHP *.php *.php3 *.phtml Python

    97520

    使用 VIM 进行代码审计

    因为代码审计本身大都只需要在“只读”模式下,因此很多 VIM 的编辑命令可以腾出来用作其他功能。 对于语言支持,目前选用的是 ctags 和 cscope 卧龙凤雏两兄弟。...ctags 和 cscope 构建索引的过程如下: cd src ctags --fields=+l find ....虽然我们可以指定在其他地方生成数据库,但是每次都执行一遍总归是比较繁琐,因此笔者写了一个简单的 Python 脚本用于管理代码对应的数据库。...由于数据库保存到非标准的位置,那么就需要在 VIM Script 中指定对应的 cscope 和 ctags 路径,顺便也就定义一些快捷键了。 这么一来二去,也就有了这个项目:audit.vim。...同时 open 会以 READ-ONLY 模式打开 VIM 并设置好对应的 ctags 和 cscope 路径。目前为了防止审计超大型代码时候引入过多的无效文件,使用的是文件后缀白名单模式。

    14510
    领券