vim编辑器(超详细!)

vim编辑器

vim,被称为编辑器之神,拥有陡峭的学习曲线,一旦掌握,编写代码即可脱离鼠标,双手只需在键盘上飞舞,一行行代码随之出现,增删改查,轻松自如!

大一时我学了vim,掌握之后,如今我编写代码离不开vim。程序员难免要和服务器打交道,而大部分服务器都是linux,在linux上面部署服务,难免需要用到vim去编辑文件,作为程序员,掌握vim很有必要~同时各大IDE:vscode、pycharm等都可安装vim插件,用vim编写代码。

下面是我学习vim时,做的笔记(超级详细!),欢迎取用~

一.三种工作模式

  1. 命令模式
  • 打开文件首先进入的模式是命令模式。
  • 命令模式,顾名思义,就是专用于敲命令的模式,只能通过键盘输入各种命令。
  • 这些命令可以实现各种功能,如:删除,定位,翻页,复制,粘贴…
  1. 末行模式
  • 执行保存和退出等操作。
  • 末行模式是vim的出口。
  1. 编辑模式
  • 正常编辑文字的模式。

二.常用命令

  1. 重复次数
    • 在命令模式下,先输入一个数字,再跟上一个命令,可以让命令重复执行一定次数
  2. 移动和选择
    • vim 之所以快,关键在于能够快速定位到要编辑的代码行
  3. 编辑操作
    • deletecopypastereplace缩排
  4. 撤销和重复
  5. 查找和替换
  6. 编辑

notes: When you insert sequence you need close Chinese mode

2.1 移动(基本)

  1. 上 下 左 右
命令 功能 手指
h 向左 食指
j 向下 食指
k 向上 中指
l 向右 无名指

2.行内移动

命令 英文 功能
w word 向后移动一个单词
b back 向前移动一个单词
0 行首
^ 行首,第一个不是空白字符的位置
$ 行尾

3.行数移动

命令 英文 功能
gg go 文件顶部
G GO 文件末尾
数字gg go 移动到数字对应行数
数字G GO 移动到数字对应行数
:数字 移动到数字对应行数
  1. 屏幕移动
命令 英文 功能
ctrl+b back 向上翻页
ctrl+f forward 向下翻页
H Head 屏幕顶部
M Middle 屏幕中间
L Low 屏幕底部
  1. 段落移动
  • vim中用空行来分隔段落
  • 程序开发时,** 功能相关的代码写在一起,之间没有空行
命令 功能
{ 上一段
} 下一段
  1. 括号切换
命令 功能
% 括号匹配和切换
  1. 标记
  • 为什么会有标记呢?:在开发时,某块代码需要稍后处理 ,例如:编辑,查看。
  • 使用m增加一个标记,这样就可以在需要时快速跳转回来或者执行其他操作
  • 标记名称:可以是a-z或A-Z之间任意一个字符。标记行如果被删除,标记也会被删除
命令 功能
mx 添加标记x
‘x 直接定位到x所在位置

2.2 选中文本(可视模式)

用处:为复制文本做准备

命令 模式 功能
v 可视模式 从光标开始按照正常模式选择文本
V 可视行模式 选中光标经过的完整行
Ctrl+v 可视块模式 垂直方向选中文本
  • 全选:ggVG

3.1 撤销和恢复撤销

命令 单词 功能
u undo 撤销上次命令
ctrl+r redo 恢复撤销的命令

3.2 删除文本

命令 英文 功能
x cut 删除光标所在字符
d(移动命令) delete 删除移动命令对应的内容
dd delete 删除光标坐在行,ndd可以删除多行
D delete 删除至行尾

3.3 复制、粘贴

  • vim中有一个被复制文本的缓冲区
    • 复制 命令会将选中的文字保存在缓冲区
    • 删除 命令删除的文字会被保存在缓冲区
    • 在需要的位置,使用粘贴 命令会把缓冲区的文字插入到光标所在位置
命令 英文 功能
y(移动命令) copy 复制
yy copy 复制一行,可以nyy复制n行
p paste 粘贴

4.1 替换

命令 英文 功能 工作模式
r replace 替换当前字符 命令模式
R replace 替换当前光标后的字符 替换模式
  • R 命令可以进入替换模式替换完成之后,按下esc键回到命令模式
  • 替换命令 的作用就是不进入编辑模式,对文本进行轻量级改动

4.2 缩进

命令 功能
<< 向右增加缩进
>> 向左减少缩进
. 重复上次命令
  • 一次缩进是4个空格

4.3 查找

命令 功能
/str 查找str
  • 查找到指定内容后,使用next查找下一个出现的位置:
    • n :查找下一个
    • N:查找上一个

单词快速匹配

命令 功能
* 向后查找当前光标所在单词
# 向前查找当前光标所在单词

4.4 查找并替换

全局模式

  • 需要在末行模式下执行

  • 命令格式:

    :%s/被替换/替换/g
    

可视区域替换

  • 先选中要替换文字的区域
  • 命令格式:
:s/被替换/替换/g

确认替换

  • 在替换之前 会有提示

  • 命令格式:

    :%s/被替换/替换/gc
    

    提示:

    1. y
    2. n
    3. a -all 替换所有
    4. q -quit 推出替换
    5. l -last 替换最后一个

5.1 插入命令

命令 英文 功能 常用
i insert 在当前字符前插入文本 常用
I insert 在行首插入文本 较常用
a append 在当前字符后添加文本
A append 在行尾添加文本 较常用
o 在当前行后面添加一空行 常用
O 在上前行前面添加一空行 常用

5.2 末行命令

命令 英文 功能
:w write 保存
:w 文件名 保存为新的文件
:q quit 退出,如果没有保存,不允许退出
:q! quit 强制退出
:wq 保存并退出
:x 保存并退出​
:e . edit 打开内置的文件浏览器,浏览当前目录下的文件
:n 文件名 new 新建文件
  • 实际开发中,会用**w ** 阶段性备份代码

5.3 分屏命令

  • 使用分屏命令可以同时编辑查看多个文件

    命令 英文 功能
    :sp[文件名] split 横向增加分屏
    :vsp[文件名] vertical split 纵向增加分屏
  • 切换分屏窗口

    分屏窗口都是基于ctrl+w这个快捷键的,w即window按完这两个键之后松掉,就按下面的键实现功能

    命令 英文 功能
    w window 切换到下一个窗口
    r reverse 互换窗口
    c close 关闭当前窗口,但是不关闭最后一个窗口
    q quit 退出当前窗口,如果是最后一个窗口,即关闭vim
    o other 关闭其他窗口

获取完整原创笔记markdown文件:公粽号:为你作画,回复vim
谢谢阅读~文章来源地址https://uudwc.com/A/9nq5

原文地址:https://blog.csdn.net/weixin_51976923/article/details/127437213

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年06月15日 01:00
Linux驱动开发
下一篇 2023年06月15日 01:00