关闭

VIM常用命令

436人阅读 评论(0) 收藏 举报
分类:
1 ctags: 命令
    ctags -R *(sh): 对当前目录下所有文件执行同步tag操作,最终会在目录下生成一个tags文件,保存着各个tag的信息
    ctrl+](vim): 转到当前光标所在位置变量所在文件
    ctrl+p: 可以根据ctags生成的标志,进行自动补全
    ctrl+t: 返回到上一个标志
    g+]: 显示所有该tag
    
    :set tags=tags

2 Tlist Win快捷键:
    x: zoom
    u: update
    -: 折叠
    +: 打开折叠
    *: 打开所有折叠
    =: 折叠所有
    [[: 跳到前一个文件
    ]]: 跳到后一个文件
    q: 关闭taglist窗口

3 NERDTree 快捷键:
    A: zoom
    K: go to root
    qq: exit
    F4: run or exit
    s: 以vertical方式在新窗口打开当前光标所在文件.
    u: 去上一层文件夹c
    o: 在当前光标位置添加bookmark
    cd: 切换CWD到选定的文件夹
    r: 更新选中文件夹文件列表
    C: 切换文件夹root到选中文件夹
    m: 显示菜单, 这个菜单可以执行复制,黏贴,剪贴文件夹和文件的操作.
    
    


4 vim内置命令:
    ctrl+ww: 在多个窗口间切换
    ctrl+v: 进入列可视模式,可以选择局部内容,然后使用正则表达式进行替换
    shift+v: 进入行可视模式
    ctrl+n: 扫描当前tag,生成快速补全列表
    ctrl+6: 跳到打开的上一个文件
    ctrl+shift+6: 同上,应该方向和上面快捷键相反.
    =: 格式对齐

4.1 复制黏贴
    yy:    复制当前光标所在行
    yw: 拷贝当前光标下的单词
    p: 将上次复制的内容黏贴到光标所在下一行

4.2 删除
    dd: 删除光标所在行
    dw: 删除光标所在处的单词
    D: 删除光标后改行部分

4.3 窗口管理
    ctrl + -: 缩小窗口,整体,包括文字
    ctrl + +: 这个需要按住shift, 这个放大窗口,包括文字

4.3 移动命令:
    h: 左
    k: 上
    j: 下
    l: 右
    ctrl+f: 向前,下一页
    ctrl+b: 向后,上一页
    w: 跳到下一个自首,按标点或单词分割
    W: 跳到下一个字首, 长跳,如end-of-line被认为一个字
    e: 跳到下一个字尾
    E: 跳到下一个字尾,长条
    b: 跳到上一个字
    B: 跳到上一个字,长跳
    ^: 跳到当前行第一个字符
    $: 跳到当前行最后一个字符
    gg: 文件第一行
    gd: 跳到光标所在变量的声明处
    %: 跳到当前括号匹配的括号处,如{跳到}
    fx: 在当前行找x字符,找到则跳转至
    tx: 与fx类似,只是跳到x的前一个字符处.
    Fx: 与fx方向相反
    *: 查找光标所在处单词, 向下查找
    #: 和*一样,不过向上查找
    ctrl+o: 返回上一个位置,比如通过gD跳转的时候
    K: 打开光标所在处函数的man页面。这个功能在编写native程序时比较有用。

4.4 插入
    i: 在当前光标所在字符前进行插入
    o: 在当前行下一行插入一行,并进入编辑
    O: 在当前所在行的的上一行插入一行,并进入编辑模式

4.5 替换
    :s/aa/bb/g: 将当前行中的aa都替换为bb
    :%s/aa/bb/g: 将当前所在文件的所有aa都替换为bb
    :12,22s/aa/bb/g: 将12到22行中包含的aa都替换为bb
    :g/^\s*$/d: 删除所有都是空格的行

5 vim配置的插件快捷键:
    F3: 调出grep工具
    F4: 调出NERDTree,就是文件浏览器
    F8: 调出WMToggle,也就是当前文件中的Tags列表
    F3: 调用grep命令进行搜索
    F1: 调用VIM的帮助
    ca: 调用日历
    ss: :w<cr> 保存
    qq: :q<cr> 退出
    qa: :qa<cr> 全部退出

5. 格式化代码命令
    =: 自动格式化
    :set expandtab/et: 设置将tab自动转换为空格
    :set noexpandtab/noet: 不将tab转换为空格
    :set tabstop/ts: 设置tab的位置
    :retab: 将文件中所有的tab都转换为空格
    :set shiftwidth/sw: 自动缩进时插入的空格数
    :set smartab/sta: 在行首按tab会插入shiftwidth个空格

有道笔记连接: http://note.youdao.com/share/?id=5c87401c0ada964c3893bba8657261db&type=note
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:35589次
    • 积分:630
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:4篇
    • 译文:0篇
    • 评论:4条
    文章存档
    最新评论