vim介绍
vim是Linux的一款文本编辑器,可以用来编辑代码,而且支持语法高亮,还可以进行一系列配置使vim更多样化。也可以运行于windows,mac os上。
vim有多种模式,但目前我们只介绍绝大多数场景用的到的模式,也就是命令模式,插入模式和底行模式,其他模式以后用到了会介绍。
- 正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
- 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
- 末行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模
式。要查看你的所有模式:打开vim,底行模式直接输入
:help vim-modes
vim的基本操作
- 在命令行输入
vim 文件名
后就会进入vim全屏幕编辑画面,进入vim后处于正常模式,想要编辑文本需要切换到插入模式
vim 文件名 n
:打开文件并且让光标直接跳转到第n行
- 正常模式切换到插入模式
- 输入a(光标会跳转到下一个位置)
- 输入i (光标会在当前位置)
- 输入o(光标会跳转到下一行)
- 插入模式和末行模式切换到正常模式需要按
esc
- 正常模式切换到末行模式需要按
shift + ;
,也就是:
- 退出vim需要进入末行模式
- 输入w (保存当前文件)
- 输入wq (保存当前文件并且退出)
- 输入q! (不保存当前文件并且强制退出)
- 插入模式和末行模式不能互相切换
- 末行模式下的一些指令
set nu/nonu
:显示行号!cmd
:在不退出vim的情况下进行查看,编译,运行等动作/关键字
:搜索关键字,n表示下一个
一下是一图流:
注意,如果在vim界面时直接关闭XShell会生成一个隐藏的临时文件
文件名.swp
,以后再vim这个文件时会提示你,不想提示删除这个隐藏文件即可
vim命令模式指令集
记住以下操作都是在vim的命令模式下才能有效!
- 光标的操作
hjkl
:分别是让光标往 左/下/上/右 移动gg
:定位代码第一行n+shift+g
:定位代码第n行,没有n就是最后一行shift+6
(^):移动到当前行的开始shift+4
($):移动到当前行的结尾w
:以单词为单位,向后移动,支持跨行b
:以单词为单位,向前移动,支持跨行e
:光标跳到下个单词的词尾
- 复制
n+yy
:复制包含当前行的n行到缓冲区,没有n就是1行n+p
:粘贴n次缓冲区的内容到当前行之后,没有n就是粘贴1次n+yw
:复制光标开始n个单词到缓冲区,没有n就是1个
- 删除
n+dd
:从当前行开始剪切n行,没有n就是1行,剪切也相当于删除n+x
:向后删除n个字符,如果没有n就是1个n+shift+x
:向前删除n个字符,如果没有n就是1个
- 替换
n+r
:替换光标所在处的字符,或者n个字符shift+'`'
:可以让字母在大小写之间转换shift+r
:进入替换模式(esc退回命令模式),替换光标所到之处的字符,直到按下esc为止
- 撤销上一次操作
u
:和windows的ctrl+z
功能一样,撤销上一次操作ctrl+r
:撤销的恢复不小心删除了一段代码用
u
撤回,代码就回来了,然后用ctrl+r
撤回了我刚才的撤回,所以代码又回到了删除的时候,左右横跳😄
- 查找
shift+3
(#):查找同名单词,n单次跳转
视图模式
命令模式下输入ctrl+v
进入视图模式进行批量化注释:
- 通过
jk
进行光标上下移动选中区域 - 输入
shift+i
进入插入模式 - 输入
//
- esc即可完成注释
批量化删除注释:
ctrl+v
进入视图模式hjkl
进行光标上下移动选中区域- 输入d完成删除
vim的其他应用
- vim打开一个不存在的文件并且保存退出就会创建这个文件
- vim多文件编辑
- 底行模式
vs+文件名
:就可以多开文件
- 无论打开多少文件,光标只有一个,光标在一个区域就表示当前正在编辑哪一个文件。在文件之间切换光标是
ctrl+ww
vim简单配置
首先vim在启动的时候会自动扫描当前用户家目录下的vimrc
文件,让.vimrc
文件里的选项生效。vim配置实际上就是向.vimrc
文件里添加更多的配置选项。
配置vim:
- 首先输入
cd ~
进入当前用户家目录 - 输入
ls -al
看看有没有.vimrc
文件,如果没有就创建一个 - 百度搜索vim配置,就可以把别人的配置复制添加到
.vimrc
文件里,就完成配置啦
或者直接下载别人已经配置好的.vimrc
然后拷贝到我们的家目录即可。
这里我推荐点我这个网址的vim配置,用普通账户在前面加上sudo
运行一下代码即可配置完成,放心没有安全问题!(下面是成果预览)
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
sudo添加用户信任列表
如果用户没有被加入到sudo用户白名单是用不了sudo指令的,所以这里我们来演示如何添加用户到信任列表里。首先需要登录root账号
vim /etc/sudoers
进入sudoers
文件
往下翻直到看见
root ALL=(ALL) ALL
为止然后在复制
root ALL=(ALL) ALL
,在下面粘贴,把root改为自己用户的名字即可,记得底行模式输入wq!
退出(我的用户名字是normal)
然后你就可以使用sudo了,试试去运行我上面写的代码自动化配置vim吧😊