Linux环境中vim编辑器的使用
前言
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
一、vim是什么?
vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
vim键盘图
二、vim的使用
1. vim的三种模式
基本上 vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
1.1 命令模式(Command mode)
当我们在命令行输入vim,就启动了vim,进入了命令模式。
此状态下敲击键盘动作会被vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
1.2 输入模式(Insert mode)
在命令模式下进入输入模式的方式:
- 输入a
- 输入i
- 输入o
在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- Enter,回车键,换行
- Back space,退格键,删除光标前一个字符
- Del,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- Home/End,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- Esc,退出输入模式,切换到命令模式
1.3 底线命令模式(Last line mode)
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
按ESC键可随时退出底线命令模式。
简单的说,我们可以将这三个模式想成底下的图标来表示:
2. vim命令集
2.1 vim命令模式命令集
进入输入模式:
命令说明按「i」进入插入模式「insert mode」,按 “i” 进入插入模式后是从光标当前位置开始输入文件按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字按「o」进入插入模式后,是插入新的一行,从行首开始输入文字从插入模式切换为命令模式
按「ESC」键移动光标
命令说明按「h」左移一格按「j」下移一格按「k」上移一格按「l」右移一格按「G」移动到文章的最后按「$」移动到光标所在行的“行尾”按「^」移动到光标所在行的“行首”按「w」光标跳到下个字的开头按「e」光标跳到下个字的字尾按「b」光标回到上个字的开头按「#l」(#代表数字)光标移到该行的第#个位置,如:5l,56l按[gg]进入到文本开始按[shift+g]进入文本末端按「ctrl」+「b」屏幕往“后”移动一页按「ctrl」+「f」屏幕往“前”移动一页按「ctrl」+「u」屏幕往“后”移动半页按「ctrl」+「d」屏幕往“前”移动半页删除文字
命令说明按「x」每按一次,删除光标所在位置的一个字符按「#x」例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符按「X」大写的X,每按一次,删除光标所在位置的“前面”一个字符按「#X」例如,「20X」表示删除光标所在位置的“前面”20个字符按「dd」删除光标所在行按「#dd」从光标所在行开始删除#行复制
命令说明按「yw」将光标所在之处到字尾的字符复制到缓冲区中。按「#yw」复制#个字到缓冲区按「yy」复制光标所在行到缓冲区。按「#yy」例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。按「p」将缓冲区内的字符贴到光标所在位置。
注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
替换
命令说明按「r」替换光标所在处的字符按「R」替换光标所到之处的字符,直到按下「ESC」键为止撤销上一次操作
命令说明按「u」如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复按「ctrl + r」撤销的恢复更改
命令说明按「cw」更改光标所在处的字到字尾处按「c#w」例如,「c3w」表示更改3个字跳至指定的行
命令说明按「ctrl」+「g」列出光标所在行的行号按「#G」例如,「15G」,表示移动光标至文章的第15行行首2.2 vim底线模式命令集
在使用末行模式之前,请记住先按「ESC」键确定已经处于正常模式,再按「:」冒号即可进入末行模式。
列出行号
命令说明输入「set nu」输入「set nu」后,会在文件中的每一行前面列出行号跳到文件中的某一行
命令说明输入数字「#」「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行查找字符
命令说明「/关键字」先按「/」键,再输入想寻找的字符,如果第一次找的关键字不是想要的,可以一直按「n」会往后寻找到想要的关键字为止「?关键字」先按「?」键,再输入想寻找的字符,如果第一次找的关键字不是想要的,可以一直按「n」会往前寻找到想要的关键字为止保存文件
命令说明「w」在冒号输入字母「w」就可以将文件保存起来离开vim
命令说明「q」按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim「wq」一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件
版权归原作者 李 ~ 所有, 如有侵权,请联系我们删除。