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+ggg移动光标至开头和结尾
shift+4 和 shift+6跳转行结尾和开头
hjklh左,j下,k上,l右
w和b以单词向后移动和向前移动
yy和p和dd赋值和粘贴和剪切
shift+`大小写转化
r + 字符替换字符
删除字符
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 可以将光标跳转到另外的文件中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/601090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL四大引擎建库建表账号管理

目录 一. 数据库四大引擎 1.1 引擎查看 1.2 InnoDB引擎 1.3 MyISAM引擎 1.4 MEMORY引擎 1.5 Archive引擎 二. 数据库管理 2.1 元数据库 2.2 数据库的增删改查及使用 2.3 权限相关表 三. 数据表管理 3.1 三大范式 3.2 基本数据类型 优化原则 分类 四. 数据库账号…

Service Weaver:Google开源基于分布式应用程序开发的框架,重新定义微服务边界

大家好,我是萧楚河,公众号:golang面试经典讲解,感谢关注,一起学习一起成长。一、前言 今年6月,一群谷歌员工(由谷歌软件工程师Michael Whittaker领导)发表了一篇名为“Towards Mode…

wsl(ubuntu)创建用户

我们打卡ubuntu窗口,如果没有创建用户,那么默认是root用户 用户的增删改查 查 查询所有的用户列表 cat /etc/passwd | cut -d: -f1cat /etc/passwd: 这个命令用于显示 /etc/passwd 文件的内容。/etc/passwd 文件包含了系统上所有用户的基本信息。每一…

SpringBoot 中实现订单30分钟自动取消的策略

简介 在电商和其他涉及到在线支付的应用中,通常需要实现一个功能:如果用户在生成订单后的一定时间内未完成支付,系统将自动取消该订单。 本文将详细介绍基于Spring Boot框架实现订单30分钟内未支付自动取消的几种方案,并提供实例…

Odoo | Module | 统计系统周期使用人数/当前在线人数

文内材料 GITHUB地址 前言介绍 Odoo作为开源ERP系统的No.01,近年愈发的得到国内很多公司的关注。 虽然它的定位是中小型企业的ERP管理系统,但是在几年的Odoo开发实施过程中,有不足50人的小型企业,也有上万人的中大型企业。功能快速落地和…

ipyvizzu:一款可以绘制超级惊艳的可视化动图的 Python 工具包

今天我给大家介绍一款可视化模块,使用它可以绘制出十分惊艳的动图效果,那么当然第一步我们首先是要安装一下该模块,通过pip命令行来安装 pip install ipyvizzu牛刀小试 我们首先来简单地使用该模块来绘制一张动图,用Pandas导入数…

2024年阿里云服务器优惠活动大全,实时更新

阿里云服务器优惠活动大全包括:云服务器新人特惠、云小站、阿里云免费中心、学生主机优惠、云服务器精选特惠、阿里云领券中心等,活动上阿里云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、轻量应用服务器2核2G3M带宽轻量服务器一年61元,…

【大数据进阶第三阶段之Hive学习笔记】Hive安装

目录 1、环境准备 2、下载安装 3、配置环境变量 4、配置文件 4.1、配置hive-env.sh ​编辑4.2、配置hive-site.xml 5、上传配置jar 6、启动 1、环境准备 安装hadoop 以及 zookeeper、mysql 【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 运行环境搭建-CSDN博客 《z…

二刷Laravel 教程(用户模型)总结Ⅲ

一、数据库迁移 当我们运行迁移时,up 方法会被调用;(创建表) 当我们回滚迁移时,down 方法会被调用。(删除表) public function up() { //create 方法会接收两个参数:一个是数据…

C++string类的介绍及常用函数用法总结

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生🐻‍❄个人主页🎉:GOTXX 🐼个人WeChat:ILXOXVJE🐼本文由GOTXX原创,首发CSDN&a…

更改ERPNEXT源

更改ERPNEXT源 一, 更改源 针对已经安装了erpnext的,需要更改源的情况: 1, 更改为官方默认源, 进入frapp-bench的目录, 然后执行: bench remote-reset-url frappe //重设frappe的源为官方github地址。 bench remote-reset-url…

如何配置 VS Code 实现 git 密码免输入

目录 问题描述尝试过的失败方法问题分析最终采用的解决方案:利用 ssh key 提供密码免输入功能安装 git windows 命令工具在windows本地生成 ssh key将公钥安装到 git 服务器第一种方法第二种方法调试方法 参考资料: 问题描述 在 Windows 上,使用 Visual…

AI股票崩盘预测模型(企业建模_论文科研)ML model for stock crash prediction

对齐颗粒度,打通股票崩盘底层逻辑,形成一套组合拳,形成信用评级机制良性生态圈,重振股市信心!--中国股市新展望!By Toby!2024.1.3 综合介绍 股票崩盘,是指证券市场上由于某种原因&a…

玩机技巧|拿到新电脑or电脑重装系统后该如何设置

1、关闭权限申请 你是否碰到过,在打开一个应用时,电脑总会询问”你要允许此应用对你的设备进行更改吗?",这个或许很烦,下面我们就讲这个关闭,告别不断地请求。(此处你点击是,便…

ssm基于JSP的明水县苹果网吧计费管理系统的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本明水县苹果网吧计费管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大…

包含所有字符的最短字符串

由题还是很容易想到可以用一个哈希表来统计字符串中每个字符出现的次数。首先扫描字符串t,每扫到一个,哈希表中对应值加1。然后扫描字符串s,每扫描一个就检查哈希表中是否包含该字符,没有则忽略不计。如果存在,对应的值…

【数据结构】八大排序之快速排序算法

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.快速排序简介及思路 二.快速排序代码实现的三种方式 📌左右交换法 📌挖坑填坑法 📌前后指针法 三.快速排序的时间复杂度分析…

ssm基于HTML5的交流论坛的设计与实现+vue论文

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

【Java EE初阶九】多线程进阶一(锁策略)

前言 锁的策略:加锁过程中,即处理冲突的过程中,需要涉及到的一些不同的处理方式(此处锁策略并不是java独有的),本篇内容主要是讲解一下关于锁的相关知识点; 1. 关于锁的分组 1.1 第一组&#x…

动态内存管理:malloc free

//——————1.动态内存管理(内存空间) 共四个函数:malloc free calloc realloc 1. 为什么存在动态内存分配 我们已经掌握的内存开辟方式有: int val 20;//在栈空间上开辟四个字节 char arr[10] { 0 };//在栈空间上开…