vi有三种模式:

  命令模式:键盘的任意输入都当成“编辑命令”;

  输入模式:键盘的任意输入都当成文本内容;

  末行模式:键盘的任意输入都当成“文本管理命令”

命令模式(刚打开)==》(i,a,o)输入模式(反向Esc)

命令模式==》(shift+:)末行(反向Esc*2)

末行模式:

  set nu :显示行号

  wq/x :保存退出;q!:不保存退出

命令模式:

  ZZ(大写):保存退出

  i/a :光标前/后一个字符;

  I/A:行首/尾;

  O/o:上/下一行输入;==》Esc快捷退到命令模式

命令模式下光标的移动:

  kjhl :上下左右;

  0(数字零) :行首(绝对);

  shift+6(^) :首(一行的第一个字符)

  shift+4($) :尾(一行的最后一个字符)

  gg/G :文件的头/尾

  10G :10行

  w :下一个单词

修改vi/vim的配置:vim ~/.vimrc(.virc) ==》都需要先创建这两个文件  当前用户的配置文件   set nu设置显示行号;set ts=4设置tab键为四个空格;set sw=4左右移动4格

          vim /etc/vimrc 修改所有用户的配置

删除命令:

  x:光标字母;d0(零):一行中光标前的所有;dw:整个单词;2(n)x:光标字符开始及后面的,共计2(n)个字符;dd:删除整行;d:删除选中的;2(n)dd:删除当前行及后面的共计2(n)行

撤销:u;反撤销:ctrl+r

重复上一次命令:.

>/<:相当于tab/shift+tab;==》命令模式下按v(获得焦点),然后用hjkl选择更多的内容

yy:复制光标行;y:复制选中的;p:粘贴;2(n)yy:原理同上面的dd;yw:复制单词

末行模式下:

  14,18y:复制14到18行;

  .,18y:复制光标行到18行;

  .,$y:复制光标行到最后一行

命令模式:

  /keywords:查找keywords ==》n下一个,N上一个

末行模式下:

  %s/after/before/gi: after替换成before,g表示全局,i忽略大小写,gi可以省略;

  !:执行任何命令,不会退出vim

查看文本:cat(小文件)、more(重要,空格==》下一版,q==》退出)、less(类似more)、tail(重要,ctrl+c结束,tail -20==》尾部20行,默认是10行)、head(头部10行,head -20)

        find pass*:当前目录下查找以pass开头的文件;

        find /etc/pass*:在etc下查找

        grep 'root' /etc/passwd :查找passwd里是否包含'root'内容

         '^root' :以root单词为行首的

         ‘bash$’:以bash结尾的

管道(|):head -9 /etc/profile | tail -1==>在管道左边的结果里执行管道右边的命令(左边传给右边)

  

vi相关的更多相关文章

  1. vi相关命令

    vi相关命令在行首加#        :% s/^/#        删除#        :% s/#//在行末加#        :% s/$/#        删除        :% s/#$ ...

  2. 五、Ubuntu 进入vi相关问题

    1.进入vi环境:vim 路径 2.编辑vi:按i键即可 3.保存vi:按esc键,输入冒号,输入wq 回车即可 4.遇到readonly相关问题,可先解除readonly:按esc键,输入:set ...

  3. 【LINUX】VI相关命令

    任何用户最常做的事要数创建和编辑文件,包括文档.报告和文字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他更复杂的指令, ...

  4. 基于SecureCRT的测试环境的克隆的linux/vi相关命令

    #chmod -R 777*; 参数-R:对当前目录下的所有档案与子目录进行相同的权限 变更(即以递归的方式逐个变更). *:通配符,指的是当前目录下的所有文件及目录. 所有文件及其子目录的文件拥有者 ...

  5. vi相关内容

    vi显示行号: 第一种是,手动显示:在vim命令行模式下输入 :set nu 取消显示:在vim命令行模式下输入: set nonu 第二种是,永久自动显示:我们修改一个配置文件. 我们输入命令:vi ...

  6. 三维网格形变算法(Laplacian-Based Deformation)

    网格上顶点的Laplace坐标(均匀权重)定义为:,其中di为顶点vi的1环邻域顶点数. 网格Laplace坐标可以用矩阵形式表示:△=LV,其中,那么根据网格的Laplace坐标通过求解稀疏线性方程 ...

  7. Linux回归篇-基础恶补

    前言:  LINUX在之前仅仅了解一些皮毛知识,最近计划深入研究大数据,LINUX当然少不了,所以借此良机将LINUX也顺带添加进入学习的目录之中.为了知识的全面性,本文先恶补一下LINUX的基础,作 ...

  8. .Net Core跨平台应用研究-HelloArm(串口篇)

    引言 为了验证采用dotnet core技术开发的物联网设备数据采集接入服务应用是否能在高性价比的linux嵌入式平台运行,针对dotnet core应用程序进行嵌入式linux环境的发布部署运行验证 ...

  9. 发布自己的第一版asp.net core的RESTful接口程序

    使用window开发一个简单的asp.net Core的RESTfull程序,网上很多,这里不说,我是直接使用IDE自己生成的项目来发布的.没有修改过主要代码.在IDE里发布到本地目录,得到类似文件 ...

随机推荐

  1. tomcat如何在server.xml中配置contexts

    https://tomcat.apache.org/tomcat-8.5-doc/deployer-howto.html#A_word_on_Contexts 例如你的程序 名字是hello端口是80 ...

  2. Solr7.4.0的API(Solrj)操作及项目中的使用

    一.SolrJ的概念 solr单机版服务搭建:https://www.cnblogs.com/frankdeng/p/9615253.html solr集群版服务搭建:https://www.cnbl ...

  3. js 使用a标签 下载资源

    文档 let data = new Blob(['hello ajanuw'], { type: 'application/text' }) let src = window.URL.createOb ...

  4. 利用profiler工具提高NC-Verilog仿真效率

    大家进行芯片验证时,一般都会遇到仿真速度很慢.效率不高的问题.目前发现了一个方法可以debug上述问题.即,利用NC的profiler工具. 关于profiler工具,我把文档<Cadence® ...

  5. SVN如何忽略dll文件和bin目录

    一般来说,编译之后的结果文件都会放在bin目录下.用svn做代码管理服务器的时候,肯定不希望编译的结果文件也签入进去,因此需要在客户端配置. 在checkout目录下,在svn的子菜单中 Proper ...

  6. robot framework ——关键字run keyword if 如何在一个条件下接多个执行语句,以及如何写复杂条件句

    曾一度疯狂搜索run keyword if 的用法,帖子是挺多的,可惜,没有一个我想要的.现在我终于把我想要的用法,收集好了,在此总结下. 1.曾经天真的以为  run keyword if +条件 ...

  7. [No0000164]C#,科学计数法的哽

    NewString = Decimal.Parse(OldString, System.Globalization.NumberStyles.Float).ToString(); //Convert. ...

  8. 最全最详细:ubuntu16.04下linux内核编译以及设备驱动程序的编写(针对新手而写)

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  9. day0315 迭代器

    一. 迭代器 1.什么是可迭代器? 除了数字和布尔值之外,其他数据类型都是可迭代对象.(字符串,列表,元组,字典,集合) 2.可迭代协议 2.1 可以被迭代要满足的要求就叫可迭代协议,可迭代的定义非常 ...

  10. [administrative][CentOS][NetworkManager] 万恶的NetworkManager到底怎么用

    这好像是第三次不得不去学会NetworkManager的用法,可是它真的很难用.社区里无人不吐槽. 然而,还是要用! 这次从redhat的文档入手,也许可以成功 --! https://access. ...