vim 常用命令集

此文介绍了vim中常用的命令,用熟练后可以提高工作效率哦。

1.多行注释:

  1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;

  2. 在行首使用上下键选择需要注释的多行;

  3. 按下键盘(大写)"I"键,进入插入模式;

  4. 然后输入注释符("//"、"#"等);

  5. 最后按下"Esc"键。注:在按下esc键后,会稍等一会才会出现注释

2.删除多行注释:

  1. 首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式;

  2. 选定要取消注释的多行;

  3. 按下"x"或者"d".注意:如果是"//"注释,那需要执行两次该操作,如果是"#"注释,一次即可

3.多行删除:

1.首先在命令模式下,输入":set nu"显示行号;

2.通过行号确定你要删除的行;

3.命令输入":32,65d",回车键,32-65行就被删除了

如果无意中删除错了,可以使用'u'键恢复(命令模式下)

或者非命令行模式下:Ndd 例如5dd就是删除包含光标所在行往下的共5行

4.快捷键

w保存 q退出 !强制

wq保存退出,等价于 x(小写的x)还等价于在命令模式下 shit+2个z

q!不保存退出 在命令模式下 shit+zq

hjkl控制上下作用 M中间位置 L当前屏幕的最后一行

yy 复制,8yy:表示从当前光标所在的行开始复制8行

p 粘贴

dd 剪切,8dd:表示从当前光标所在的行开始剪切8行

x 删除单个字符

u 撤销 ctl+r 反撤销

G 调到最后一行 :

复制代码
15G 表示跳转到第15行,
1G表示跳转到第1行。
输入:n,代表跳转到第n行,如:79,就跳转到第79行。

复制

gg:跳转到第1行。

set nu:显示行号

set nonu:不显示行号

移至行首:home键或者"^"(即Shift+6)或0

移至行尾:end键或者"$"(Shift+4)

5.翻页

整页翻页 ctrl-f ctrl-b f就是forword b就是backward。

翻半页ctrl-d ctlr-u d=down u=up。

Ctrl + E:向上翻滚一行

Ctrl + Y:向下翻滚一行

5.在vim中快速复制粘贴多行

++https://www.cnblogs.com/MMLoveMeMM/articles/3707287.html++

6.vim插入空行

命令模式下按o键,可以新建一个空行并进入i模式。

yy复制空行,然后p粘贴

7.vim 替换模式

R 命令让你一步到位进入替换模式不会进入插入模式 。屏幕左下角出现--REPLACE--字样。注意:退格键(Backspace)在替换模式中被解释为**如果左边的内容被替换过,则恢复到原来的样子;如果没有被替换过,则简单的向左移动。**修改完毕后,按下Esc键回到普通模式。

8.vim字符串替换命令

基本语法是 :[range]s/目标字符串/替换字符串/[option],其中range和option字段都可以缺省不填。

range:表示搜索范围,默认表示当前行;

range字段值1,10表示从第1到第10行;

%表示整个文件(相当于1,$);

而.,$代表从当前行到本文件的末尾

s:substitute的简写,表示执行替换字符串操作;

option:表示操作类型,默认只对第一个匹配的字符进行替换;

option字段值g(global)表示全局替换;

c(comfirm)表示操作时需要确认;

i(ignorecase)表示不区分大小写;

如想把所有的username换成login_name,那么**:%s/username/login_name/g**就可以了。

例子:

复制代码
一:将光标所在行出现的所有包含line的字符串中line替换为lines
:s/line/lines/g表示将光标所在当前行的line全局替换为lines
二:将从2行到10行中出现的所有包含line的字符串中的line替换为lines
:2,10s/line/lines/g表示将2~3行的line全局替换为lines
三:全文的行首加入//字符,批量注释时非常有用
:%s/^/\/\//表示在全文范围行首替换插入//,注意在Vim中需要将/进行转义后才可以替换
四:将所有行尾多余的空格删除
:%s= *$==表示全局替换行尾的一个或多个空格,更多正则表达式的说明可以参考Vim正则表达式2d

复制

9.vim刷新当前文件:e

您可以在:edit不指定文件名的情况下使用该命令来重新加载当前文件。如果对文件进行了修改,则可以:edit!用来强制重新加载当前文件(您将丢失所做 的修改)。

该命令:edit可以用缩写**:e**。因此,可以通过以下方式进行强制编辑:e!

10.移动光标

删除:

ctrl + u :从光标处向前删除指令串

ctrl + k : 从光标处向后删除指令串

删除(具体可以说是剪切)的字符串可以 ctrl + y 进行粘贴

移动:

ctrl + a :光标移动到整个指令串的最前面

ctrl + e :光标移动到整个指令串的最后面

相关推荐
AI人工智能+电脑小能手1 分钟前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
xian_wwq22 分钟前
【学习笔记】AGC协调控制系统概述
笔记·学习
社交怪人27 分钟前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
x_yeyue1 小时前
三角形数
笔记·算法·数论·组合数学
二等饼干~za8986681 小时前
从零搭建 Geo 开源项目源码开发环境——以 GeoServer 为例
开源
郭涤生1 小时前
不同主机之间网络通信-以太网连接复习
开发语言·rk3588
山居秋暝LS1 小时前
【无标题】RTX00安装paddle OCR,win11不能装最新的,也不能用GPU
开发语言·r语言
极客BIM工作室1 小时前
IfcOpenShell:开源BIM的核心引擎技术解析
开源
卢锡荣1 小时前
单芯通吃,盲插标杆 —— 乐得瑞 LDR6020,Type‑C 全场景互联 “智慧芯”
c语言·开发语言·计算机外设
Xin_ye100861 小时前
C# 零基础到精通教程 - 第七章:面向对象编程(入门)——类与对象
开发语言·c#