当前位置: 首页 > news >正文

vim常用命令

vim常用三种模式

命令模式(Command mode)
插入模式(Insert mode)
末行模式(Last line mode)

在这里插入图片描述

(一)进入命令模式

vi
或者
vim

(二)命令模式 -> 插入模式

(1)在光标之前插入内容(insert)

i

(2)在光标之后插入内容(append)

a

(3)在光标的下一行开头插入内容

o

(三)插入模式 -> 命令模式

esc

(四)命令模式 -> 末行模式

:

(五)末行模式 -> 命令模式

执行命令结束

(六)退出末行模式

(1)不保存退出

:q!

(2)保存退出

:wq!

一、命令模式(Command mode)

(一)移动光标

(1)移动到首行

gg

(2)移动到尾行

G

(二)复制和粘贴

(1)复制一行

yy
p

(2)复制3行

3
yy
p

(三)剪切和粘贴

(1)剪切一行

dd
p

(2)剪切3行

3
dd
p

(四)删除

(1)删除一行

dd

(2)删除3行

3
dd

(3)删除光标所在的一个单词

db

(4)删除光标所在的一个字符(x小写)

x

(5)删除光标前面的一个字符(X大写)

X

(五)撤销和恢复

(1)撤销前面一个操作

u

(2)恢复撤销的操作

ctrl + R

二、插入模式(Insert mode)

正常编辑内容。

三、末行模式(Last line mode)

(一)行号

(1)显示行号

:set nubmer
或者
:set nu

(2)取消行号

:set nonumber
或者
:set nonu

(二)跳转

(1)跳转到第10行

:10

(2)跳转到首行

:0

(三)查找

(1)查找文本中的字符串hello

/hello

(2)上一个

N

(3)下一个

n

(四)替换

(1)替换当前行第一个str1为str2

:s/str1/str2/

(2)替换当前行所有str1为str2

:s/str1/str2/g

(3)替换每一行中第一个str1为str2

:%s/str1/str2/

(4)替换每一行中所有str1为str2

:%s/str1/str2/g

(5)替换当前行开始到最后一行中每一行的第一个str1为str2

:.,$s/str1/str2/

(6)替换当前行开始到最后一行中每一行所有str1为str2

:.,$s/str1/str2/g

(7)替换第n行开始到最后一行中每一行的第一个str1为str2

:n,$s/str1/str2/

(8)替换第n行开始到最后一行中每一行所有str1为str2

:n,$s/str1/str2/g

(五)添加

(1)在每行行首添加hello

:%s/^/hello/

(2)在每行行尾添加hello

:%s/$/hello/

(3)在第3行到第5行的行首添加hello

:3,5s/^/hello/

(4)在第3行到第5行的行尾添加hello

:3,5s/$/hello/

(六)删除

(1)删除第10行到第20行

:10,20d

(2)删除所有行

:1,$d
或者
:%d

(3)删除首行到当前行

:1,.d

(4)删除当前行到末行

:.,$d

(5)删除首行

:1d

(6)删除末行

:$d

(7)删除包含hello的行

:g/hello/d

(8)删除不包含hello的行

:%g!/hello/d
或者
:v/hello/d

(9)删除以hello开头的行

:g/^hello/d

(10)删除以hello结尾的行

:g/hello$/d

(11)删除所有空行

:g/^$/d
http://www.lryc.cn/news/14502.html

相关文章:

  • 华为OD机试 - 最差产品奖 | 机试题算法思路 【2023】
  • HR:你会Python数据分析吗?
  • 算法18:LeetCode_链表相关算法题
  • SpringBoot集成Tomcat服务
  • 【机器学习】决策树-C4.5算法
  • actipro-winforms-controls-23.1.0 Crack
  • 适合打游戏用的蓝牙耳机有哪些?吃鸡无延迟的蓝牙耳机推荐
  • 1000:入门测试题目[不一样的题解][85种写法]【A+B问题】
  • FastReport .NET 2023.1.13 Crack
  • unzip: cannot find zipfile directory in one of
  • RFC4543: Galois Message Authentication Code (GMAC);CONFIG_CRYPTO_GCM
  • 【YOLOv5】 02-标注图片,训练并使用自己的模型
  • 2023.2.15日学习内容(用户的增删改查)
  • 车载以太网 - 测试用例设计 - 时间参数 - 11
  • 【C#个人错题笔记】
  • JavaScript刷LeetCode拿offer-树的遍历
  • 《FPGA学习》->呼吸灯
  • 【大数据离线开发】7.4 HBase数据保存和过滤器
  • CentOS7安装MariaDB步骤
  • 软件测试13个最容易犯的错误
  • 华为OD机试真题Java实现【5键键盘的输出】真题+解题思路+代码(20222023)
  • 化解射频和微波设计挑战的六个技巧
  • linux内核—进程调度(核心)
  • 【STM32笔记】__WFI();进入不了休眠的可能原因(系统定时器SysTick一直产生中断)
  • 【期末复习】例题讲解Dijkstra算法
  • Pytorch 基础之张量索引
  • JVM系统优化实践(1):JVM概览
  • 优秀!19年后,它再次成为TIOBE年度编程语言
  • 剑指 Offer 26. 树的子结构
  • 他是00年的,我们卷不过他...