Linux-vim基本操作补充

本文详细介绍了Vim的三种模式——命令模式、末行模式和插入模式,并提供了各种实用的操作技巧,如快速移动、修改、删除、查找与替换、缩进控制以及高效的注释和粘贴方法,旨在提升编辑效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vim基础操作补充

三种模式:

  • 命令模式
  • 末行模式
  • 插入模式

基本操作:

  • 移动
  • 修改
  • 保存和退出

这篇文章是在之前Vim的基础之上再给大家来讲解一些Vim更加实用的技巧,提高编辑效率。

操作还是增删改查,但是在三种模式下,分别有不同的方法。

首先在命令模式下:

  • 修改: ctrl + actrl + x 可以直接对数字进行加减, 10<C-a>每次增加10

    • 替换:
    • s 删除光标所在字符,然后进入插入模式
    • r 是替换字符,会把选中的字符替换成你输入的字符
    • R 进入替换模式
    • 在vim中有这样一条额外的规则,当一个操作命令被连续调用两次时,它会作用于当前行,如:d时删除,dd就是删除当前行
    • c 是修改,会进入插入模式,cc是删除当前行,并进入插入模式 ,等价于 ddO
    • g~ 反转大小写 g~~ 反转当前行
    • gu 反转为小写
    • gU 反转为大写
    • < 减少缩进
    • > 增加缩进
  • 移动:

    • gg 到文件首行,G到文件末尾
    • zz 把当前行移动到屏幕中央 (这里是小写的zz, 大写的ZZ时保存退出, :h zz 查看帮助)
    • - + 光标上下移动
    • ^ 非空格行首
    • 0 行首
    • $ 行尾
    • % 括号移动
    • w e b 移动一个单词,分别是 下个词首、下单词词尾 和 上个单词首
    • H 把光标移动到屏幕上方
    • M 把光标移动到屏幕中央
    • L 把光标移动到屏幕最后
    • ctrl + octrl + i 让光标回到上次跳转的地方,如果有查找过,想回到上次查找的内容就会很方便
    • ctrl + f 向下移动一屏 3<C-f> 向下移动3屏
    • ctrl + b 向上移动一屏
    • ctrl + d 向下移动半屏
    • ctrl + u 向上移动半屏

末行模式

  • 查找

    • /pattern 向上查找,在文件中搜索 pattern n N 移动
    • ?pattern 向下查找,使用 :noh 取消高亮
    • * 高亮当前单词或字符,相当于 /pattern
    • #*相反, 类似于 / ?
    • gd 命令也 * 号作用一样
    • /\v'.+' /\v正则匹配,\v后面加上正则表达式
    • :%s///gn 查找之后,使用此命令可以统计符合的次数
  • 替换

    • :[range]s/{pattern}/{string}/[flags] 替换语法规则
    • :%s/time/datetime/g 将文件中所有的 time 替换成 datetime
    • range 表示范围
    • 1 文件第一行
    • $ 文件最后一行
    • . 光标所在行
    • % 整个文件(:1,$的简写形式)
    • flags是标识位
    • g 表示全局范围
    • c 表示选择替换
    • y 表示替换此处
    • n 表示忽略
    • q 表示退出替换过程
    • l last-替换此处匹配后退出
    • a all-替换此处与之后所有的匹配
    • ^E 向上滚动屏幕
    • ^Y 向下滚动屏幕
    • n 不会替换,只是返回会替换的次数
    • :%s/^/#/g 快速注释全文
    • :%s/$/;/g 每行末加上 ;

插入模式

  • 删除
    • <C-h> 删除前一个字符(同退格键)
    • <C-w> 删除前一个单词
    • <C-u> 删除至行首
  • 返回命令模式
    • <Esc> <C-[> 这两个都可以返回到命令模式
  • 插入寄存器的内容(vim中把粘贴板称为寄存器)
    • <C-r>0 插入寄存器0的内容
    • :reg 可以查看vim寄存器
    • " 默认寄存器,yy 和 p 都是使用的这个寄存器
  • <C-r><C-p>" 会更加智能的粘贴
  • <C-v>u00bf 插入Unicode字符 <C-v> 是插入非常用字符
  • <C-k>?I 插入二合字符 <C-k>{char1}{char2} <C-k>12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泸州月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值