Vim是一个类似于vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性
vim是一种多模式的编译器!也是在linux下进行编程的一种常用的编辑器!因为其很高的上手难度,也往往让很多新人看了望而却步!今天我将详细的介绍vim的使用来帮各位能快速上手vim!
vim作为一种多模式的编辑器可以在多种模式之间互相切换!
但是本文只讲日常中最常用到的三种模式!
分别是命令模式(command mode)、插 入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
- 正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode,按字母i就可以进入这个模式
- 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按==「ESC」键可回到命令行模式==。该模式是我们后面用的最频繁 的编辑模式。
- 底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 ==在命令模式下,shift+:==即可进入该模式。
若想查查找更多的模式可以在底行模式下输入:
help vim-modes
来进行查早
演示
为了防止刚使用的读者一开始就进入这个页面导致不知道如何退出我这里也详细的说明一些!
- 进入底边模式 (shift +
- 输入q
- 最后按回车键
这样就可以退出说明界面了!
很多新手在第一次使用vim的时候连退出都无法做到!所以我们介绍的第一步就是如何退出vim!
进入底行模式!shift + :
输入wq (w意味为write 也就是写入后保存,q意味 quit 也就是退出!这个操作保存并退出!不要保存可以直接输入q)
还有一种情况是输入的时候会出现一行红色的警告!
那就输入 wq! !的作用是用来强制退出和保存的
输入 i 进入插入模式!
插入模式下我们就可以进行像正常的输入一样进行一些基本的操作!
然后在编写完毕记得按esc返回命令模式!
使用vim的任何模式后都最好返回命令模式!
vim模式的命令模式虽然看起来很复杂,但是一旦我们熟练的使用了之后就可以极高的提高我们的效率!
以下操作均在命令模式下进行!如果没有反应!请确认自己是否处在命令模式下!
以下所有数字都是在字母键上方的数字键
小键盘的数字键在vim默认模式下是会被转换为字母的!
我们使用 5+G 和 2+G来进行演示!
除了我们熟知的方向键移动,在很早以前的键盘其实是没有方向键的!因此vim也保留了这种的移动方式!
**h :左移 ,l :右移 **
j:下移 ,k:上移
复制光标所在行到缓冲区
p 将复制内容粘贴在当前光标所在行!——粘贴之前还要使用yy进行复制!
n + p (n就是一共要复制多少行!一开始默认一行!)
dd 删除当前光标所在行
n + dd (n就是一共要删除多少行!一开始默认一行!)
要按住shift不动然后按波浪号键!
可以让我们在光标所在位置将字符进行替换!
同样的也支持整体替换!
n + r + 字符 直接替换 光标在内的后面n个字符!——这个指令不要+shift!就是直接小写 r + 数字
小写的x 向后面删除
支持 n + x 进行整体删除!——n就是一次要向后删除的个数!
大写的X 向前删除!
同样的X 也支持整体删除!
当我进行误操作的时候我们往往都会想要进行撤销!u 就是相当于Windows上的ctrl + z!
先使用 6 +x 删除 然后使用 u撤销 最后使用 ctrl + r 撤销 u!
用来删除单词!——并进入插入模式
同样支持批量操作!——c + n + w,n是数字!可以用来控制删除多少个单词!
底边模式有多种的进入方式!
进入底行模式
shift + :
可以在vim下面同时编辑多个文件!
在多个文件间移动光标的方式——ctrl + ww
无论有多少个文件光标始终只有一个!
可以在底行模式下不退出vim执行shell的命令!
vim的配置原理!
配置文件的位置
- 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
- 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下, 通常已经存在一个.vimrc文件,如果不存在,则创建之。
- 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
- 打开自己目录下的.vimrc文件,执行 vim .vimrc
常用配置选项,用来测试
- 设置语法高亮: syntax on
- 显示行号: set nu
- 设置缩进的空格数为4: set shiftwidth=4
vim还具有各种的插件!博主就不在此多叙述,想要知道关于插件的使用读者可以自己去寻找!