强大的vim
在Linux和Unix系统上(windows也可以), 如果我们能熟练掌握vim, 那么我们做起东西来一定可以事半功倍, 提高效率. 这些命令一定要经常使用, 才能熟能生巧.
什么是vim
vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。
下面这个图很重要,可能初学暂时看不懂, 等明白了vim的一些命令的含义就能看懂这幅图了
vim的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
- i 切换到插入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令
插入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
注意: 在Mac电脑的键盘上没有Home, End, Page Up, Page Down这些键,可以通过用Fn键来组合得到同样的功能:Home键=Fn+左方向、End键=Fn+右方向、PageUp=Fn+上方向、PageDown=Fn+下方向、向前Delete=Fn+delete键
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。
简单的说,我们可以将这三个模式想成底下的图标来表示:
使用实例
使用 vi/vim 进入一般模式
如果你想要使用 vim 来建立一个名为 test.txt 的文件时,你可以这样做:
vim runoob.txt
直接输入 vim 文件名 就能够进入 vim 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!
image.png按下 i 进入输入模式(也称为编辑模式),开始编辑文字
在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!
在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。
这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。 image.png
按下 ESC 按钮回到一般模式
好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下 Esc 这个按钮即可!马上你就会发现画面左下角的 – INSERT – 不见了!
在一般模式中按下 :wq 储存后离开 vim
OK,我们要存档了,存盘并离开的指令很简单,输入 :wq 即可保存离开! image.png
OK! 这样我们就成功创建了一个 runoob.txt 的文件。
vi/vim 按键说明
上面的都是基础, 接下来的才是需要熟练掌握的
除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。
第一部份:一般模式可用的光标移动、复制粘贴、搜索替换等
image.png
image.png
image.png
image.png
命令模式下
d 删除行 y复制 p粘贴 g移动行 0行首 $行尾 M中行 L尾行 gg首行 dd删除当前行 yy复制当前行
u回退 x删除字符 n行内字符跳转 J合并两行
本文参考 文章