07-Linux实操篇-vi和vim编辑器
vi和vim的基本介绍
所有的Linux系统都会内建vi文本编辑器。
vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
vi和vim常用的三种模式
正常模式:
在正常模式下,我们可以使用快捷键
以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据
插入模式/编辑模式:
在编辑模式下,程序员可以输入内容
按下i,I,o,O,a,A,r,R等任何一个字母之后,才会进入编辑模式,一般来说按i即可
命令行模式:
在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显式行号等的动作
按下ESC按钮进入命令行模式,上述是在此模式中达成的
案例:在linux环境下,使用vim开发一个HelloWorld.py程序
1>进入vim,创建了HelloWorld.py文件
输入以下内容
vim HelloWorld.py
2>键盘按下i按钮,进入编辑模式
输入以下内容:
#!/usr/bin/python (声明解释器绝对路径)
print "Hello World!"
3>按下Esc进入正常模式,输入:进入命令行模式
输入以下内容后,点击回车
:wq
w指的是写入,q指的是退出(即保存退出)
4>打开HelloWorld.py文件
输入以下内容
vim HelloWorld.py
5>不保存,退出
按下Esc进入正常模式,输入:进入命令行模式
输入以下内容后,点击回车
:q!
q指的是退出,!强制执行(即不保存退出)
需要注意:wq、:q!和:q的区别
:wq-->通常指的是,在编辑模式下写入内容,进行保存后退出
:q! -->通常指的是,使用vim打开一个文件后,虽然在编辑模式下有修改,但是不想保存,进行不保存退出
:q -->通常指的是,只是使用vim打开文件看了一眼,并不修改,可以使用这个命令,进行不保存退出
vi和vim快捷键
1>在正常模式下,复制当前行:yy
拷贝当前行向下的5行 5yy,并粘贴
复制:y 粘贴:p
2>在正常模式下,删除当前行:dd
删除当前行向下的5行 5dd
3>在文件中查找某个单词,在命令行下使用 /关键字和?关键字
从当前位置向后
搜索:/关键字【回车查找,输入n继续查找下一个】
从当前位置向前
搜索:?关键字【回车查找,输入N继续查找下一个】
搜索完之后,如果有多个结果,跳到下一个匹
配项:n
4>在命令行模式下,设置文件的行号和取消文件的行号
设置文件的行号:set un【需要注意,前面要有冒号】
取消文件的行号:set nonu【需要注意,前面要有冒号】
5>在正常模式下,使用快捷键到文档末行和文档首行
光标移动到文件的最后一行:G
光标移动到文件的第一行:gg
6>在正常模式下,撤销刚刚的操作,输入 u
第一种情况,在一个文件中输入"hello",使用u撤销这个动作
第二种情况,不想删除刚刚删除的行,使用u可以取消删除操作
7>将光标移动到指定20行,shift+g
第一步,在命令行模式下显式行号:set nu
第二布,按下Esc,在正常模式下输入20
第三步,输入shift+g