• UnixLinux | 总结笔记 | vi编辑器


    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
      • 把系统中的虚拟用户另存为一个文件
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    比较完整的HIS系统解释(转载记录)
    ajax读取XML文本(如读取城市)
    js实现自定义右键菜单--兼容IE、Firefox、Chrome
    元素间距属性(scrollLeft,scrollWidth,clientWidth,offsetWidth,padding,margin)
    Js控制iFrame切换加载网址
    比较两个数据库表table结构不同之处
    SQL Server 查询、搜索命令、语句
    Jquery简单瀑布流代码示例
    jQuery中添加自定义或函数方法
    Jmeter脚本增强之参数化(关联数据库)(7)
  • 原文地址:https://www.cnblogs.com/jj81/p/9225189.html
Copyright © 2020-2023  润新知