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. Discuz ML! V3.X 代码注入漏洞

    Discuz ML! V3.X 代码注入漏洞 前言 Discuz!ML是一个由CodersClub.org创建的多语言,集成,功能齐全的开源网络平台,用于构建像"社交网络"这样的互 ...

  2. .Net Core 创建和使用中间件

    1. 定义中间内容 1.1 必须有一个RequestDelegate 委托用了进入一个中间件 1.2 通过构造函数设置这个RequestDelegate委托 1.3 必须有一个方法Task Invok ...

  3. Skyline WEB端开发5——添加标签后移动

    针对于标签或者模型,在skyline上可以进行移动.可以让一个模型可以像无人机似的飞行,或者描述从一个点到另一个点的飞行轨迹. 话不多说,直接上干货. 第一步 添加标签 参考网址:https://ww ...

  4. 动态规划(1)——最长子序列(LCS)问题

    最长子序列问题:从中找出最长的字符序列,比如: cnblogs和belong.这两个字符串的最长子序列就是blog. 动态规划:通过分解大问题,不断的将大问题变成小问题,最终整合所有解,得出最优解(和 ...

  5. USACO-修理牛棚

    #include<cstdio> #include<algorithm> using namespace std; int a[201],b[201]; int main() ...

  6. MyBatis一对多和多对多xml配置

    MyBatis一对多和多对多xml配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ma ...

  7. C4.5和ID3的差别

    C4.5和ID3的差别 决策树分为两大类:分类树和回归树,前者用于分类标签值,后者用于预测连续值,常用算法有ID3.C4.5.CART等. 信息熵 信息量:   信息熵: 信息增益 当计算出各个特征属 ...

  8. C#3.0新增功能08 Lambda 表达式

    连载目录    [已更新最新开发文章,点击查看详细] Lambda 表达式是作为对象处理的代码块(表达式或语句块). 它可作为参数传递给方法,也可通过方法调用返回. Lambda 表达式广泛用于: 将 ...

  9. python 之 并发编程(线程理论,开启线程的两种方式,进程与线程的区别,线程对象的其他方法)

    9.9 线程理论 1.什么是线程 线程指的是一条流水线的工作过程 进程根本就不是一个执行单位,进程其实是一个资源单位,一个进程内自带一个线程,线程才是执行单位 2.进程VS线程 同一进程内的线程们共享 ...

  10. vue教程(一)-html使用vue

    前后端分离.微服务框架是当下比较流行的词汇,而vue就是前端框架的佼佼者.下面重点介绍一下vue的用法: vue起步:1.引包    2.启动new Vue({el:目的地,template:模板内容 ...