Linux下VIM编辑器介绍

VIM编辑器介绍


VIM简介:

vi:Visual Interface,vi本身只是一个可视化接口,是一款遵循GPL协定的开源软件。体积很小,功能强大。

vim:VI improved,vi增强版。有语法着色。
和nano一样是全屏编辑器,也是的模式化编辑器。

vim的模式:

3种模式

  1. 编辑模式(命令模式)
  2. 输入模式
  3. 末行模式
    可输入文件管理类的命令

打开vim默认是进入编辑模式。

模式转换

编辑-->输入:

     i:在当前光标所在字符的前面,转为输入模式。
     I:在当前光标所在行的行首,转换为输入模式

    a:在当前光标所在字符的后面,转为输入模式。
    A:在当前光标所在行的行尾,转换为输入模式

    o:在当前光标所在行的下方,新建一行,转为输入模式。
    O:在当前光标的上一行新建一行,转换为输入模式

输入-->编辑:

ESC键

编辑-->末行:

在编辑模式下输入":"即可

末行-->编辑:

ESC键,有时候需要连敲两下Esc键


常用命令:

  1. 打开文件
    vim /path/to/file 打开一个文件
    vim +n /path/to/file 打开一个文件,当前光标处于第N行
    vim + /path/to/file 打开一个人间,光标处于最后一行
    vim +/Pattern 打开文件,定位到第一次被Pattern定位的行
  2. 关闭文件
    末行模式:
    q:退出
    w:保存
    wq、x:保存并退出
    q!:强制退出
    w!:强行保存

    编辑模式:ZZ:保存退出
  3. 移动光标(编辑模式)
    • 逐字符移动:
      h:左  j:下 k:上 l:右
      联想记忆:j代表Japan,k代表Korea,韩国在日本的上方,日本在韩国的下方。
      数字+上方的移动键:移动指定数字的字符
    • 以单词为单位进行移动:
      w:移动到下一 个单词的词首
      e:跳到当前单词词尾或下一个单词词尾
      b:跳到当前单词或前一个单词的词首
      数字+上方的移动键:移动指定数字的单词
    • 行内跳转:
      0:行首(绝对行首)
      ^:行首(第一个非空白字符)
      $:行尾
    • 行间跳转:
      数字+G:跳转至数字行
      G:跳转至最后一行
      末行模式:行号 + 回车
  4. 翻屏
    Ctrl + f  : 向下翻一屏
    Ctrl + b : 向上翻一屏
    Ctrl + d : 向下翻半屏
    Ctrl + u : 向上翻半屏

  5. 删除
    删除的内容会被放入缓冲区,是可以撤销的。最后一次删除的内容可以被粘贴。
    • 删除单个字符:
      x :删除光标所在处的单个字符
      数字+x:删除光标所在处及向后的共N个字符
    • 删除命令 d
      d命令要跟跳转命令组合使用可以指定删除多少
      数字+d+跳转符:
      dw、de、db都比较常用
    • dd:表示删除当前光标所在行
      数字+dd:包括当前光标所在内的这么多行
      末行模式:startADD, endADD
      .:表示当前行
      $:最后一行
      +数字:向下的n行


  6. 粘贴
    P: 如果删除的或复制的为整行,则粘贴至光标所在行的下方。如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面
    p: 如果删除或复制为整行,则粘贴至光标所在的上方,如果复制内容为非整行,则粘贴至光标所在的字符前面
  7. 复制
    y:用法和d一样
  8. 修改
    c:用户同d命令

  9. 替换
    r:
    R:替换模式
  10. 撤销
    u:撤销前一次的编辑操作
    数字+u:直接撤销n次编辑操作
    ctrl+r:反撤销(还原操作)
  11. 重复前一次编辑操作
    .:重复前一次编辑操作

  12. 可视化模式
    v:按字符选取
    V:按矩形块选取
  13. 查找
    /Pattern:查找匹配字符,支持正则表达式
    n:下一个
    N:上一个
  14. 查找并替换
    在末行模式下使用s命令
    ADDR1,ADDR2s@PATTERN@string@gi
    %:标示全文

    练习:将/etc/yum.repos.d/server.repo文件中的ftp://instructor.example.com/pub替换为http://172.16.0.1/yum

    %s/ftp:\/\/instructor\.example\.com\/pub/http:\/\/172\.16\.0\.1\/yum/gi
    文件内容如下(以供练习):
    # repos on instructor for classroom use

    # Main rhe15 server
    [base]
    name=Instructor Server Repository
    baseurl=ftp://172.16.0.1/pub/Server
    gpgcheck=0

    # This one is needed for xen packages
    [VT]
    name=Instructor VT Repository
    baseurl=ftp://172.16.0.1/pub/VT
    gpgcheck=0

    #This one is needed for clustering packages
    [Cluster]
    name=Instructor Cluster Repository
    baseurl=ftp://172.16.0.1/pub/Cluster
    gpgcheck=0

    # This one is needed for cluster storage (GFS, iSCSI target, etc ...) packages
    [ClusterStorage]
    name=Instructor ClusterStorage Repository
    baseurl=ftp://172.16.0.1/pub/ClusterStorage
    gpgcheck=0

  15. 使用vim打开多个文件
    vim FILE1 FILE2 FILE3
    下面命令都是在末行模式下
    netx:切换至下一个文件
    prev:切换至前一个文件
    last:切换至最后一个文件
    first:切换至第一个文件
    qa:退出全部文件

  16. 分屏显示一个文件
    ctrl+w,s:水平拆分窗口
    ctrl+w,v:垂直拆分窗口
    在窗口间切换光标:
    ctrl+w,方向键
    qa:关闭所有窗口

  17. 分窗口编辑多个文件
    vim -o:水平分割显示
    vim -O:垂直分割显示

  18. 将当前文件中的部分内容另存为另一个文件
    末行模式使用w命令
    w:
    ADDR1,ADDR2w /path/to/somewhere

  19. 将另外一个文件的内容填充在当前文件中
    末行模式下
    r /file

  20. 跟shell交互
    末行模式下
    !command

  21. 高级话题
    • 显示或取消显示行号(只对当前vim进程有效)
      set number
      set nu 显示行号
      set nonu 取消显示行号
    • 显示忽略或区分字符大小写
      set ignorecase
      set ic
      set noignorecase 不忽略大小写
      set noic
    • 自动缩进
      set autoindent
      set ai
      set noai 取消自动缩进
      set noautoindent
    • 查找到的文本高亮显示或取消
      set hlsearch
      set nohlsearch 取消高亮
    • 语法着色
      set syntax on 开启语法高亮
      set syntax off 关闭语法高亮

  22. 配置文件
    /etc/vimrc
    ~/.vimrc

  23. vim 辅导手册
    vimtutor 每天照着练习一次,一周后你就可以成为vi高手啦。

    刚才手贱,居然点了一下最下方的“舍弃”按钮。。。。我快哭死了。整理了好久的文档就这么没有了。不过还好我之前手贱点了草稿预览,居然在历史记录里边还能够打开草稿预览。谢天谢地,损失不是太多。建议csdn能够在点击“舍弃”的时候能给个提示,或者把舍弃的文章暂时先放进垃圾箱里。如果我没有打开过草稿预览的话,那我编辑2天的文章就彻彻底底灰飞烟灭了。特写下手贱的感受,以此念之。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值