系列文章目录
- Vim常用操作
- Vim使用技巧
前言
我们如果在Linux系统里面想编辑一个配置文件,或者后面我们想写一个简单的shell脚本,我们需要掌握一个编辑器的工具,那在Linux系统里面,用的最多的就是这个vim,它早期的版本叫Vi,那么如果你在一些资料里面看到这两个讲法其实都是一样的。
Vim是一个功能非常强大的一个全屏幕的文本编辑器,在Linux或Unix上面是最常用的,因为在Linux上面有很多的命令,它默认调用的编辑器都是vim,所以为什么我给大家选择了这款编辑器来进行介绍,而没有选择其他的编辑器;
参考文章:Linux各种(常用)编辑器
Vim有三种模式,当然这三种模式在有的资料里面它的名称稍有不同,但是这个并不影响;
命令模式:VI默认进去以后叫命令模式,你可以用VI/VIM,加上任何一个已经存在或者是你想创建的文件名(换句话说你敲的任何一个字符,系统都会当成命令来处理)
插入模式:输入iao都行(进入命令模式之后,按o进入插入模式,然后按esc键,又进入命令模式操作恢复、删除)
编辑模式:按冒号从命令模式就可以进入编辑模式,编辑模式的命令执行完以后它会自动回到命令模式(PS:进入编辑模式的标志就是输入冒号)
1、问题:怎么样让vim现实行号?
答: :site number / :set nu 一回车就加上行号了
提示:以下是本篇文章正文内容,下面案例可供参考
一、vim插入命令
问题:我们从命令模式怎样才能进入插入模式呢?
答:那么你要简单来记忆的话,就是三个字母叫aio,小写和大写是有区分的。
2、问题:你想在上图光标下面插入新行,如何操作?
答:记住任何操作都要先回到命令模式,按一下ESC,然后按小写的o在光标所在下面插入新的一行。
3、问题:你想在上图光标上面插入新行,如何操作?
答:记住任何操作都要先回到命令模式,按一下ESC,然后按大写的o在光标所在上面插入新的一行。
二、定位命令
假设我打开一个系统文件,当然了你做练习的时候最好呢,别直接编辑系统文件,万一改错了就悲剧了,可以把它拷贝一份:
[root@bogon ~]# cp /etc/services /tmp/services
[root@bogon ~]# vi /tmp/services
4、问题:这时候打开这个文件呢=,我怎么知道它有多少行?
答:set number它会标记行号.
5、问题:怎么取消行号?
答:site no number取消行号。
6、问题:如何快速定位到文件的第1行和最后一行的方法?
答:到第1行 gg;跳到最后一行 G
7、问题:如何定位到N行?
答:1)841 G (看不见,但是会自动跳转)
2)进入编辑模式:,:841(比上面直观)
7、问题:如何定位到行首?
答:$
8、问题:如何定位到行尾?
答:0
三、删除命令
命令 | 作用 |
x | 删除光标所在处字符 |
nx | 删除光标所在处后n个字符 |
dd | 删除光标所在行,ndd删除n行 |
dG | 删除光标所在行到文件末尾内容 |
D | 删除光标所在处到行尾内容 |
:n1,n2d | 删除指定范围的行 |
四、复制和剪切命令
命令 | 作用 |
yy | 复制当前行 |
nyy | 复制当前行以下n行 |
dd | 剪切当前行 |
ndd | 剪切当前行以下n行 |
p、P | 粘贴在当前光标所在行下或行上 |
五、替换和取消命令
命令 | 作用 |
r | 取代光标所在处字符 |
R | 从光标所在处开始替换字符,按Esc结束 |
u | 取消上一步操作 |
六、搜索和搜索替换命令
命令 | 作用 |
/string | 搜索指定字符串 搜索时忽略大小写 :set ic |
n | 搜索指定字符串的下一个出现位置 |
:%s/old/new/g | 全文替换指定字符串 |
:n1,n2s/old/new/g | 在一定范围内替换指定字符串 |
七、保存和退出命令
命令 | 作用 |
:w | 保存修改 |
:w new_filename | 另存为指定文件 |
:wq | 保存修改并退出 |
ZZ | 快捷键,保存修改并退出 |
:q! | 不保存修改退出 |
:wq! | 保存修改并退出(文件所有者及root可使用) |