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

相关推荐
vip45121 分钟前
Linux 经典面试八股文
linux
大霞上仙23 分钟前
Ubuntu系统电脑没有WiFi适配器
linux·运维·电脑
孤客网络科技工作室2 小时前
VMware 虚拟机使用教程及 Kali Linux 安装指南
linux·虚拟机·kali linux
颇有几分姿色2 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
AndyFrank3 小时前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源3 小时前
Kafka-linux环境部署
linux·kafka
算法与编程之美4 小时前
文件的写入与读取
linux·运维·服务器
xianwu5434 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming4 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
Ven%5 小时前
centos查看硬盘资源使用情况命令大全
linux·运维·centos