vim编辑器
vim,被称为编辑器之神,拥有陡峭的学习曲线,一旦掌握,编写代码即可脱离鼠标,双手只需在键盘上飞舞,一行行代码随之出现,增删改查,轻松自如!
大一时我学了vim,掌握之后,如今我编写代码离不开vim。程序员难免要和服务器打交道,而大部分服务器都是linux,在linux上面部署服务,难免需要用到vim去编辑文件,作为程序员,掌握vim很有必要~同时各大IDE:vscode、pycharm等都可安装vim插件,用vim编写代码。
下面是我学习vim时,做的笔记(超级详细!),欢迎取用~
一.三种工作模式
- 命令模式
- 打开文件首先进入的模式是命令模式。
- 命令模式,顾名思义,就是专用于敲命令的模式,只能通过键盘输入各种命令。
- 这些命令可以实现各种功能,如:删除,定位,翻页,复制,粘贴…
- 末行模式
- 执行保存和退出等操作。
- 末行模式是vim的出口。
- 编辑模式
- 正常编辑文字的模式。
二.常用命令
- 重复次数 - 在命令模式下,先输入一个数字,再跟上一个命令,可以让命令重复执行一定次数
- 移动和选择 - vim 之所以快,关键在于能够快速定位到要编辑的代码行
- 编辑操作 - delete 、copy、paste、replace、缩排
- 撤销和重复
- 查找和替换
- 编辑
notes: When you insert sequence you need close Chinese mode
2.1 移动(基本)
- 上 下 左 右
命令功能手指h向左食指j向下食指k向上中指l向右无名指
2.行内移动
命令英文功能wword向后移动一个单词bback向前移动一个单词0行首^行首,第一个不是空白字符的位置$行尾
3.行数移动
命令英文功能gggo文件顶部GGO文件末尾数字gggo移动到数字对应行数数字GGO移动到数字对应行数:数字移动到数字对应行数
屏幕移动
命令英文功能ctrl+bback向上翻页ctrl+fforward向下翻页HHead屏幕顶部MMiddle屏幕中间LLow屏幕底部段落移动
- vim中用空行来分隔段落
- 程序开发时,** 功能相关的代码写在一起,之间没有空行
命令功能{上一段}下一段
括号切换
命令功能%括号匹配和切换标记
- 为什么会有标记呢?:在开发时,某块代码需要稍后处理 ,例如:编辑,查看。
- 使用m增加一个标记,这样就可以在需要时快速跳转回来或者执行其他操作
- 标记名称:可以是a-z或A-Z之间任意一个字符。标记行如果被删除,标记也会被删除
命令功能mx添加标记x‘x直接定位到x所在位置2.2 选中文本(可视模式)
用处:为复制文本做准备
命令模式功能v可视模式从光标开始按照正常模式选择文本V可视行模式选中光标经过的完整行Ctrl+v可视块模式垂直方向选中文本
- 全选:ggVG
3.1 撤销和恢复撤销
命令单词功能uundo撤销上次命令ctrl+rredo恢复撤销的命令
3.2 删除文本
命令英文功能xcut删除光标所在字符d(移动命令)delete删除移动命令对应的内容dddelete删除光标坐在行,ndd可以删除多行Ddelete删除至行尾
3.3 复制、粘贴
vim中有一个被复制文本的缓冲区
- 复制命令会将选中的文字保存在缓冲区
- 删除命令删除的文字会被保存在缓冲区
- 在需要的位置,使用粘贴 命令会把缓冲区的文字插入到光标所在位置
命令英文功能y(移动命令)copy复制yycopy复制一行,可以nyy复制n行ppaste粘贴
4.1 替换
命令英文功能工作模式rreplace替换当前字符命令模式Rreplace替换当前光标后的字符替换模式
- R
命令可以进入
替换模式 ,替换完成之后,按下esc键回到
命令模式 - 替换命令 的作用就是不进入编辑模式,对文本进行轻量级改动
4.2 缩进
命令功能<<向右增加缩进>>向左减少缩进.重复上次命令
一次缩进是4个空格
4.3 查找
命令功能/str查找str
- 查找到指定内容后,使用next查找下一个出现的位置: - n :查找下一个- N:查找上一个
单词快速匹配
命令功能*向后查找当前光标所在单词#向前查找当前光标所在单词
4.4 查找并替换
全局模式:
- 需要在末行模式下执行
- 命令格式:
:%s/被替换/替换/g
可视区域替换:
- 先选中要替换文字的区域
- 命令格式:
:s/被替换/替换/g
确认替换
- 在替换之前 会有提示
- 命令格式:
:%s/被替换/替换/gc
提示:1. y2. n3. a -all 替换所有4. q -quit 推出替换5. l -last 替换最后一个
5.1 插入命令
命令英文功能常用iinsert在当前字符前插入文本常用Iinsert在行首插入文本较常用aappend在当前字符后添加文本Aappend在行尾添加文本较常用o在当前行后面添加一空行常用O在上前行前面添加一空行常用
5.2 末行命令
命令英文功能:wwrite保存:w 文件名保存为新的文件:qquit退出,如果没有保存,不允许退出:q!quit强制退出:wq保存并退出:x保存并退出:e .edit打开内置的文件浏览器,浏览当前目录下的文件:n 文件名new新建文件
- 实际开发中,会用**w ** 阶段性备份代码
5.3 分屏命令
- 使用分屏命令可以同时编辑和查看多个文件命令英文功能:sp[文件名]split横向增加分屏:vsp[文件名]vertical split纵向增加分屏
- 切换分屏窗口****分屏窗口都是基于
ctrl+w
这个快捷键的,w即window
按完这两个键之后松掉,就按下面的键实现功能命令英文功能wwindow切换到下一个窗口rreverse互换窗口cclose关闭当前窗口,但是不关闭最后一个窗口qquit退出当前窗口,如果是最后一个窗口,即关闭vimoother关闭其他窗口
获取完整原创笔记markdown文件:公粽号:为你作画,回复vim
谢谢阅读~
版权归原作者 code华华 所有, 如有侵权,请联系我们删除。