今天下午看了vi频繁使用的操作,现在记录,为了方便日后查询。

按vi模式。进入命令3部分。

(一) 一般模式下

字符操作:上下左右箭头(或kjhl)能够实现光标上下左右移动一位。

假设想要进行多次移动,能够使用数字+对应的操作符(如:30j表示向下移动30行)。

:x,X;x表示向后删除一个字符,X表示向前删除一个字符。nx表示连续向后删除n个字符。

:0,$;0(是数字不是字母o)移动到这一行的最前面字符;$移动到这一行最后面的字符。

页操作: Pg up屏幕向上移动一页。Pg Dn屏幕向下移动一页

行操作:G,gg,n[Enter];G移动到这个文件的最后一行,nG,表示移动到这个文件的第一行。gg表示移动到这个文件的第一行;  n[Enter]:n为数字,光标向下移动n行。

查找:/word:向下查找一个名为word的字符串;  ?word:向上查找一个名为word的字符串。

替换::n1,n2s(注意s)/word1/word2/g(gc替换时要用户确认):n1,n2为行数,再n1到n2行之间查找word1并用word2替换。

:1,$s/word1/word2/g(gc),$s表示最后一行,其余含义同上。

行删除:dd删除光标所在那一行;ndd,删除光标所在的向下n行。如10dd表示连续删除10行。

复制与粘贴: yy复制光标所在那一行。nyy复制光标所在行向下n行。20yy表示复制20行。

p表示将复制的数据在光标的下一行粘贴,P表示在光标的上一行粘贴。

其他:u表示复原,[Ctrl]+r表示反复一次,“.”(小数点)表示反复上一次操作。

(二)一般模式切换到编辑模式

主要是光标插入的位置随命令的不同而不同。

i,I; o,O;a,A;r,R;等。

(三)一般模式切换到命令行模式

:q离开vi;

:q!强制不保存文件离开。

:w[filename],将编辑的数据保存为还有一个文件。

:r[filename],在编辑的数据中读入还有一个文件,放到末尾。

:n1,n2 w[filename]。将n1到n2的内容保存成filename文件

:set nu显示行号

:set nonu 与set nu相反。取消行号

版权声明:本文博客原创文章。博客,未经同意,不得转载。

vi学习(1)的更多相关文章

  1. vi学习

    刚开始学习vi,所以,一步一步开始 先贴出一个相关的学习链接https://www.cnblogs.com/ranjiewen/p/5901181.html 这个学习链接里面的东西还是比较详细的,但是 ...

  2. vi学习总结

    1.模式 命令行模式:光标的移动.内容删除移动复制操作 插入模式:文字输入,即编辑状态 底行模式:文件保存或退出vi,设置编辑环境 2.基本操作 vi myfile,输入vi 文件名,,则进入vi. ...

  3. vi学习 常用命令-新建-复制-剪切-粘贴

    mkdir /home/brandon.du/desktop/mylinux/test_1.txt   ---------mkdir新建文件夹 rm /home/brandon.du/desktop/ ...

  4. liunx vi 学习

    vi有两种状态:命令态和编辑态 命令态中常用的命令: 上下左右移动的处理4个箭头外还有h(左),j(下),k(上),l(右) 调到屏幕显示的首行H,尾行L,x行:xG 0将光标移动到行首:$到行尾,M ...

  5. Vi 学习 笔记

    rails server -p 端口名 // 切换端口 Vi 常用指令: mkdir filename //创建文件 mv filename1 filename2 // 文件重命名 rm filena ...

  6. vi 学习记录

    i 光标所在前插入 I 光标所在行的第一个非空字符前进入输入模式 a 光标所在后插入 A 光标所在最后插入 o 光标所在列下新增一列并进入输入模式 O 光标所在列上新增一列并进入输入模式 退出 :q, ...

  7. vi学习笔记

    dd 删除一行 de删除光标后面的单词 o向下插入一行 O向上插入一行 y复制 yy复制一行 ye复制光标后面的单词 p粘贴 ==  代码自动布局 批量注释   ctrl + v , 输入大写I, 选 ...

  8. vi 学习

    1,光标移动 1)h:左:l:右:j:下:k:上:和方向键不同的是,不会造成折行 2)0:行首:$行尾:G:最后一行第一个字符;gg:第一行第一个字符:^:本行第一个非空白字符:H:移至屏幕第一个字符 ...

  9. 史上最简约的vi教程,复制和粘贴

    上一篇博客,讲了"新手"如何"入门"vi,解决了"两眼一抹黑"的情况.知道在vi下如何进行基本的操作,如部署在Linux下的项目,修改配置文 ...

随机推荐

  1. Html表单使用实例

    原文 https://www.jianshu.com/p/b01f32844ac1 大纲 1.单选框多选框实现的商品选择 2.添加下拉框和删除下拉框 3.观察textarea中事件处理器的运行顺序 推 ...

  2. solr源码导入eclipse 分类: H4_SOLR/LUCENCE 2014-07-14 14:11 550人阅读 评论(1) 收藏

    转载自:http://blog.csdn.net/vltic/article/details/19917377 (1)相应的开发环境准备          (1)jdk1.6+的安装和环境变量配置(命 ...

  3. VS2008的C++TR1库已经支持正则表达式

    作者:朱金灿 来源:http://blog.csdn.net/clever101 发现VS2008的C++ TR1库已经支持正则表达式了(注意装了VS 2008sp1采用TR1库的).下面简单做个测试 ...

  4. 【9201】&&【a201】明明的随机数

    Time Limit: 10 second Memory Limit: 2 MB 问题描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整 ...

  5. cat /proc/cpuinfo 引发的思考--CPU 物理封装-物理核心-逻辑核心-超线程之间关系

    CPU的物理封装,一个物理封装使用独立的一个CPU物理插槽,共享电源和风扇: CPU物理核心:在一个物理封装中封装了多个独立CPU核心,每一个CPU核心都有自己独立的完整硬件单元. CPU逻辑核心:一 ...

  6. PatentTips - Systems, methods, and devices for dynamic resource monitoring and allocation in a cluster system

    BACKGROUND  1. Field  The embodiments of the disclosure generally relate to computer clusters, and m ...

  7. [Angular] Create a custom pipe

    For example we want to create a pipe, to tranform byte to Mb. We using it in html like: <div> ...

  8. [TypeScript] Increase TypeScript's type safety with noImplicitAny

    TypeScript tries to infer as much about your code as it can. But sometimes there really is not enoug ...

  9. amazeui中css组件、js组件、web组件的区别

    amazeui中css组件.js组件.web组件的区别 一.总结 一句话总结: 1.可直接像调用js插件那样调用:在AmazeUI(妹子UI)中,Web组件可以不编写模板而直接使用,若如此,则与JS插 ...

  10. 学习鸟哥的Linux私房菜笔记(8)——文件查找与文件管理2

    四.压缩 gzip, gunzip Linux标准压缩工具 对文本文件可以达到75%的压缩率 compress, uncompress 旧的Unix压缩工具 bzip2, bunzip2 更新的Lin ...