zoukankan      html  css  js  c++  java
  • Vim插件推荐

    看下文时要知道我的<leader>键就是

    ctags

    C程序阅读辅助工具。在看C/C++代码的时候经常需要在文件之间跳来跳去,这是很麻烦的事,ctags就是解决这种问题的。ctags是linux的工具,但是它是用来生成tags文件给vim用的,vim无需额外插件即可使用。
    $ctags -R 在终端,生成tags文件
    ctrl + ] 在vim,跳到光标所指的符号的定义处,跳转时会有栈记录跳转的过程,可以回跳
    ctrl + t 在vim,与上条命令相反,即回跳
    :ts 在vim,如果找到多处tag的话可以用这个命令将所有tag以列表显示出来
    注:经常碰到在回跳时ctrl+t显示已经到达栈底,其实这是不对的,应该重新生成tags文件,我在生成tags文件的路径下打开vim后发现正常了,:tags命令可看栈内容。
    可参考文档ctags使用细节

    cscope

    C程序阅读辅助工具。cscope经常是和ctags搭配使用的,这个工具可以知道哪里调用了当前的函数,哪里包含了当前文件,从而进行跳转,这是它的主要功能。但是不像ctags,这个工具不提供回跳的方法。它也可以用来找符号的定义,如类、函数、变量等,还有些非核心的功能请自行了解。
    cscope -Rbq 生成cscope相关数据文件,一般是3个。
    注意,cscope与ctags不同的是,还不能直接在vim中使用它,所以需要vim插件cscope.vim,用vundle直接写Bundle 'cscope.vim'即可。具体用法看文档。在vim中使用cscope时需要先连接数据库,也就是连接上面产生的3个文件,使用时如果没有连接会提示你连接的。
    配合使用cscope的还有插件autoload_cscope.vim自动加载cscope文件,haolongzhangm/auto_update_cscope_ctags_database自动更新cscope和tags。

    -R: 在生成索引文件时,搜索子目录树中的代码
    -b: 只生成索引文件,不进入cscope的界面
    -q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
    -k: 在生成索引文件时,不搜索/usr/include目录
    -i: 如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪儿去找源文件列表。可以使用"-",表示由标准输入获得文件列表。
    -Idir: 在-I选项指出的目录中查找头文件
    -u: 扫描所有文件,重新生成交叉索引文件
    -C: 在搜索时忽略大小写
    -Ppath: 在以相对路径表示的文件前加上的path,这样,你不用切换到你数据库文件所在的目录也可以使用它了。
    

    可参考文档Cscope的使用(领略Vim + Cscope的强大魅力)

    The-NERD-Commenter

    代码注释插件,主要是和注释相关的操作,如多行注释、注释选中代码块。

    cc 注释当前行和选中行,也可以在前面加数字,表示从当前行开始的n行进行注释
    cn 没有发现和cc有区别
    c<空格> 如果被选区域有部分被注释,则对被选区域执行取消注释操作,其它情况执行反转注释操作(常用)
    cm 对被选区域用一对注释符进行注释,前面的注释对每一行都会添加注释
    ci 执行反转注释操作,选中区域注释部分取消注释,非注释部分添加注释
    cs 添加性感的注释,代码开头介绍部分通常使用该注释
    cy 添加注释,并复制被添加注释的部分
    c$ 注释当前光标到改行结尾的内容
    cA 跳转到该行结尾添加注释,并进入编辑模式
    ca 转换注释的方式,比如: /**/和//
    cl cb 左对齐和左右对其,左右对其主要针对/**/
    cu 取消注释
    注意其中的符号是<leader>键,上面的快捷键需要按3个。
    

    easymotion

    光标定位插件,跨行跳转时可以用这个插件,跳得更快,使用方便简单。

    \b    按词往上寻找
    \w    按词往下寻找
    \j    按行往下寻找
    \k    按行往上寻找
    

    Tagbar

    C变量名列表插件,以列表的形式展示出本文件的变量、函数、结构体等等。

    p 光标停留在tagbar栏,文件的光标调至对应的位置。
    P(大写)  光标不动,但是新开一个预览窗口。
    ctrl+n  光标跳至下一个折叠目录处
    ctrl+p  功能同上,但与上相反。
    空格   在控制命令行显示当前tag的原型。
    s  切换排序规则:名字 or 定义顺序
    x  全屏显示tagbar
    q  关闭tagbar(对于有映射键来讲,没有用)
    -  折叠当前标签
    +  打开折叠的标签
    

    The-NERD-tree

    目录树插件,在vim中显示当前路径下的目录树,不知道文件名时找文件时比较方便。

    ctrl + w + h    光标 focus 左侧树形目录
    ctrl + w + l    光标 focus 右侧文件显示窗口
    ctrl + w + w    光标自动在左右侧窗口切换
    ctrl + w + r    移动当前窗口的布局位置
    o       在已有窗口中打开文件、目录或书签,并跳到该窗口
    go      在已有窗口 中打开文件、目录或书签,但不跳到该窗口
    t       在新 Tab 中打开选中文件/书签,并跳到新 Tab
    T       在新 Tab 中打开选中文件/书签,但不跳到新 Tab
    i       split 一个新窗口打开选中文件,并跳到该窗口
    gi      split 一个新窗口打开选中文件,但不跳到该窗口
    s       vsplit 一个新窗口打开选中文件,并跳到该窗口
    gs      vsplit 一个新 窗口打开选中文件,但不跳到该窗口
    !       执行当前文件
    O       递归打开选中 结点下的所有目录
    x       合拢选中结点的父目录
    X       递归 合拢选中结点下的所有目录
    e       Edit the current dif
    双击    相当于 NERDTree-o
    中键    对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
    D       删除当前书签
    P       跳到根结点
    p       跳到父结点
    K       跳到当前目录下同级的第一个结点
    J       跳到当前目录下同级的最后一个结点
    k       跳到当前目录下同级的前一个结点
    j       跳到当前目录下同级的后一个结点
    C       将选中目录或选中文件的父目录设为根结点
    u       将当前根结点的父目录设为根目录,并变成合拢原根结点
    U       将当前根结点的父目录设为根目录,但保持展开原根结点
    m       显示文件系统菜单
    cd      将 CWD 设为选中目录
    I       切换是否显示隐藏文件
    f       切换是否使用文件过滤器
    F       切换是否显示文件
    B       切换是否显示书签
    q       关闭 NerdTree 窗口
    ?       切换是否显示 Quick Help
    r       递归刷新选中目录(很重要)
    R       递归刷新根结点(很重要)
    
  • 相关阅读:
    注解的作用
    962. Maximum Width Ramp
    594. Longest Harmonious Subsequence
    1042. Flower Planting With No Adjacent
    419. Battleships in a Board
    1041. Robot Bounded In Circle
    leetcode 395. Longest Substring with At Least K Repeating Characters(高质量题)
    leetcode 44. Wildcard Matching(模糊匹配)
    HEU预热赛
    780. Reaching Points
  • 原文地址:https://www.cnblogs.com/xcw0754/p/8410329.html
Copyright © 2011-2022 走看看