vim 工具的使用

注:以下操作都在普通模式下进行

光标的移动操作

gg

定位到代码的第一行
shift+g

定位到代码的最后一行
n+shift+g

定位到第n行
shift+6:

特定一行的开始
shift+4

特定一行的结尾

上下左右的移动光标
h: 向左移动光标
j: 向下移动光标
k: 向上移动光标
l: 向右移动光标

w 以单词为单位向右移动
b 以单词为单位向左移动

对行的操作

复制光标所在的行:yy

如果你想要复制5行(从光标所在行开始往下数) 你可以使用:5 yy

如果你想要复制n行 同理 你可以使用 n yy

粘贴:p

如果想粘贴10次就使用:10 p

如果想粘贴n次就使用: n p

撤销操作:u

如何删除光标所在的行:dd

其实dd 也相当于Windows的剪切功能,你使用dd之后可以再使用p命令,将删掉的内容粘贴到光标的位置

如果你想将9行内容剪切到其他地方的话你可以:9 dd 然后再在你想要移动到的位置p 一下

如果你想将 n 行内容 剪切到其他地方的话你可以:n dd 然后再目标位置p 一下;

对行内一部分的操作

大小写字母的转化

按住shift 不动, 在按~

替换掉行内你想替换替换的字母 ,比如,"hello world"

你想替换成"hello worlx"

你只需要光标定位到单词worldd 然后按r 接着就可以改成你想改的字符了,这里是改成x 所以你按了r 之后 在按 x 就行了

同理,如果你想将从光标开始往右数5个字符全换成x 你可以输入:5 r 然后按x

但是这样替换掉的字符都是一样的呀,比如这里全换成了x ,那如果我想替换的字母不一样那该怎么办,这样的话就要进入 == 替换模式 == 了 。使用:shift + r 进入替换模式。这样就可以替换了 。

比如:你想把hello world 改成 hello linux 就是把world 替换成linux

你要先在普通模式下将光标移动到单词world的位置 然后按:shift r 进入替换模式 ,接着就可以直接输入linux了,因为它会直接替换掉world

如何删除行内的部分字符?

比如:hello world 这串字符,我想把hello删掉,那该怎么办,肯定不能用dd呀,因为dd是把整行都删掉

我们这样:在普通模式下将光标放在要删除的字符的位置按x ,(x 是向后删除一个字符,如果你想删除从光标开始往后数4个字符你就按4 x 就行了)

所以我们只需要将光标放在hello这个单词的h的位置按5 x 就行了

如果你想往前删就用:shift + x

撤销操作

如果你想撤销某个操作你可以在普通模式下按下:u

但是如果撤销撤多了,本来只需撤销一次,但是你撤销了两次,那该怎么办?

我们可以按下:ctrl r 就是对 u 的撤销

如果你对 u 操作后悔了,你就用ctrl r

如果你对ctrl r 操作后悔了,你就用u

如果你只想要拷贝一部分单词该怎么办

y w 命令,
y y 是把一整行都复制过去。
y w 就是复制一个单词。
3 y w 就是连续复制3个单词,所以:n y w就是连续复制n个单词

在vim中对某个单词进行搜索

shift + #

vim如何批量注释代码

第一步:这个时候就要用到第5种模式,叫视图模式

在命名模式中按下ctrl v 就进入了视图模式

这个时候左下角显示了V-BLOCK 全称是VISUAL BLOCK这就是视图模式

第二步:进入视图模式之后用h,j,k,l这些方向键来选择你要注释的内容。

第三步:在选择好要注释的内容之后,按下:shift i 进入编辑模式,然后键入://

第四步:在键入//后,直接按Esc就行了。到此,注释完成

vim如何批量删除注释

第一步:

在命名模式中按下ctrl v 就进入了视图模式

这个时候左下角显示了VISUAL BLOCK这就是视图模式

第二步:进入视图模式之后用h,j,k,l这些方向键来选择你要删除注释的内容。

第三步:按下d进行删除即可

定为光标到我们想要的地方

举个列子:vim mycode.c +7 表示在用光标打开这个文件的时候用光标定位到第7

相关推荐
FoldWinCard7 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
零涂毕业设计8 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud1238 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质8 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
SakitamaX8 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.9 小时前
Linux系统管理
linux·运维
阿龙的工作记录9 小时前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录
代码村新手9 小时前
Linux的基本指令
linux·运维·服务器
hkj880810 小时前
Ubuntu 切换java版本
java·linux·ubuntu
撩得Android一次心动12 小时前
Linux编程笔记3【个人用】
linux·笔记