vim的基本概念
这路讲解vim的三种模式(其实有好多模式,目前简单掌握这3种即可),分别是**命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),**各模式的功能区分如下:
vim的基本操作
- [正常模式]切换至[插入模式]
- 输入a
- 输入i
- 输入o
- [插入模式]切换至[正常模式]
目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
- [正常模式]切换至[末行模式]
- 「shift + ;」, 其实就是输入「:」
- 退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」
例如:- :w (保存当前文件)
- :wq (输入「wq」,存盘并退出vim)
- :q! (输入q!,不存盘强制退出vim)
命令模式
光标移动:
- gg: 快速回归光标,定位第一行第一个位置;
- Shift + g (也就是G):快速移动光标,定位最好行第一个位置;
- Shif + 4(也就是$):移动到光标所在行的"行尾"
- Shif + 6(也就是^):移动到光标所在行的"行首"
- w:光标跳到下个字的开头
- e:光标跳到下个字的字尾(若在一个字符内,会跳到这个字符尾)
- b:光标回到上个字的开头
- ctrl + b(B):屏幕往"后"移动一页
- ctrl + f(F ):屏幕往"前"移动一页
- ctrl + u(U):屏幕往"后"移动半页
- ctrl + d(D):屏幕往"前"移动半页
- 一般命令都可以加数字n 表示,运行几个,几遍,几倍这个命令;
例如:
- n + w 表示跳转第n给字开头的位置
- n + shif + g 表示光标移动到第几行开头
删除文字:
# 也就是上面数字 n + 指令的用法
- 「x」:每按一次,删除光标所在位置的一个字符
- 「#x」:例如,「6x」表示删除光标所在位置的"后面(包含自己在内)"6个字符
- 「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符
- 「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符
- 「dd」:删除光标所在行
- 「#dd」:从光标所在行开始删除#行
复制:
- 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
- 「#yw」:复制#个字到缓冲区
- 「yy」:复制光标所在行到缓冲区。
- 「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
- 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能,x指令删除的字符p也能复制;反言之,不使用p那不就是删除?
如果以上动作,后悔了,怎么撤回?
- 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。
- 「ctrl + r」: 撤销u的操作
但要注意:一旦退出文件编辑就无法撤回,但如果仅仅是保证w,没有退出q,那还是可以撤回的;
vim末行模式命令集
在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式
- w/q/! 保存,退出(ctrl zz 快捷退出)
- set nu/nonu (增加,取消行数的显示)
- !command 能在vim下输出指令,这是十分有用的地方;
- %s/det/src 批量替换src被替换的字符,det要换的字符
- vs new_src 同时打开多个文件.c /c++ 编译;
- ctrl ww切换文件终端,在不太文件终端中使用;
- :/单词 和shift + 3(#) 的用法一样,高亮(选择对应单词),n可以逆向查找,shif + n可以正向查找
V-BLOCK
命令模式中,ctrl v进入;
作用就是:
批量进行一些操作;例如,增加一些内容,注释,替换一些内容等等
操作解析(例子):
以批量注释为例子;ctrl + v 进入, 移动光标选择要选择的行; shift + i 进入插入模式, 输入// ;esc退出,如此就能完成批量注释的操作;
想干什么 移动光标选择要选择的行后,shift + i 进入插入模式;插入模式对哪一行的操作,其实就是对光标选择要选择的行 的 所有操作
一些其他的技巧
上下移动的不同键位:
为什么hjkl 是 左 下 上 右?
这与计算机发展有关,之前左 下 上 右,就是这些键位,感兴趣的可以自行去查哦;
简单vim配置
- 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
- 而在每个用户的**主目录(~家目录)**下,都可以自己建立私有的配置文件,命名为:".vimrc"。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
- 某个账号的家目录下的.vimrc 配置的vim只对这个账号有作用; 公共的vim配置文件对整个系统的vim都有作用
- 一般来说更支持在私人账号下配置vim,毕竟每个人的习惯不一样;
- 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
- 打开自己目录下的.vimrc文件,执行 vim .vimrc
常用配置选项,用来测试
- 设置语法高亮: syntax on
- 显示行号: set nu
- 设置缩进的空格数为4: set shiftwidth=4
使用插件
要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完善配置
我参考的这上面这位大佬做的vim插件;但要使用也有要求
- 不能是root;
- 只支持centos7
如果想自己配置vim
可以参考这为大佬的方法哦 ~