0 目录
  1.   新建文件夹
  2.   常用的命令
  3.    三种模式及切换
  4.    vi编辑器的启动选项及后续相关操作
  5.  其他--替换文本
  6.  其他--写入另一个文件
 
 
1  新建文件夹 
 vi [目录名/文件名]   #如果文件名是目录下不存在的文件,则vi编辑器会新建一个文件

            

 
2  常用的命令

  • a:在当前字符后添加文本
  • A:在行末添加文本
  • i:在当前字符前插入文本
  • I:在行首插入文本
  • o:在当前行后面插入一空行
  • O:在当前行前面插入一空行
  • 上面是在命令模式转文本输入模式的转化
  • :wq:在命令模式下,执行存盘退出操作
  • :w:在命令模式下,执行存盘操作
  • :w!:在命令模式下,执行强制存盘操作
  • :q:在命令模式下,执行退出vi操作
  • :q!:在命令模式下,执行强制退出vi操作
  • :e文件名:在命令模式下,打开并编辑指定名称的文件
  • :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件
  • :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例
  • :set number:在命令模式下,用于在最左端显示行号
  • :set nonumber:在命令模式下,用于在最左端不显示行号
  • 上面都在末行模式下适用
  • x或X:删除一个字符,x删除光标后的,而X删除光标前的
  • D:删除从当前光标到光标所在行尾的全部字符
  • /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示
  • ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示
  • ndd:删除当前行及其后n-1行;
    nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
    P(大写):粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方
    p(小写):粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方
  • ZZ :文件改动,即保存退出  文件没有改动,即直接退出
  • 上面是在命令模式下适用
  • ESC:从文本输入模式切换到命令模式
  •  
    
 
3  三种模式及切换 
  • 命令模式:用户的输入不会在屏幕上显示,只会被执行,例如删除字符,移动光标等,

                        vi编辑器处于任何模式下时(即文本输入模式和末行模式,或者不清楚当前是什么模式),只需按ESC键即可进入命令模式
  • 文本输入模式:输入信息(i),状态行的左下角出现“-INSERT-”字样
  • 末行模式:用户的输入被显示在vi编辑器界面的最下方(状态行),可以实现保存、退出、查找等功能(按ESC键)
  • vi编辑器启动后,或者用vi编辑器新建文件,打开文件,vi编辑器均处于命令模式
  • 三种模式的切换:
                                          

 
 
  4  vi编辑器的启动选项及后续相关操作
  • vi  -R  filename    
    • 以只读的方式查看文件filename的内容
  • vi  -c  vi编辑命令     
    • 例如vi  -c   /most   filename  #打开文件,并所搜most字符串,将光标定位在匹配的行
    • 例如vi  -c   “set nu”  filename  #打开文件,并显示行号,注意加“”
    • vi   +number  filename 
  • vi  filename1  filename2   #同时打开两个文件
  • 先显示第一个文件,然后输入命令:n切换到下一个文件,前提是你对刚才的文件没有修改,如果修改了,有两种选择
    • :n!#放弃修改,切换到下一个文件
    • :w    #先保存,然后再输入:n切换到下一个文件
  • :ar    #显示当前编辑的文件名,用方括号括起来的文件​
  • :n  切换到下一个文件
  • :prev  切换到上一个文件
  • :e  filename2  
    • 不退出vi编辑器,编辑另一个文件filename2
    • 如果filename1做了修改,要先对filename1做处理后再编辑,即
      • 先输入命令:w  ,然后再输入命令:e filename2
      • 或者:e!  filename2   #不对filename1做保存
  •  
    
   5   其他--替换文本
        在末行模式下,替换涉及的参数
  • s         替换当前行中第一个匹配的字符串
  • *,*s      替换指定行数内的字符串
  • %s     全文替换每行第一个匹配到的字符串
  • g          替换命令后加上此参数,替换匹配行中出现的所有匹配的字符串
  • 举例
    • :s/unix/UNIX
    • 替换当前行第一个匹配到的unix字符串为UNIX
    • :s/unix/UNIX/g
    • 替换当前行所有匹配到的unix字符串为UNIX
    • :1,5s/unix/UNIX
    • 替换第1行到第5行第一个匹配到的unix字符串为UNIX
    • :1,5s/unix/UNIX/g
    • 替换第1行到第5行所有匹配到的unix字符串为UNIX
    • :%s/unix/UNIX
    • 全文替换每行第一个匹配到的unix字符串为UNIX
    • :%s/unix/UNIX/g
    • 全文替换每行所有匹配到的unix字符串为UNIX
            
6   其他--写入另一个文件
  • vi filename1
  • :5  w  filename2 
    • 把filename的第五行内容写入到文件filename2
  • :5,10   w  filename2
    • 把filename的第五行到第十行的内容写入到文件filename2
    • v可视模式,hljk移动选择内容,冒号,  w  filename
    • 把系统中的虚拟用户另存为一个文件
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Unix\Linux | 总结笔记 | vi编辑器的更多相关文章

  1. linux学习笔记--vi与vim编辑器

    vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...

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

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

  3. Linux学习之一--VI编辑器的基本使用

    vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...

  4. Linux下的vi编辑器与gcc工具的使用

    最近在网上找了些视频,自学了一点Linux环境下,C编程的方法. 注 vi与vim是有区别的,vim打开的源码文件其中的关键字是有颜色的. vi编辑器有3种模式,命令行模式,插入模式,底行模式. 如果 ...

  5. Linux下 Vim(Vi)编辑器的使用

    vi编辑器 vi是UNIX和类UNIX环境下的可用于创建文件的屏幕编辑器.vi有两种工作模式:命令模式和文本输入模式.启动vi需要输入vi,按[Spacebar]键并输入文件名后回车. 切换模式键 v ...

  6. linux操作系统3 vi编辑器

    知识内容: 1.Linux基础命令复习 2.vi模式和基本操作 3.vi常用快捷键 一.Linux基础命令复习 目录(文件夹)操作 cd 进入目录 (tab自动补全) pwd 查看当前目录 mkdir ...

  7. linux系统之-vi编辑器

    在linux系统使用中,掌握熟练的vi编辑器,可以提高linux工作效率.那么vi编辑器的使用方法有哪些呢? vi编辑器可在绝大部分linux发行版中使用. Vi编辑器的作用:创建或修改文件:维护li ...

  8. linux基础(Vi编辑器)

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

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

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

随机推荐

  1. 【.Net 学习系列】-- EF Core实践(Code First)

    一.开发环境: vs2015, .Net Framework 4.6.1 二.解决方案: 新建一个控制台应用程序 添加引用:Microsoft.EntityFrameworkCore.SqlServe ...

  2. datatable使用介绍

    Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 1.支持分页:前台分页和后台分页 前台分页:后台一次把数据传过来,交给前端渲染.缺点 ...

  3. linux 中安装JDK

    一般公司差点儿相同全部的server都是搭建在Linux上面的,所以这就免不了.(要是使用Java语言)要在Linux上面布一套JDK也就是Java虚拟机环境. 以下.我详细说一下安装过程,以及可能出 ...

  4. Office EXCEL 如何设置最大行高

    对于单个单元格行来说,行高必须在0-409之间   但是如果合并了两个单元格,则行高就扩展了一倍,不止409,而是两倍的409.

  5. hdu 3853(数学期望入门)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3853 LOOPS Time Limit: 15000/5000 MS (Java/Others)    ...

  6. 在开发过程中,如何在手机上测试vue-cli构建的项目

    由于有时候谷歌手机调试与真是的手机环境还是有一定的差距,所以需要在手机上测试项目. 手机上测试vue-cli构建项目方法: 打开项目config/index.js文件,找到module.exports ...

  7. Python练习题2

    如果真的想学精,学什么都不是好学的,如果真的想把Python学的出神入化,几乎自己想做什么都可以,就要下定恒心,坚持下去. 接下来继续更新Python练习题2,通过更新前一部的练习题让自己也学到了不少 ...

  8. SGU - 186 - The Chain (贪心)

    186. The Chain time limit per test: 0.25 sec. memory limit per test: 4096 KB input: standard input o ...

  9. mouseout和mouseover、mouseenter和mouseleave

          在前端开发中经常会碰到当鼠标放到一个元素上时会弹出你一个元素,鼠标离开那个弹出元素后隐藏.这类效果一般要用到一些鼠标事件,一类是mouseout和mouseover,另一类是mouseen ...

  10. linux路由表解析

    1 格式 Destination 这个和Genmask一起构成目标网络.路由是路由到目标网络,知道目标网络就可以到达目标路由器,然后在该网络中找到目标机器. Gateway 网关,数据包的下一跳.比如 ...