01 开篇初识 vim
vim 功能吊炸天,但我们掌握一些常用的命令即可应对日常的使用了,不记流水账!
- Linux 中最常用的编辑器是什么? vim !
- vi 跟 vim 啥区别? vim 就是 vi 的增强版,功能更强些,别纠结这个细节,掌握 vim 就好。
- 有几种模式?有四种模式,normal模式(默认模式)、编辑模式、命令模式、visual模式(这个模式不常用,下面不细说)。
文章图片
normal 模式 vim [文件名] # 即进入normal 模式 ,这就是默认的 normal 模式,在进入其他模式后,可以使用 Esc 键返回到这个模式。
编辑模式 normal 模式下按下 i、a、o、s,进入编辑模式,使用频度一般也是这个顺序,编辑模式下和在 Windows 里记事本里操作没啥区别。
- i # insert,光标当前字符前插入
- a #append, 光标当前字符后插入
- o #下一行插入
- s #不常用,删除当前字符并插入
底线命令模式常用命令字符如下:
- :q # 退出不保存
- :q! # 强制退出不保存
- :wq # 退出保存
- :wq! # 强制退出保存
- ctrl + f # 向下翻页
- ctrl + b # 向上翻页
- 0 # 行首
- $ # 行尾
- space # 空格键,一直向下移动一个字符。跟左方向键(→)的区别是,左方向键(→)只能在本行移动。 h、j、k、l 类似方向键的右下上左,顺时针,这些操作是体现 vim 牛的地方,可以飞快的跳转操作。
- G # 大写g,移动到文末。
- nG # n 是数字,代表行号。100G则是移动到第100行。1G文首,0G文末。
- gg # 移动到文首。同样效果还有1G。
- dd # 删除当前行,可连续按d删除。
- ndd # 删除当前行及之后的多少行,如: 100dd,删除当前及之后的100行
- dG #删除当前行至末尾的所有行(光标放到首行,则可以删除全部)
- 删除列操作
1.光标定位到要操作的地方。
2.CTRL+v 进入“可视 块”模式,选取这一列操作多少行。
3.d 删除。
复制粘贴
- y # 进入复制模式。
- yy # 复制当前行。
- nyy # n 是数字,代表行号。如: 16yy,即复制当前行至16行的内容。
- p # 粘贴当前vim剪切板中内容。
- yyp # 常用组合键,即在上面使用 yy 复制后,可立即使用 p 粘贴,或者移动到指定地点后按个 p,即把刚才的内容粘贴过来了。
- ggyG # 全选复制。看这个命令,到行首,按 y 进入复制模式,再移动光标到文末,然后可以按 p 粘贴了。这里有个缺陷,这样的复制内容只能在 vim 中进行粘贴,一旦退出 vim,剪切板中则无此内容了。那怎么办呢? 看下面这个命令。
- gg"*yG、gg"+yG # 这两个全选复制的命令,可以将内容带出到vim之外。
- /hello # 即向下寻找hello这个字符串。按n会一直向下找。
- ?hello # 即向上寻找 hello 这个字符串。按n会一直向上找。
- n、N # 配合/、?则会很有趣,如: /hello Enter 后再按 n,一直向下找; N 一直向上找; ?hello Enter 后再按 n,一直向上找, N 一直向下找。
- :%s/old/new/g # 全局替换,将 old 字符替换成 new 。
- :[n1],[n2]s/old/new/g # n1、n2为行号,意思是从第n1行到n2行,指定行数区间替换。
- :[n1],%s/old/new/g # 从第 n1 行到最后一行的替换。
本文由博客一文多发平台 OpenWrite 发布!
推荐阅读
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- c语言|C语言初期学习遇到的特殊点 【三子棋详解】【初学者福音,详细总结,复习能手】
- Python|Python实战(使用线性回归预测房价)
- IC|数字IC后端真的不如前端设计和验证吗()
- Python|教你写个简单好用的Python脚本一键自动整理文件非常适合办公用~
- python|oeasy教您玩转python - 007 - # 字符本质
- vue.js|后端开发学习Vue(一)
- Go|Docker后端部署详解(Go+Nginx)
- 后台|NATAPP内网穿透通过nginx实现一个端口访问多个不同端口服务