vi学习(1)
今天下午看了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)的更多相关文章
- vi学习
刚开始学习vi,所以,一步一步开始 先贴出一个相关的学习链接https://www.cnblogs.com/ranjiewen/p/5901181.html 这个学习链接里面的东西还是比较详细的,但是 ...
- vi学习总结
1.模式 命令行模式:光标的移动.内容删除移动复制操作 插入模式:文字输入,即编辑状态 底行模式:文件保存或退出vi,设置编辑环境 2.基本操作 vi myfile,输入vi 文件名,,则进入vi. ...
- vi学习 常用命令-新建-复制-剪切-粘贴
mkdir /home/brandon.du/desktop/mylinux/test_1.txt ---------mkdir新建文件夹 rm /home/brandon.du/desktop/ ...
- liunx vi 学习
vi有两种状态:命令态和编辑态 命令态中常用的命令: 上下左右移动的处理4个箭头外还有h(左),j(下),k(上),l(右) 调到屏幕显示的首行H,尾行L,x行:xG 0将光标移动到行首:$到行尾,M ...
- Vi 学习 笔记
rails server -p 端口名 // 切换端口 Vi 常用指令: mkdir filename //创建文件 mv filename1 filename2 // 文件重命名 rm filena ...
- vi 学习记录
i 光标所在前插入 I 光标所在行的第一个非空字符前进入输入模式 a 光标所在后插入 A 光标所在最后插入 o 光标所在列下新增一列并进入输入模式 O 光标所在列上新增一列并进入输入模式 退出 :q, ...
- vi学习笔记
dd 删除一行 de删除光标后面的单词 o向下插入一行 O向上插入一行 y复制 yy复制一行 ye复制光标后面的单词 p粘贴 == 代码自动布局 批量注释 ctrl + v , 输入大写I, 选 ...
- vi 学习
1,光标移动 1)h:左:l:右:j:下:k:上:和方向键不同的是,不会造成折行 2)0:行首:$行尾:G:最后一行第一个字符;gg:第一行第一个字符:^:本行第一个非空白字符:H:移至屏幕第一个字符 ...
- 史上最简约的vi教程,复制和粘贴
上一篇博客,讲了"新手"如何"入门"vi,解决了"两眼一抹黑"的情况.知道在vi下如何进行基本的操作,如部署在Linux下的项目,修改配置文 ...
随机推荐
- python中有关字符串的处理
原文 Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字 ...
- mac系统创建.开头文件.htaccess
thinkphp5 隐藏index.php的时候需要用的.htaccess文件,但是mac默认不让创建这种文件 感谢 https://blog.csdn.net/gyz413977349/articl ...
- 利用a标签导出csv文件
原文 简书原文:https://www.jianshu.com/p/a8687610cda3 大纲 1.需求分析 2.通过a标签实现文件导出 3.实现方式 1.需求分析 导出文件,使用最多的方式还是服 ...
- angular模块详解
原文: https://www.jianshu.com/p/819421ff955a 大纲 1.angular应用是模块化的 2.对模块(Module)的认识 3.模块的分类:根模块和特性模块 4.N ...
- iOS开发Quartz2D十二:手势解锁实例
一:效果如图: 二:代码: #import "ClockView.h" @interface ClockView() /** 存放的都是当前选中的按钮 */ @property ( ...
- 远离“精神乞丐”(IBM的前CEO郭士纳把员工分为四种类型)
语音丨吴伯凡 乞丐与其说是一种身份, 不如说是一种精神状态, 习惯性索取且心安理得, 习惯性寻求安慰,习惯性抱怨, 与之截然对立的, 是“操之在我”(Proactive)的精神, 乞丐型员工是公司内部 ...
- php实现 简单密码(代码颜色变化)
php实现 简单密码(代码颜色变化) 一.总结 一句话总结:写代码的时候一定要关注代码的颜色变化,不然低级错误害死人.常量变量会有不同颜色,所以$str少$符号变成常量的时候很容易发现. 1.变量$ ...
- JavaEE 三层架构的浅谈
三层架构 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了“高内聚,低 ...
- 日志框架logj的使用
log4j 简介 是什么? Apache的一个开源的.轻量级的.用于日志管理的框架 有什么? Log4j由三个重要的组件构成:日志信息的输出格式,日志信息的优先 级,日志信息的输出目的地. 1,日志信 ...
- 关于pptpd log日志文件的配置
如何开启pptpd默认日志记录功能. 修改/etc/ppp/options.pptpd中的nologfd,默认没有开,把nologfd注释掉,然后添加 logfile /var/log/pptpd.l ...