zoukankan      html  css  js  c++  java
  • linux基础之vim编辑器

    vi : Visual Interface

    vim : VI Improved : VI的基础加上一些有用的插件

    vim编辑器: 文本编辑器, 字处理器, 全屏编辑器, 模式化编辑器

    vim的模式有三种:

      编辑模式(命令模式)、输入模式、末行模式

    vim模式转换 :

    编辑-->输入 :
        i : 在当前光标所在字符的前面, 转为输入模式;
        a : 在当前光标所在字符的后面, 转为输入模式;
        o : 在当前光标所在行的下方, 新建一行, 并转为输入模式;
    
        I  :  在当前光标所在行的行首,转换为输入模式
        A :  在当前光标所在行的行尾, 转换为输入模式
        O : 在当前光标所在行的上方,新建一行, 并转为输入模式
    输入 --> 编辑  ESC
    编辑 --> 末行   :
    末行-->编辑: ESC,ESC 

    一 打开文件

        vim /path/to/somefile
        vim +# : 打开文件,并定位于第#行 : vim +12 rc.sysinit
        vim + : 打开文件,定位至最后一行 : vim + rc.sysinit
        vim + /PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首              
        vim +/know rc.sysinit
        默认处于编辑模式

    二 关闭文件

    1. 末行模式关闭文件
        :q  退出
        :wq 保存并退出
        :q! 不保存并退出
        :w  保存
        :w! 强行保存
        :wq ==> :x
    2. 编辑模式下退出: 
        ZZ: 保存并退出    

    三. 移动光标(编辑模式)

    1.逐字符移动:
        h : 左
        l  : 右
        j  : 下
        k : 上
        #h : 移动#个字符  :  4h、5j、3k、7l
    2. 以单词为单位移动
        w : 移至下一个单词的词首
        e : 跳至当前或下一个单词的词尾
        b : 跳至当前或前一个单词的词首
        #w :  4w、5e、3b 
    3. 行内跳转:
       0 : 绝对行首
       ^ : 行首的第一个非空白字符
       $ : 绝对行尾
    4. 行间跳转:
        #G : 跳转至第#行;
         G : 最后一行
         末行模式下,直接给出行号即可

    四. 翻屏

    ctrl + f : 向下翻一屏
    ctrl + b : 向上翻一屏
    ctrl + d : 向下翻半屏
    ctrl + u : 向上翻半屏

    五. 删除单个字符    

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

    六. 删除命令 : d

    d命令跟跳转命令组合使用: #dw, #de, #db
    
     dd: 删除当前光标所在行
    #dd: 删除包括当前光标所在行在内的#行;
    末行模式下:  StartADD, EndADDd
                   . : 表示当前行
                   $ : 最后一行
                  +# : 向下的#行                

    七.粘贴命令 p

    p : 如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面
    P : 如果删除或复制为整行内容, 则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面

    八. 复制命令 y

    用法同d命令

    九. 修改命令 c

    先删除内容, 再转换为输入模式
            c : 用法同d命令

    十. 替换命令  r

    R : 替换模式

    十一. 撤销编辑操作 u

     u : 撤销前一次的编辑操作
         连续u命令可撤销此前的n次编辑操作
    #u : 直接撤销最近#次编辑操作
    撤销最近一次撤销操作 : ctrl + r

    十二. 重复前一次编辑操作

     .  点命令重复起一次编辑操作

    十三. 可视化模式

    v : 按字符选取
    V : 按矩形选取

    十四. 查找

    /PATTERN
    ?PATTERN 
         

    十五. 查找并替换

    在末行模式下使用s命令
    ADDR1, ADDR2s@PATTERN@string@gi
        % : 表示全文

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

    vim 打开文件在末行模式下:
      %s#ftp://instructro.example.com/pub#http://172.16.0.1#gi

    十六. 使用vim编辑多个文件

    vim FILE1 FILE2 FILE3
        : next  切换至下一个文件
        : prev  切换至前一个文件
        : last  切换至最后一个文件
        : first 切换至第一个文件

       :qa 全部退出

    十七. 分屏显示一个文件

    Ctrl + w, s : 水平拆分窗口
    Ctrl + w, v : 垂直拆分窗口
     
    在窗口间切换光标:
        Ctrl + w, ARROW
        :qa 关闭所有窗口 

    十八. 分窗口编辑多个文件

    vim -o : 水平分割显示
    vim -O : 垂直分割显示

    十九. 将当前文件中部分内容另存为另外一个文件

    末行模式下使用w命令
        :w 
        :ADDR1,ADDR2w /path/to/somewhere

    二十. 将另外一个文件的内容填充在当前文件中

    :r /path/to/somefile  

    二十一. 跟shell交互

    :! COMMAND

    二十二. 高级话题

    1. 显示或取消显示行号
        :set number
        :set nu
     
        set nonu
    2. 显示忽略或区分字符大小写
        :set ignorecase
        :set ic
      
       :set noic
     
    3. 设定自动缩进
        :set autoindent
        :set ai
    :set noai
    4. 查找到的文本高亮显示或取消
        :set hlsearch
        :set nohlsearch 
    5. 语法高亮
        :syntax on
        :syntax off

    二十三. 配置文件

    /etc/vimrc
    ~/.vimrc

     当前用户家目录下没有可以新建一个隐藏文件: .vimrc

  • 相关阅读:
    洛谷P2050 美食节
    洛谷P2150 寿司晚宴
    区间最深LCA
    三层交换机
    VLAN 及 GVRP 配置
    GVRP
    VLAN IEEE802.1Q
    以太网端口技术
    网关与路由器
    Quidway S系列交换机
  • 原文地址:https://www.cnblogs.com/ckh2014/p/7197354.html
Copyright © 2011-2022 走看看