今天下午看了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. UILabel调整字间距

    1.引入 在文件导入 #import <CoreText/CoreText.h> 2.程序 NSMutableAttributedString *attributedString =[[N ...

  2. [PReact] Create a Hello World App with Preact

    By creating a simple ‘hello world’ example application first in vanilla Javascript, and then in Prea ...

  3. 《Java设计模式》之抽象工厂模式

    场景问题 举个生活中常见的样例--组装电脑.我们在组装电脑的时候.通常须要选择一系列的配件,比方CPU.硬盘.内存.主板.电源.机箱等. 为讨论使用简单点.仅仅考虑选择CPU和主板的问题. 其实,在选 ...

  4. iOS View自定义窍门——UIButton实现上显示图片,下显示文字

    “UIButton实现上显示图片,下显示文字”这个需求相信大家在开发中都或多或少会遇见.比如自定义分享View的时候.当然,也可以封装一个item,上边imageView,下边一个label.但是既然 ...

  5. TF-IDF模型

    TF-IDF模型 1. 理论基础 由于数据挖掘所有数据都要以数字形式存在,而文本是以字符串形式存在.所以进行文本挖掘时需要先对字符串进行数字化,从而能够进行计算.TF-IDF就是这样一种技术,能够将字 ...

  6. 【41.43%】【codeforces 560C】Gerald's Hexagon

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  7. BootStrap让两个控件在一行显示

    <div class="row"> <div> <label class="form-inline">参加单位:<in ...

  8. 【59.49%】【codeforces 554B】Ohana Cleans Up

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  9. [React] Break up components into smaller pieces using Functional Components

    We are going to ensure our app is structured in a clear way using functional components. Then, we ar ...

  10. [Angular Form] ngModel and ngModelChange

    When using Radio button for Tamplate driven form, we want to change to the value change and preform ...