分享

贴一下我常用的几个命令

 byrbzdl 2007-01-17
发信人: allanj (木瓜), 信区: VIM
标  题: 贴一下我常用的几个命令
发信站: BBS 水木清华站 (Tue Jun  1 11:07:15 2004), 站内
常用命令:
------------------------------
    CTRL-Z      vim 切换到后台
    :g/xxx      列出所有含 xxx 的行; 适合想到含 xxx 的某行, 但不知道行号,
                    /xxx 又太慢
    q: q/ q?    编辑长命令时比较舒服, 执行按回车, 按 CTRL-C 再次进入
                    : / ? 原来的输入状态, 再按一次关闭.
    CTRL-W=     所有窗口等高, 适合 diff 时自己移动了 window 大小
    CTRL-Wo     等效于 :only
    CTRL-Wc     等效于 :close!
    gvim -u     用 NONE 的话必须大写, 可以用 nul 文件, gvim -u nul, 而且不
                        区分大小写
         -s     执行脚本文件, 是 normal 时的指令, cmd 的命令要 :, 但不用加<CR>
         -w     把所有按键记录 appedn    到指定文件中
         -W                    overwrite
                这 2 个适合不会 perl sed 的 vimer
        --servername
        --remote-silent     这 2 个搭配着用, 可以总在一个 vim 里打开新文件, 比如
                gvim.exe  --servername smarter  --remote-silent  test.text
                命令太长, 可以自己 alias 一下(win32 下用 doskey 就可以)
    再次选中 上次选中的内容, 用 gv
    在选中的区域首尾跳动, 用 大写 O
    :redi       把输出信息重定向, 比如 保存所有 set 选项到 剪切板
                    :redi   @*
                    :se all
                具体 :h redi

c\c++ 下常用的:
------------------------------
    [[
    ]] 在 C 的 {} 形成的段落中移动 (在第一列 { 之间跳动,
        一次一个函数,一个结构或类的定义)
    [# 和 ]# 在 #if #else #endif 的上下位置间移动
    [{    ]}
    [(    ])
    [/    ]/ 在注释 /* */ 间移动
        这样在这些块的中间位置, 就能迅速到块头和块尾
        如果已经在这些行上, 如果不是到对应点,
            会到上一级范围, 如 { 上按 [{ 到上一级
                ]}  则到对应点
    (vim 里常用 [ 表示 "向上",
                ] 表示 "向下",
        比如上面的例子, 以及 [i ]i, diff 时候的 [c ]c 等)
    %  在 ()   {}  []  #ifdef #endif  /* */之间跳转
        可以 :so  $VIMRUNTIME/macros/matchit.vim
        这样可以在 if endif <tr> <\tr> 之间使用
    对 1 个块的操作, 具体 :h v_a
        里面的 iX aX 什么的都很好用
    ctags 用 -a 附加新 tags 到 ctags 文件后
    --- 对 c
    --- ctags  -R  --c-types=+px  d:\mingw\include (etags)
    --- 因为 ctags 确省不把函数声明作为 tag
    --- 对 c++
    --- ctags -R --language-force=c++ --c++-types=+px --verbose --extra=+q
            extra=+q 用来增加生成 Class::member 的形式, 默认没有
            这样就可以用 :ts CView::OnDraw 这种形式看
    --- 因为 c++ 一些头文件不用 .h 所以要用 --language-force
    --- 对 java
    --- ctags -R --languages=java c:/jdk131/src
    --- 要把 src.jar 展开
    :che    检查 include 的文件在 path 中是否存在, 注意会递归验证

插入模式
------------------------------
    insert 模式下的:
        CTRL-W      回删一个 word, 具体 :h i_ctrl-w
        CTRL-U      回删在当前行输入的内容
        CTRL-R      用某个 reg 的内容
        CTRL-E
        CTRL-Y
       0CTRL-D      这 2 个对缩进, 具体 :h i_0_CTRL-D
       ^CTRL-D
        CTRL-C      退出 insert
       另外, ascii 第 1 - 26 个对应的就是 CTRL-A 到 CTRL-Z
            所以下面几个也常用
        CTRL-H  对 <BS>
        CTRL-J  对 <LF> vim 里叫 <NL>
        CTRL-M  对 <CR>
    不使用 ab:  输入 缩写 后, 按 ctrl-v 接着输入以后的字符

--
石敬瑭骂名千古
吴三桂遗臭万年

※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.206.106]

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多