# 06-Linux 系统中的 vi 和 vim 指令
# 简介
# 概述
Vi为linux文件内容编辑器,所有linux系统都自带vi编辑器。vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
# 应用模式
Vim 操作文件时,提供了正常模式、输入模式、命令模式:
正常模式(一般模式)
在正常模式下我们可以使用快捷键以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。
输入模式(编辑模式)
按下i, I, o,等任何一个字母之后才会进入编辑模式,一般来说按i即可.
命令行模式
在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的
# 应用模式切换
VIM 指令打开一个文件后,几个模式之间切换,例如:
# 常用快捷键
# 拷贝操作
拷贝当前行:【yy】,拷贝当前行(包括当前行)向下的5行:【5yy】,粘贴:【p】
# 删除操作
删除当前行【dd】,删除当前行(包括当前行)向下的5行:【5dd】
# 查找操作
在文件中查找某个单词:【命令行模式下 /关键字或者?关键字】,回车查找,输入【n】就是查找下一个设置文件的行号,取消文件的行号:【命令行模式下: set nu和set nonu】
# 保存和退出
文件编辑好以后,可以进入命令模式保存和退出
q:直接退出(不保存退出)
wq:修改后保存退出
q!:强制退出,不保存修改的内容
# 其它操作
使用快捷键到文档的最末行【G】和首行【gg】 在一个文件中输入"内容", 然后又撤销这个动作:【u】
0或功能键Home:这是数字0,移动到这一行的最前面字符处 $或功能键End:移动到这一行的最后面字符处 H:光标移动到这个屏幕的最上方那行的第一个字符 M:光标移动到这个屏幕的中央那行的第一个字符
如果你将右手放在键盘上的话,你会发现hjkl是排列在一起的,因此可以使用这四个按钮来移动光标。
h或向左箭头键:光标向左移动一个字符
j或向下箭头键:光标向下移动一个字符
k或向上箭头键:光标向上移动一个字符
l或向右箭头键:光标向右移动一个字符
如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或“30↓”的组合按键,亦即加上想要进行的次数(数字)后,按下动作即可!
假如希望按页为单位进行移动,可参考如下指令:
Ctrl+f:屏幕【向下】移动一页,相当于【Page Down】按键
Ctrl+b:屏幕【向上】移动一页,相当于【Page Up】按键
Ctrl+d:屏幕【向下】移动半页
Ctrl+u:屏幕【向上】移动半页
# 总结(Summary)
vi操作为linux文件系统中的一个最重要的操纵,基于vi或vim可以快速实现对文件内容的编辑,需要重点掌握。
参考资料: