2022.9.2 vim学习记录
学习网址:https://www.bilibili.com/video/BV1qF411W7bc
一、Why learn vim
•高效的编辑模式
•可扩展性强
•vs code、vs、atom、sublime、intellij idea...几乎所有的主流ide和代码编辑器,甚至emacs,都提供了vim的输入模式
入门较难,挑战性高。
一旦上手将是提高代码生产力的良药。
二、development history

1975年 Emacs
1976年 Vi
•Vim的名字取义为Vi Improved(即Vi的改进版)。
程序员的圈子里面也一直流传着一个段子,说是世界上的程序员分为三种。
使用vim的,使用emacs的,以及使用其他的。
三、vim learning record
请看,有如下三种形态的输入方式

base op
命令操作如下
撤销键:u
重写键:ctrl+r
| op | action |
|---|---|
| w | 跳到下一个单词 |
| e | 跳到下一个单词尾部 |
| b | 跳到上一个单词(标点符号不包含在单词内) |
| B | 跳到上一个单词(标点符号也包含在单词内) |
| x | 删除光标所在字符 |
| h,j,k,l | 左,下、上、右 |
当然,方向键和backspace也是可以用的,随机应变即可
另:V键可以直接选中当前行
cmd op 1
本表主要展示如何快速移动光标
| 操作类型 | 操作键 | 功能 |
|---|---|---|
| 翻页 | Ctrl+F | 向下翻动一整页内容 |
| Ctrl+B | 向上翻动一整页内容 | |
| 行内快速跳转 | 数字“0” | 跳转至行首 |
| “$”键 | 跳转到行尾 | |
| 行间快速跳转 | gg | 跳转到文件的首行 |
| GG | 跳转到文件的末尾行 | |
| #gg | 跳转到文件中的第#行 | |
| 行号显示 | :set nu | 在编辑器中显示行号 |
| :set nonu | 取消编辑器中的行号显示 |
cmd op 2
本表主要展示对内容复制粘贴等操作
| 操作类型 | 操作键 | 功能 |
|---|---|---|
| 删除 | x | 删除光标处的单个字符 |
| dd | 删除当前光标所在行 | |
| #dd | 删除从光标处开始的#行内容 | |
| 替换 | r | 替换单个字符 |
| R | 替换多个字符 | |
| 复制 | yy | 复制当前光标所在行的内容到剪贴板 |
| #yy | 复制从光标处开始的#行内容 | |
| 粘贴 | p | 将缓冲区中的内容粘贴到光标位置处的下一行 |
| P | 粘贴到光标位置处之前 |
cmd op 3
本表展示对文字查找替换的基操
| OP | FUNCTION |
|---|---|
| /word | 从上到下查找word单词 |
| n | 定位下一个匹配字符串 |
| N | 定位上一个匹配字符串 |
base line op
长按esc后的最基本底行命令如下
| OP | funcTION |
|---|---|
| Esc | 退出插入 |
| :w | 保存 |
| :q | 退出 |
| :q! | 强制退出(不保存文件) |
[附:vim学习游戏 跳转连接](
line op 1
底行模式下,不仅是保存退出,还有其他的操作。
下面罗列其他的操作。
| function | op | note |
|---|---|---|
| save file | :w | |
| :w /root/newfile | save as other path | |
| quit file | :q | no change |
| :q! | throw change and quit | |
| save and quit | :wq | |
| open new file | :e ~/flag.txt | open new file and edit it |
line op 2
此处着重展示一些查找替换的操作
| 命令 | 功能 |
|---|---|
| 😒/old/new | 将当前行中查找到的第一个字符“old” 串替换为“new” |
| 😒/old/new/g | 将当前行中查找到的所有字符串“old” 替换为“new” |
| :#,#s/old/new/g | 在行号“#,#”范围内替换所有的字符串“old”为“new” |
| :%s/old/new/g | 在整个文件范围内替换所有的字符串“old”为“new” |
| 😒/old/new/c | 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |
总结:查找替换命令是 😒,需要指定行数前面加(#,#),需要全部换后面加g,需要确认后面加c(check),全部换是%
那么以上就是一个vim的基础教学了,我们也可以试着写代码了。
后续我会学习相关how to configure vim 和 how to install vim plugin的内容,敬请关注本博客~~

浙公网安备 33010602011771号