Linux--vim操作

目录

前言

一、vim模式

二、底行模式的操作

三、命令模式的操作

四、替换模式

五、视图模式

六、vim的多文件编译


前言

本文主要讲解了vim的一些使用技巧。帮助我们轻松上手vim。

vim是一种多模式编辑器,通过vim打开文件并对文件进行编辑。

使用vim很简单,只需要vim + 文件名就可以了。如下

一、vim模式

在对文件内容进行编辑前,我们需要了解一下vim的模式。vim的模式有很多种,其中最常见的有三种,分别为命令模式、插入模式和底行模式

具体模式转化图如下。

刚进入vim时为命令模式,这时你可以输入a或者i或者o进入插入模式。

**其中i代表当前位置插入;a代表当前位置下一个字符进行插入;o代表当前位置下一行进行插入。**如果进入到插入模式,会在窗口左下角出现提示,告诉你目前模式为INSERT。到了插入模式就可以开始编辑代码了。

命令模式下,按shift+;(相当于输入:)进入底行模式,此时会在左下角出现 : 的标志。(底行模式的操作放到下面讲)

非命令模式下,按 Esc进入到命令模式

二、底行模式的操作

看表格就好,不理解在看具体的

|---------------------------|-------------|
| w | 保存 |
| q | 退出 |
| wq | 保存并退出 |
| set number 和 set nonumber | 打开行号和关闭行号 |
| ! + 命令 | 不退出vim下执行命令 |
| / + 关键字 | 查找关键字 |

1.w ->保存

底行模式中输入w为保存,输入w!为强制保存(只要不是无权限都可以保存)

2.q ->退出

底行模式中输入q为退出,输入q!为强制退出。

3.wq ->保存并退出

底行模式输入wq为保存并退出,wq!为强制保存并退出。

4.set number打开行号和set nonumber关闭行号

输入set number (简写set nu)打开行号,输入set nonumber(简写set nonu)关闭行号。

5.!+命令 ->执行指令

底行模式下输入**!+命令** 可以在不退出vim的情况下进行操作。

6. /+关键字 ->查找

底行模式下输入**/+关键字**,可以查找文件内所有的该关键字,并且输入n可以到下一个。

三、命令模式的操作

看表格就好,不理解在看具体的

|-------------------|--------------|
| gg和shift+g | gg移动光标至开头和结尾 |
| shift+4 和 shift+6 | 跳转行结尾和开头 |
| hjkl | h左,j下,k上,l右 |
| w和b | 以单词向后移动和向前移动 |
| yy和p和dd | 赋值和粘贴和剪切 |
| shift+` | 大小写转化 |
| r + 字符 | 替换字符 |
| x | 删除字符 |
| u和ctrl + r | 撤销与恢复 |
| shift + 3 | 搜索 |

1.gg和shift+g ->移动光标至开头和结尾

命令模式下输入gg光标跳转到文件开头,输入shift+g光标跳转到文件末尾。输入n + gg跳转到第n行。如输入 8+gg 就在第八行(8+shift+g 也是一样)

2.shift+4 和 shift+6 (小键盘的4和6) ->跳转行结尾和开头

命令模式下输入shift+4(即$)跳转到当前行的结尾, 输入shift+6(即^)跳转到当前行的开头。

3.h左,j下,k上,l右

命令模式下h 光标往左移动,j 往下移动,k 往上移动,l往右移动。

记忆方法:hhkl中h 在最左边为左,l 在最右边为右,j 为jump往下跳为下,k在很多游戏中为跳跃键为上。

4.w和b ->以单词向后移动和向前移动

命令模式下w以单词为单位向后移动,支持跨行,b以单词为单位向前移动,支持跨行。

5.yy和p和dd ->赋值和粘贴和剪切

命令模式下yy复制光标所在行,n + yy复制计算光标所在行的n行,如 5 + yy代表复制5行 。

命令模式下p为粘贴所复制的内容。n + p粘贴n次所复制内容,如 5 + p代表粘贴5次。

命令模式下dd为剪切所在行,n + dd为剪切光标所在行的后n行,如5+dd代表删除5行,并覆盖粘贴板。

6.shift+` ->大小写转化

命令模式下输入shift+`(即输入~)大小写互相转化,并往后移动。

7.r + 字符 ->替换字符

命令模式下输入 r+字符 替换光标所在字符为你输入的字符。n + r + 字符替换逛遍所在字符后的n个字符为你输入的字符,如 3 + r + x 如下

8.x ->删除字符

命令模式下输入 x 代表删除字符。 n + x向后删除n个字符

9.u和ctrl + r ->撤销与恢复

命令模式下输入u 代表撤销之前的编辑操作,ctrl + r 代表恢复刚刚的撤销(套娃)。

10.shift + 3(小键盘) ->搜索

命令模式下输入 shift+3(即#)以名搜索文件中的重复内容,跟之前底行模式**/ + 关键字** 不一样。区别如下,底行模式**/ + 关键字**式会搜索出fun1和fun2,命令模式shift+3不会。

四、替换模式

命令模式下输入 shift+r 进入到替换模式,在此模式下进行修改都是替换。

五、视图模式

输入 ctrl + v 进入视图模式。

批量注释:ctrl + v -> j/k按键上下选中区域 -> shift + i ->// + Esc。具体操作如下

批量取消注释:ctrl +v ->hjkl选中区域 ->d

六、vim的多文件编译

vim在底行模式下输入vs + 文件名可以进行多文件的编译。

光标在哪个文件,就表示在编辑哪个文件,输入ctrl+ww可以将光标跳转到另外的文件中。

相关推荐
Michaelwubo38 分钟前
Docker dockerfile镜像编码 centos7
运维·docker·容器
远游客071344 分钟前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<44 分钟前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟1 小时前
centos-stream9系统安装docker
linux·docker·centos
好像是个likun1 小时前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器
超爱吃士力架1 小时前
邀请逻辑
java·linux·后端
cominglately4 小时前
centos单机部署seata
linux·运维·centos
魏 无羡4 小时前
linux CentOS系统上卸载docker
linux·kubernetes·centos
CircleMouse4 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
Karoku0664 小时前
【k8s集群应用】kubeadm1.20高可用部署(3master)
运维·docker·云原生·容器·kubernetes