工作中VIM最常集合

打开文件:(默认为编辑模式)
  vim [+ linenum] file 打开文件后光标在到指定行

      例:# vim +10 /etc/inittab  注:vim打开inittab文件后光标定位到第10行
  vim + file 打开文件后光标至尾部

      例:# vim + /etc/inittab    注:vim打开后光标在文件尾行

  vim +/pattern 打开文件后,定位至第一次被模式匹配到的行首

      例:# vim +/set /etc/inittab    注:vim打开后光标定位在set第一次出现的位置,/后面可以是正则表达式

关闭文件:
  底行模式下:
    w 保存
    q 退出
    ! 不保存

  w! 强行保存(root)
  wq --> x一样


编辑模式下:
  ZZ 保存退出

移动光标:(编辑模式)
  1  逐字符移动
    h    左
    l     右
    j     下
    k    上
  #h 移动#个字符

  2 以单词为单位移动
    w   移动到下一个单词首
    e   跳至当前或下一个单词的词尾
    b   跳至当前或前一下单词的词首

  #w 同上

3 行业移动
    0    行首
    ^    字符串首
    $    行尾

4 行间移动
  #G 跳转至#行
G 最后一个

底行模式: 直接给出行号

翻屏(编辑):
  Ctrl+f 向下翻一屏  
  Ctrl+b 向上翻一屏

  Ctrl+d 向下翻半屏
  Ctrl+u 向上翻半屏

删除单个字符:
    x    删除光标所在处单个字符
    #x  删除光标所在及后的#字符

删除命令
    d 和 跳转命令组合使用
    #d跳范围(例:#dw #de)
    dd 删除光标所在行
    #dd 删除光标所在行内的#行

底行模式:
    StartADD,EndADD
    . 表示当前行
    $ 最后一行(-n 相对操作 倒数第n行)
    +# 下行的#行

粘贴命令
    p 当前行之下
    p 当前行之上

复制命令
  用法同d

替换:
  R 替换模式

撤消编辑
  u 撤消前一次的编辑
连续u命令可以撤消此前n次编辑操作
  #u 直接撤消最近#次操作

可视化模式
  v 按字符选取
  V 按矩形选取

查找:
    /pattern
    ?pattern
    n
    N

查找并替换:
  在底行模式下使用s命令
    ADDR1,ADDR2s@pattern@string @可以使用其它符号
    % 表示全文

例:%s:pattern:string:g

vim编辑多个文件
    vim file1 file2 ...
    :next 切换到下一个文件
    :prev 切换至前一个文件
    :last 切换至最后一个文件
    :first 切换至第一个文件

退出
    :qa 全部退出

分屏显示

    Ctrl+w,s 水平拆分
    Ctrl+w,v 垂直拆分

窗口间切换光标:
    Ctrl+w, kjhl

分窗口编辑多个文件
    vim -o 水平
    vim -O 垂直

将当前文件中的部分内容另存为
底行模式下
  :w
  :ADDR1,ADDR2w /path/to/file

将另一个文件读入当前文件
  :r /path/to/file

vim中直接使用shell命令方式
  :! command

高级话题
set nu 显示行号
set nonu 取消行号

忽略大小写
:set ic 忽略大小写
:set noic 取消忽略大小写

设定自动缩进
:set ai 开启缩进
:set noai 取消缩进

查找到的文件高亮显示与取消
:set hlsearch
:set nohlsearch

语法高亮:
:syntax on 开
:syntax off 关

配置文件
全局: /etc/vimrc
用户: ~/.vimrc

vim模式:
编辑模式(命令模式)
输入模式
底行模式

模式转换:
编辑 --> 输入:
i: 在当前光标所在字符前,转为输入模式
a: 在当前光标所在字符后,转为输入模式
o: 在当前光标所在行的下方,新建一行,转为输入模式

I: 在当前光标所在行的行首
A: 在当前光标所在行的行尾
O: 在当前光标所在行的上方,新建一行

 

posted @ 2015-01-26 19:43  清风柔  阅读(121)  评论(0编辑  收藏  举报