• 008-linux shell vim使用


    一、概述

    vi: Visual Interface 可视化接口

    vim: VI iMproved VI增强版

    全屏编辑器,模式化编辑器

    vim模式:

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

    模式转换:

    编辑-->输入:

        i: 在当前光标所在字符的前面,转为输入模式;【常用】
    a: 在当前光标所在字符的后面,转为输入模式;
    o: 在当前光标所在行的下方,新建一行,并转为输入模式;
    I:在当前光标所在行的行首,转换为输入模式
    A:在当前光标所在行的行尾,转换为输入模式
    O:在当前光标所在行的上方,新建一行,并转为输入模式;

    输入-->编辑:按  ESC

    编辑-->末行:按  :

    末行-->编辑:按 ESC, ESC

    注:输入模式和末行模式之间不能直接切换

    二、命令操作

    1、打开文件

      vim aa.txt

    2、保存或退出:末行模式关闭文件:【按 ESC 键,然后输入 : 跳到末行模式】

      :w 保存文件但不退出vi

      :w file 将修改另外保存到file中,不退出vi

      :w! 强制保存,不推出vi

      :wq 保存文件并退出vi  桶 :x

      :wq! 强制保存文件,并退出vi

      q: 不保存文件,退出vi

      :q! 不保存文件,强制退出vi

      :e! 放弃所有修改,从上次保存文件开始再编辑

    编辑模式下退出

      ZZ: 保存并退出

    3、删除:非编辑模式下【按ESC键 跳到命令模式,然后:】

      dd:删除游标所在的一整行(常用)

      ndd:n为数字。删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行

      d1G:删除光标所在到第一行的所有数据

      dG:删除光标所在到最后一行的所有数据

      d$:删除光标所在处,到该行的最后一个字符

      d0:那个是数字0,删除光标所在到该行的最前面的一个字符

      x,X:x向后删除一个字符(相当于[del]按键),X向前删除一个字符(相当于[backspace]即退格键)

      nx:n为数字,连续向后删除n个字符

    4、翻屏

      Ctrl+f: 向下翻一屏

      Ctrl+b: 向上翻一屏

      Ctrl+d: 向下翻半屏

      Ctrl+u: 向上翻半屏

    5、撤消编辑操作 u

      u:撤消前一次的编辑操作

      #u: 直接撤消最近#次编辑操作

      连续u命令可撤消此前的n次编辑操作

      撤消最近一次撤消操作:Ctrl+r

    6、可视化模式

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

    7、查找

      /PATTERN  或 ?PATTERN

      n 下一个  N 上一个

    8、查找并替换

      在末行模式下使用s命令

      headline,footlines#PATTERN#string#g

      1,$:表示全文

      %:表示全文

    9、

    三、其他扩展

    1、显示或取消显示行号

      :set nu

      :set nonu

      mu = number

    2、显示忽略或区分字符大小写

      :set ic

      :set noic

      ic = ignorecase

    3、设定自动缩进

      :set ai

      :set noai

      ai = autoindent

    4、查找到的文本高亮显示或取消

      :set hlsearch

      :set nohlsearch

    5、语法高亮

      :syntax on

      :syntax off

    注:特性当前有效,如果想要永久有效需修改配置文件

      /etc/vimrc 针对所有用户

      ~/.vimrc 针对当前用户

  • 相关阅读:
    2018/12/08 L1-043 阅览室 Java
    2018/12/08 L1-042 日期格式化 Java
    breeze源码阅读心得
    Spark ML源码分析之四 树
    Spark ML源码分析之三 分类器
    Spark ML源码分析之二 从单机到分布式
    Spark ML源码分析之一 设计框架解读
    Adaboost的意义
    RBM如何训练?
    ChromeTimeline
  • 原文地址:https://www.cnblogs.com/bjlhx/p/11995758.html
Copyright © 2020-2023  润新知