VIM常见名词
在学习vim的基础知识之后,对vim的基本使用已经了解很多,下面一起学习更多关于VIM的相关名词将更多拓展对vim有更深入了解。
缓冲区(Buffer)、窗口(Windows)、标签(Tab)、标记(Mark)、寄存器(Register)、插件(plugin)、vim脚本(vimscript)。
缓冲区(Buffer)
如上图所示:
可参考上图,可对Buffer/Windows/Tab这几个名字很好了解表示意思。
vim打开多个文件
1 | vim mysql_data.py requirements.txt README.md user.csv |
界面只能看到mysql_data.py文件的内容。
其他三个呢? 其实都打开了,vim 把这四个文件都缓存起来了,只是显示出来的是第一个文件 mysql_data.py 的内容而已。
vim 打开文件的时候就会创建缓冲区,打开几个就创建几个缓冲区,默认加载第一个缓冲区,显示第一个文件的内容。vim 的官方解释:缓冲区是一个文件的内容占用的那部分vim内存。
A buffer is an area of Vim’s memory used to hold text read from a file. In addition, an empty buffer with no associated file can be created to allow the entry of text.
缓冲区如何使用
可以用以下命令来操作
1 | 显示有几个缓冲区 |
1 | 切换至下一个文件/缓冲区 |
1 | 切换至上一个文件/缓冲区 |
1 | 切换至指定文件/缓冲区,number指:ls后显示的数字 |
1 | 切换至指定文件/缓冲区, |
可参考如下列处所有打开的文件/缓冲区
窗口(Windows)
窗口如何使用
可参考VIM基础使用
1 | 左右窗口显示 |
1 | 上下窗口显示 |
标签(Tab)
标签,当我们使用浏览器进行不同网站访问时,就可以通过不同tab页来进行快速切换获取我们想要的信息。
标签如何使用
1 | 新建标签,名称为:web_test |
1 | 关闭tab页 |
1 | 切换上一个tab页 |
1 | 切换下一个tab页 |
1 | 统计tab页 |
1 | tab自动切换(针对有多个tab) |
1 | 切换指定tab页,如下:切换至第一个tab页 |
标记(Mark)
标记,在进行学习记录或者我们进行文档记录时,都会使用不同方式进行标记来记录。
标记如何使用
按下键盘上的 m , 紧跟着在按下键盘上的(a-zA-Z)当中的任何一个字母,这样一个标记 (mark)例如 ma, mA 这样一个名字叫做 a 或者 A 的标记就建立起来了。
1 | 在当前文件的光标所在的行建立了一个标记,以后我们可以快速定位到这个位置 |
激活标记
使用 ‘(单引号) 或者 `(反引号),紧接着按下当初标记的那个字母就会跳到当初标记的那个位置。
例如:
1 | 直接跳至标记位置 |
`a和’a区别
‘a # (单引号+a) 是跳转到当初标记的行首
`a # (反引号+a) 实跳转到当初标记的时候光标所在的位置
‘ 和 ` 区别
‘ # (单引号)通常用来跳转到标记的文本的行首
` # (反引号) 通常用来跳转到标记的光标的位置
ma和mA区别
如果要是在文件之间跳转要使用大写的标记才可以,例如现在在当前文件的某处打了一个标记 mA , 离开该文件切换到了另一个文件,此时使用 ‘A 就可以返回之前文件打标记的地方了。
结论:小写字母通常用来单个文件作标记,大写字母通常是用来文件间作标记。
1 | 列出所有标记 |
1 | 删除多个标记 |
1 | 删除所有的标记(删除所有小写字母的标记) |
寄存器(Register)
在介绍VIM基础介绍时,学习了复制、粘贴操作(y、p)两个操作。
此时,我们可能会思考,平时我们进行文件或字符串进行复制粘贴时,一般我们进行复制操作时,会把内容复制到剪切板中,如果进行粘贴操作时,会从剪切板中获取并输出当前位置。
vim 也有相似的逻辑,当我们使用 y 复制内容的时候,vim 默认把内容寄存到一个无名寄存器,当使用黏贴功能 p 的时候,就会默认从无名寄存器中取出内容。
如何定义寄存器
vim 默认使用的是无名寄存器,通常情况下我们使用是没有问题的,但是我就想把东西存到一个有名字的地方。
vim 通常使用 "(双引号)
加上一个 a-z 的字母来给定义一个有名字的寄存器。
例如:
“ayy # 复制到当前行到 a 这个寄存器中
“ap # 从 a 寄存器当中获取内容
寄存器如何使用
1 | 列出所有寄存器 |
1 | 查看寄存器内容 |
“ap # 使用 p 粘贴命令就可以从指定的寄存器中取出内容了,该例就是从 a 寄存器中取出内容。
无名寄存器
“”两个双引号就是一个无名寄存器,通常我们复制粘贴的时候都会自动启用这个寄存器。
关于寄存器的用处,这里不去过多的研究了,因为平时用的就少,有兴趣的可以使用 :help reg
查看一下寄存器的详细使用方法。
记住: " (双引号)
用来定义寄存器哟!
插件(plugin)
vim 的插件就是解决用户需求的,比如你在 vim 中想拥有一些类似于 IDE 上的好用的功能,这样就需要插件来祝你一臂之力了。
如需想找到一款自己的VIM插件可自行Google或参考如下两个工具。
VIM脚本(Vimscript)
可以类比一下 javascript , VimScript 是vim 的脚本语言,一门专注做 vim 的编程语言,上面提到的插件很多都是使用 VimScript 去实现的。
Referer
1 | https://zhuanlan.zhihu.com/p/96801314 |
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章