每天2分钟学习unix/linux系统shell编程(八)-文本编辑器vi的使用

俗话说得好,工欲善其事,必先利其器,有了前面那么多的命令铺垫,终于可以讲一下文本编辑器vi的使用了,学了这个之后就可以开始真正的shell编程了。除开VI这种终端下命令行试的编辑工具,还有gedit,kate等图形化的文本编辑工具。但是用下来还是习惯vi。为什么会形成这样的习惯呢?首先图形化的工具需要安装桌面环境,这跑起来费资源,二是因为vi基本系统上都是自带的,默认安装。记得我刚才学习编程时主要就是vi直接写代码的。vi玩得溜的话也是很方便的。今天只是学习基本的使用。写代码是够了的。下面我们开始。

学习vi看似枯燥无味,但当你实践起来时发现像打游戏一样,只要熟悉了之后其实还是很快的。

一、VI的三种操作模式介绍
1.1命令模式
该模式直接通过命令编辑,像删除,复制等

1.2文本编辑模式
主要用于输入文本时切换此模式

1.3底行命令模式
主要用于字符搜索,替换,定位某行,对vi进行简单设置等。

二、VI的命令模式
2.1 在命令模式下进入文本编辑模式的方法
首先进入VI,在终端上直接输入vi my_file回车就进入了vi的编辑器了。此时默认进入的是命令模式,切换到文本编辑模式的方法有三种:

在命令模式下按下i键表示在光标所处的位置插入文字
在命令模式下按下a键表示在光标所处的位置下一个字插入文字
在命令模式下按下o键表示在当前行的下面插入新的一行,开始写文字。
进入了文本编辑模式之后啊,就可以进行自由的输入文本了,写代码了。

如何退出文本编辑模式呢?在文本编辑模式下按下键盘ESC键就切换到了命令模式。

2.2 光标的移动
有两种一种键盘上面方向键来移动,一种是字母:h向左,j向下,k向上,l向右。这就跟玩游戏的应该差不多吧。

2.3位置快捷键
ctrl+f 向前翻页
shift+9 光标定位到行首
shift+0 光标定位到行尾
w 下一个单词的开始
e 下一个单词的结尾
b 上一个单词开头
shift+$ 移动光标到所在行的行尾
2.4删除文字
x 删除光标位置后面的一个字符

x 例如5x删除光标后面的5个字符

X 也就是shift + x删除光标位置的前面一个字符

X 例如5X,也就是5、shift、x依次下按。删除光标前面5个字符

dd 删除光标所在的行

dd 例如5dd删除光标所在行及下面的5行,注意了,这里包括当前行相当于共删除了6行。

2.5复制粘贴
p 粘贴缓冲区的内容
yw 将光标所在位置字符一直到单词结尾复制到缓冲区
yy 复制光标所在行到缓冲区

yy 如5yy复制光标所在行以及下面5行到缓冲区

2.6取代
r 取代当标所处的字符,当按下r键后再按要取代为的字符。
R 一直取代,直到按下ESC键。当按下R键后,持续输入要取代为的字符,直接到按下ESC键。
2.7恢复或者撤销
按u键是撤销操作,一直按就一直撤销上一步操作。

2.8跳到指定的行
ctrl+g 列出当前行行号在最下面可以看到。

G 这个命令的意思就是如果想跳到第2行,则按下2、shift、g依次按下这三个键就可以了。

3.底行命令模式
3.1进行入底行命令模式
在命令模式下按shft+:进入底行命令模式

3.2列出每一行的行号
在底行命令模式下:set nu 回车。

3.3跳到指定的行
在底行命令模式下输入行号,回车。

3.4搜索关键字
在底行命令模式下输入/后面关键字,回车。

n 跳到下一个关键字出现的位置
N 也就是shift+n跳到上一个关键字出现的位置
/n个空格回车 取消选中
3.5替换字符串
在底行命令模式输入: %s/string/replace/g

作用是全局搜索string并替换为replace.

3.6保存退出
保存文件-在底行命令模式输入:w 回车
保存并退出-在底行命令模式输入:wq 回车
不保存并强制退出-在底行命令模式输入:q! 回车
退出-在底行命令模式输入:q 回车
这一期到这里就把vi的基本用法给介绍完了。后面我们再抽空继续。感谢大家支持。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容