作者:一个喜欢猫咪的的程序员
专栏:《Linux》
喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》
目录
3.7光标跳转到最末尾/跳转到第n行/以单词为单位向前/向后跳转
1.什么是vim
1.1什么是vim
Vim 采用模式编辑的理念,即它提供了多种模式,按键在不同的模式下作用不同。 你可以在普通模式 下浏览文件,在插入模式下插入文本, 在可视模式下选择行,在命令模式下执行命令等等。起初这听起来可能很复杂, 但是这有一个很大的优点:不需要通过同时按住多个键来完成操作, 大多数时候你只需要依次按下这些按键即可。越常用的操作,所需要的按键数量越少。
和模式编辑紧密相连的概念是 操作符 和 动作。操作符 指的是开始某个行为, 例如:修改、删除或者选择文本,之后你要用一个 动作 来指定需要操作的文本区域。 比如,要改变括号内的文本,需要执行 ci( (读做 change inner parentheses); 删除整个段落的内容,需要执行 dap (读做:delete around paragraph)。
如果你能看见 Vim 老司机操作,你会发现他们使用 Vim 脚本语言就如同钢琴师弹钢琴一样。复杂的操作只需要几个按键就能完成。他们甚至不用刻意去想,因为这已经成为肌肉记忆了。这减少认识负荷并帮助人们专注于实际任务。
1.2vim和vi的区别:
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。我们课堂上,统一按照vim来进行讲解。
2.vim基础
2.1vim是否安装
vim就是一个单纯的编辑器,不是一个集成开发环境
一般云服务器都是装了vim的,因此输入vim可以检查是否安装
- 已安装:
- 未安装:
未安装的话,可以这样安装
2.2vim的模式
vim有很多种模式,本篇博客以3种最常用的模式进行介绍。
- 命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
- 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
- 底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入
vim一共有12种模式。
2.3上下左右移动
hjkl上下左右移动
h为左,j为下,k为上,l为右
2.4缓冲区,窗口,标签
Vim 是一个文本编辑器。每次文本都是作为缓冲区的一部分显示的。每一份文件都是在他们自己独有的缓冲区打开的,插件显示的内容也在它们自己的缓冲区中。缓冲区有很多属性,比如这个缓冲区的内容是否可以修改,或者这个缓冲区是否和文件相关联,是否需要同步保存到磁盘上。
窗口 是缓冲区上一层的视窗。如果你想同时查看几个文件或者查看同一文件的不同位置,那样你会需要窗口。
请别把他们叫做 分屏 。你可以把一个窗口分割成两个,但是这并没有让这两个窗口完全 分离 。
窗口可以水平或者竖直分割并且现有窗口的高度和宽度都是可以被调节设置的,因此,如果你需要多种窗口布局,请考虑使用标签。
标签页 (标签)是窗口的集合。因此当你想使用多种窗口布局时候请使用标签。
简单的说,如果你启动 Vim 的时候没有附带任何参数,你会得到一个包含着一个呈现一个缓冲区的窗口的标签。
顺带提一下,缓冲区列表是全局可见的,你可以在任何标签中访问任何一个缓冲区。