vi -- 终端中的编辑器 visual interface ssh-- secure shell


vim vi improved
-----------------------------
打开和新建文件
  vi 文件名

  #如果文件已经存在,会直接打开文件
  #如果文件不存在,会新建一个文件
-------------------------------
打开文件并定位行

  vi 文件 光标定位在最开头
  vi 文件 + 光标定位在结尾
  vi 文件 +num 定位在多少行 方便找错误
---------------------------------------
  中途强制退出E325 提示交换文件,可以按d直接删除

-------------------------------------------------------------

 三种工作模式

1.命令模式

  • 打开文件首先进入命令模式,是使用vi的入口
  • 通过命令对文件进行常规的编辑操作,such as 定位,翻页,复制,粘贴,删除..

2.末行模式

  • 是vi的出口,返回控制台,需在末行模式中输入命令   
  • w 保存 q退出       wq保存并退出
  • 不保存无法直接退出 q!强行退出     x ==wq保存并退出   搜索并替换 :%s///gc

3.编辑模式-模式切换

常用命令

  • 在命令模式下,输入一个数字,再加上一个命令,指定命令执行次数
  • vi快速定位和编辑代码行
  • 编辑操作,删除d/x,复制,粘贴,替换,缩排
  • 撤销u和重复(恢复撤销的命令)ctrl+r
  • 编辑
  • 移动 h左 l右 j上 k下
  • 行内移动:w   word向后移动一个单词; b back向前移动一个单词;  0 回到行首;^第一个不是空白字符的位置;$行尾
  • 行数移动:gg 文件顶部; G  文件末尾  ;数字gg  移动到数字对应的行数; 数字G  也是移动到对应行数;   :数字 也是对应行数
  • ctrl + b 向上翻页    ctrl+f  向下翻页       H  Head 屏幕顶部        M Middle 屏幕中间        L Low 屏幕底部
  • 段落移动:{上一段落    }下一段落
  • 括号切换 %
  • 标记 mx    mark    'x  即回到做x标记的地方   x范围a-z  A-Z

选中文本(可视模式)

  • v 可视模式     从光标位置按正常模式选中
  • V可视行模式    选中光标经过的完整行
  • ctrl+v 可视块模式   垂直方向选中文本
  • 可以和移动命令一起使用   例如:ggVG能够选中所有的内容

删除文本 

  • x   删除光标所在字符,或选中文字
  • d(移动命令)   删除移动命令对应的内容
  • dd删除光标所在行,ndd可以删除多行
  • D删除至行尾
  • 删除命令可以和移动命令相结合     dw 光标位置删除到单词结尾;d0删光标位置到行首;d}删光标位置到段尾;ndd;d代码行G 删到代码行之间的;d'a之间的

复制,粘贴  放在文本缓冲区,删除本质上是剪切

  • y(移动)和删除类似   复制
  • yy 复制一行,nyy复制多行
  • p  paste 粘贴
  • 粘贴时注意:其他软件中ctrl+c复制的只能在编辑模式下粘贴,不能通过p命令粘贴
  • 替换r 替换的值        替换光标位置     R 替换的值      光标开始一直往后修改
  • 缩排>>向右缩进  <<向左              可视模式v下只需要<或 者>      .重复命令
  • (1)查找   /str  全部高亮显示  n往下一个寻找  N往上一个寻找                (2)快速匹配    按*向后找光标所在单词  #向前找光标所在单词   找不存在的取消高亮
  • 查找与替换      此命令需要在末行模式下执行      格式    :s///g  (1)例如全局替换    :%s/旧/新/g  (2)可视区替换   :s/旧/新/g  (3)确认替换 :%s/旧/新/gc

编辑模式

  • i,I,a,A,o,O进入编辑模式
  • 编辑命令和数字连用(1)10 i * esc         8i str
  • 利用可视块模式 给多行代码增加注释  要使用I 不能使用i进入
  • 末行模式拓展 :e .进入vi内置文件浏览器   :n 文件名      :w 文件名 另存为(适用于阶段性备份)
  • 分屏命令:可以同时编辑和查看多个文件    :sp  文件名 横向分屏 (split)       :vsp 文件  纵向分屏    ctrl+w管理窗口
  • 分屏windows操作  :         ctrl+w       w windows切换下一个窗口       r reverse互换窗口     c close关闭当前   q退出    o other关闭其他窗口

vi编辑器基础指令的更多相关文章

  1. Liunx vi编辑器一些指令

    最近几天学习了Liunx vi编辑器 的使用,感觉还比较容易.总结的一点心得: vi分为3个模式,命令模式,尾行模式,编辑模式. 1. 命令模式 与 编辑模式切换 a:光标向后移动一位进入编辑模式 i ...

  2. Linux基础-5.利用vi编辑器创建和编辑正文文件

    1.vi编辑器简介 1)掌握vi编辑器的定义:vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界面,vi是效率很高的文本编辑器.尽管在Linux上也有很多图形界面 ...

  3. 所有的 Unix Like 系统都会内建 vi 文书编辑器。vim 是vi的升级版本,它不仅兼容vi的所有指令 ,而且还有一些新的特性在里面。

    所有的 Unix Like 系统都会内建 vi 文书编辑器.vim 是vi的升级版本,它不仅兼容vi的所有指令 ,而且还有一些新的特性在里面. https://blog.csdn.net/carolz ...

  4. linux基础-第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...

  5. 【Linux基础】VI 编辑器基本使用方法

    vi编辑器是所有Unix及Linux系统下标准的编辑器.对Unix及Linux系统的任何版本,vi编辑器是完全相同的,它是Linux中最基本的文本编辑器. 第一章vi的三种模式 第二章vi文本编辑器 ...

  6. linux基础(Vi编辑器)

    整理的linux vi编辑器命令 Vi编辑器,进入方式,输入vi file即可进入编辑模式 1.vi模式(Linux严格区分大小写) Vi所学到的几种模式 模式 主要用途 相应操作 对应命令 普通模式 ...

  7. Linux基础(3)- 正文处理命令及tar命令、vi编辑器、硬盘分区、格式化及文件系统的管理和软连接、硬连接

    一.正文处理命令及tar命令 1)  将用户信息数据库文件和组信息数据库文件纵向合并为一个文件1.txt(覆盖) 2)  将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件2.txt(追加) ...

  8. Linux基础之vi编辑器(二)

    vi 编辑器 man vim 一 打开文件,定义光标 vi +# test       打开文件,定位于#行.vi + test        打开test文件,定位于最后一行.vi +/patter ...

  9. linux vim,vi编辑器的基础

    在之前我也不知道为什么要学vim和vi编辑器,仅仅是听过别人说这个对与linux非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...

随机推荐

  1. WeUI Picker组件 源代码分析

    前言 由于最近做的一个移动端项目需要使用到类似 WeUI Picker组件 的选择效果,  所以在这里来分析下 WeUI Picker 的实现逻辑.(weui.js项目地址) 之前也做过类似的组件, ...

  2. NOIP2018普及T4暨洛谷P5018 对称二叉树题解

    题目链接:https://www.luogu.org/problemnew/show/P5018 花絮:这道题真的比历年的t4都简单的多呀,而且本蒟蒻做得出t4做不出t3呜呜呜... 这道题可以是一只 ...

  3. SCADA开源项目lite版本

    一.引子 自从看了老坏猫(江湖人称猫总)的SharpSCADA项目后,让我感觉耳目一新同时也对自动化数据采集有了更深入的认识,我相信有不少做上位机的朋友和我一样对这个项目非常好奇.我们做上位机的应用场 ...

  4. CentOS EPEL yum源

    CentOS EPEL yum源 用yum安装软件时,经常发现我们的yum源里面没有该软件,比如htop.网上查到的一个方案是需要自己去wget源码,然后configure,make,make ins ...

  5. Java Web项目案例之---登录和注册(精华版)

    登录和注册(精华版) (一)实现功能 1.使用cookie记录登录成功的用户名,用户选择记住用户名,则用户再次登录时用户名自动显示 2.实现文件上传功能(上传文件的表单上传于普通的表单上传不同,必须是 ...

  6. 说说Java线程间通信

    序言 正文 [一] Java线程间如何通信? 线程间通信的目标是使线程间能够互相发送信号,包括如下几种方式: 1.通过共享对象通信 线程间发送信号的一个简单方式是在共享对象的变量里设置信号值:线程A在 ...

  7. MYSQL A、B表数组关联查询

    最终结果: 数据库表 A表: B表: 操作步骤 主要关键字:FIND_IN_SET.GROUP_CONCAT.LEFT JOIN.GROUP BY 第一步:left join 连接AB表并通过 fin ...

  8. javascript基本特点,组成和应用

    JavaScript 是一种基于客户端浏览器.面向(基于)对象和事件驱动式的网页脚本语言. 1. 基于客户端浏览器:静态语言,跨平台: 2. 面向(基于)对象:本身是没有类class和对象这个概念,但 ...

  9. mybatis01-1测试

    首先需要数据源信息和日志文件 然后一个SQLMapConfig.xml配置文件连接数据库并且映射后一个xml文件,另一个xml文件写入SQL语句, 最后text测试文件读取第一个配置文件,放到SQLS ...

  10. TIJ学习--RTTI(Runtime-Time Type Identification)

    TIJ学习--RTTI(Runtime-Time Type Identification) RTTI 运行时类型检查机制 获取一个类的Class引用的三种方法 class TestClass{} Te ...