vim 插件使用记录

vim 插件使用

@(linux 编程)[开发技能, 工具使用]

前面记录过一篇vim操作记录 此处记录一些vim的插件和使用。

  • 使用系统 ubuntu
  • 个人配置 github

本文只是提及有什么可以用,具体实现由于网络很多,不多此一举。


ctags

程序中跳转,我主要用来跳转查看函数变量等的定义。

  • 安装ctags
    sudo apt-get install ctags 
  • 建立索引, 生成tags文件 (增加了新定义需要重新执行)
ctags -R ./*
  • 添加多个目录的tags 在vim命令行中加入需要的目录下的tags :set tags=./tags,./../tags,./*/tags 或者添加目录下的所有tags (都在proj目录下,直接所有添加)) : set tags=./proj/**/tags
  • 跳转指令 光标停靠需要查找的变量上
    • 查找定义

    指令 效果 C_ ] 直接跳转到定义处 C_ t 往回跳转一次(先输入数字再C_t,可以一次回跳多个) : tags 查看跳转list C_w ] 在新分屏中打开定义,光标定位到定义处 C_w } 在新分屏中打开定义,光标不跳

    • 查找出现位置

    指令 效果 [ I (大写i) 列出所有(不会是当前文件)现该词的位置 x [ [tab] 跳转到上述列出的第X项 C_ o (字母) 跳转回来

* 代码块移动
 ```[[``` 最外围开始   & ```][``` 最外围的结束
 ```[{```  当前开始     & ```]}```当前结束
  • 详细参考vim 文档 vim 命令行 : help usr_29

cscope

超过频的ctags 查看函数在何处调用,跳到指定文件等,添加后实现 IDE 的各种跳转功能! 具体使用网络很多,直接百度,不多此一举。

bundlue

整合了git功能的插件管理工具, 后续插件安装都是基于bundlue。

  • 安装
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim.bundle/vundle

修改 .vimrc文件

filetype off set rtp+=~/.vim/bundle/vundle/ # 运行时加载 call vundle#rc()

  • 安装插件 对应安装的插件, 在.vimrc文件下添加

Bundle “plugin”

plugin 分类 1. 在Github vim-scripts 用户下的repos,只需要写出repos名称 2. 在Github其他用户下的repos, 需要写出”用户名/repos名” 3. 不在Github上的插件,需要写出git全路径

执行bundle 添加程序

打开vim,运行:BundleInstall或在shell中直接运行vim + BundleInstall + qall

  • 更新插件

打开vim,运行:BundleUpdate或在shell中直接运行vim + BundleUpdate + qall

shift + r 更新目录树 r 更新当前目录

Taglist

列出文件的函数名,全局变量和宏等符号,方便总览全局。taglist的使用时建立在tags上的,所以使用前需要设置好tags。

NRDTree

浏览文件目录树

A

源文件和头文件之间切换

ctrlP

文件模糊查找 C_P 模糊查找哦啊

ctrlp-funky

模糊查找函数 \fu

mark.vim

高亮某个单词 光标停靠再需要高亮的单词 直接键入 :

  • \m 高亮单词
  • \n 清除
  • \r 根据正则高亮git
  • * 下一个
  • # 上一个

pyflakes

python 语法检查

vim-powerline

状态栏

nerd-commenter

  • 设置启用, vimrc 中加入 Bundle 'The-NERD-Commenter'
  • 一般使用快捷键 \cc 注释选中代码 每行独立一个注释// \cm 注释选中代码 同一个注释// \cu 取消注释的代码

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏安恒信息

安恒信息提示漏洞:CVE-2014-6271 bash远程命令执行漏洞

今日爆出CVE-2014-6271 bash远程命令执行漏洞。bash是Linux用户广泛使用的一款用于控制命令提示符工具,导致该漏洞影响范围甚广。同时,当HT...

3125
来自专栏后端技术探索

nginx,memcached,redis网络模型总结

nginx采用多进程模型,含一个master进程和多个worker进程,worker进程数目可配置,一般与机器CPU核心数目一致,master进程主要职责是:接...

2392
来自专栏Python攻城狮

Python网络爬虫(五)- Requests和Beautiful Soup1.简介2.安装3.基本请求方式5.程序中的使用4.BeautifulSoup4

Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,...

1384
来自专栏PingCAP的专栏

TiDB 源码阅读系列文章(十九)tikv-client(下)

上篇文章 中,我们介绍了数据读写过程中 tikv-client 需要解决的几个具体问题,本文将继续介绍 tikv-client 里的两个主要的模块——负责处理分...

2140
来自专栏视觉求索无尽也

Visual Studio Debug 教程:入门

Solution 的配置有两种基本类型: Debug 和 Release,区别如下:

1843
来自专栏hbbliyong

WCF配置文件与文件下载之坎坷路

题外话:本以为我会WCF了,精通WCF了,毕竟刚做过一个WCF的项目,不就是写写契约接口,然后实现接口,改下配置。最后用控制台或者服务发布一下,不就能用了。不...

3327
来自专栏祥子的故事

python | os包常用命令介绍

4005
来自专栏用户2442861的专栏

socket阻塞与非阻塞,同步与异步I/O模型

作者:huangguisu 原文出处:http://blog.csdn.net/hguisu/article/details/7453390

2951
来自专栏阿杜的世界

Serviceability Agent介绍简单介绍安装使用模式入门示例SA的其他工具参考资料

构建高性能的Java应用过程中,必然会遇到各种各样的问题,像CPU飙高、内存泄漏、应用奔溃,以及其他疑难杂症,这时可以使用Serviceability Agen...

2203
来自专栏七夜安全博客

小知识点--crontab

这两周学了很多东西,还把golang语言基本掌握了,收获还是挺多的。在做安全的过程中,有很多需要定时执行的任务,比如抓取主机数量,端口数据等,这都逃不开linu...

862

扫码关注云+社区

领取腾讯云代金券