Vim实用的使用方法

jopen 10年前
  1. vim TAB转四个空格
    vim /etc/vim/vimrc
    set et sta sw=4 sts=4

  2. 对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:
    TAB替换为空格:
    :set ts=4
    :set expandtab
    :%retab!
    空格替换为TAB:
    :set ts=4
    :set noexpandtab
    :%retab!
    加!是用于处理非空白字符之后的TAB,即所有的TAB,若不加!,则只处理行首的TAB

  3. 打开多个文件:
    ctrl+p 列出多个文件,并以自动补全的方式
    ctrl+6 两个文件间的切换
    ,b 顶部下拉列表方式列出文件—>下一页,上一页, ctrl+n, ctrl+p

  4. 在窗格间切换的方法
    打开多个窗口:
    :sp //水平切分窗口
    :vsplit //垂直切分窗口
    Ctrl+w+方向键——切换到前/下/上/后一个窗格
    Ctrl+w+h/j/k/l ——同上
    Ctrl+ww——依次向后切换到下一个窗格中

  5. 屏幕光标位置
    shift+h  顶部
    shift+m 中间
    shift+l 底部

5.搜索定位:
shift+F 前搜
ff 后搜
gd 找光标所在的变量及方法的定义处(局部变量)

  1. 选择、复制或者查找光标所在的单词
    在VIM中用iw或者aw表示一个单词,两者稍有区别,a表示单词前包括的空格:
    选择光标所在的单词:viw (v进入visual模式,然后iw)
    复制光标所在的单词:y(a)w ()里面表示或者
    删除光标所在的单词:d(a)w
    查找光标所在的单词:* 往下查找,#往上查找

  2. 单词移动:
    W w 移动到下一个单词开头
    E e 移动到下一个单词结尾
    B b 倒退到上一个单词开头
    需要注意的是,E会忽略标点符号,如:I‘m,e会当成两个单词,E则不会
    同样,在命令前加上数字代表执行次数,如:2w,表示往下移动2个单词

    shift+= 移动到下一行开头
    注意与上面不同- 移动到上一行开头

  3. 翻页
    ctrl+u,d 上下翻半页
    ctrl+f,b 上下翻一页

  4. 代码折叠
    写好一个函数,visual模式下选择,然后zf创建folder。这样就可以折叠显示了。还可以创建第二级的折叠。
    zr,打开所有第一级折叠。
    zm,关闭所有折叠。
    zc,关闭当前折叠。
    zo,打开当前折叠

  5. 其他:
    ctrl+v 列模式
    V 行模式
    ctrl+n 代码提示补全功能
    合并两行 合并两行的键是 J