Linux编辑器vim

目录

一、vim的几种模式

1、命令模式

2、编辑/插入模式

3、底行模式

①增加行号

②分屏操作

③不退出vim执行命令

4、替换模式

二、vim的常见命令

1、yy命令

2、p命令

3、dd命令

4、u命令

5、Ctrl + r命令

6、shirt+g命令

7、gg命令

8、shirt+6命令

9、shirt+4命令

10、w,b命令

11、h,j,k,l命令

12、shirt + ~

13、r命令

14、x或shirt + x命令

三、关于vim的配置


vim是一款多模式的编辑器

vim是编辑器,所以只负责写代码

vim要打开文件,直接在vim后面跟上文件名即可


vim也可以创建文件

本身不存在temp.c,但是vim temp.c后,保存并退出后(底行模式下输入wq)就存在这个temp.c文件了


一、vim的几种模式

1、命令模式

我们进入vim,默认打开的模式就是命令模式

2、编辑/插入模式

在命令模式下输入i,就进入了编辑/插入模式

vim编辑器的左下角出现insert的标志,就说明在编辑/插入模式中

进入编辑/插入模式后,正常编写代码即可,如:

如果想从编辑/插入模式回退到命令模式,按键盘的ESC按键(左上角按键)即可

3、底行模式

在命令模式下进行shirt + :的操作,进入到底行模式

vim编辑器的左下角出现一个:的标志,就说明此时在底行模式中

然后输入wq即可保存并退出vim

w指保存,q指退出,wq就是保存且退出

如果有其他情况无法退出或保存,w!或q!表示强制保存或强制退出,!就是强制的意思

而如果想从底行模式回退到命令模式,按键盘的ESC按键(左上角按键)即可


①增加行号

在底行模式下可以增加行号

输入set nu

取消行号输入set nonu

 


②分屏操作

底行模式下输入:vs + 文件名

Ctrl + w + w 光标在左右屏之间切换,也就是按住ctrl后连续按两次w

w:写入(w!强制写入)

q:退出(q!强制退出)

例如:当前输入了vim temp.c

在底行模式下输入vs mytest.c

这时就会进行分屏操作,一边是mytest.c,一边是temp.c

此时光标在哪个文件中,底行模式输入的指令就是对哪个文件执行的

如图就是光标在mytest.c文件中,所以输入的指令都是在mytest.c文件中执行


③不退出vim执行命令

底行模式下输入:! + cmd(对应的指令)

输入!ls -al就是在不退出vim的情况下,显示当前路径下的文件

然后按回车键即可返回vim页面

在不退出vim的情况下进行指令的操作还是有些好处的,比如:

可以在vim编辑器中就进行gcc,检验是否出错

如果编写代码时忘记接口功能,可以使用man在不退出的情况下进行查看


总结一下:命令模式可以通过操作切换到编辑/插入模式或底行模式编辑/插入模式或底行模式按ESC按键即可回退到命令模式中但是编辑/插入模式和底行模式不能直接进行切换,必须要回退到命令模式后再切换


4、替换模式

在命令模式下进行shirt + r的操作,进入到替换模式

vim编辑器的左下角出现一个replace的标志,就说明此时在替换模式中

这时在光标所在位置输入代码,会直接替换掉原位置的代码,不会受原位置代码的影响

同样如果想从替换模式回退到命令模式,按键盘的ESC按键(左上角按键)即可


二、vim的常见命令

注意:都是在命令模式下的常见命令

1、yy命令

将当前光标所在的行复制

也支持nyy(n代表具体数字)


2、p命令

将复制行进行粘贴

也支持np(n代表具体数字)


例如:

当前在光标所在行,命令模式下输入yy,再输入p,就变为:

而nyy与np也和这个操作一样,例如原本是这三行内容:

我们输入3yy,输入2p

3yy就是复制这三行内容,2p就是复制两次这三行内容


3、dd命令

将当前光标所在行进行剪切(删除)

这里也支持ndd(n代表具体数字)

只进行dd操作,就是删除作用,如果dd和p结合使用,就有了剪切的作用


 

4、u命令

u就是撤销刚刚的操作

比如刚刚3yy+2p后,按一下u就变为下图所示的情况:


5、Ctrl + r命令

Ctrl+r就是撤销u的操作

也就是刚刚u操作后后悔了,所以撤销刚刚做的撤销操作

比如刚刚u操作撤销了3yy+2p的操作,但是我后悔这个撤销操作,想恢复这个撤销操作前的代码,这时按Ctrl+r即可恢复,即:


6、shirt+g命令

光标定位到文件的结尾

也支持 n + shirt + g,表示光标定位到第n行

比如想让光标出现在第50行

那就在命令模式下先输入50,在shirt+g即可


7、gg命令

光标直接定位到文件的最开始

第5条和第6条命令是光标的上下移动


8、shirt+6命令

将光标定位到当前行的最开始


9、shirt+4命令

将光标定位到当前行的最结尾


10、w,b命令

以单词为单位进行光标的前后移动

第7、8、9条命令是光标的左右移动


11、h,j,k,l命令

hjkl这四个键就是对应的左下上右四个方向操作

h:左;j:下;k:上;l:右

因为老式键盘就是这四个键表示的上下左右,所以延续至今


12、shirt + ~

光标所在位置挨个进行大小写切换

即大写变为小写,小写变为大写

原本是这样:

shirt+~后,变为:


13、r命令

替换光标所在的字符

也支持nr(n代表具体数字)

nr就是表示替换从光标所在位置开始的n个字符


14、x或shirt + x命令

x是删除光标所在位置的字符,shirt + x是删除光标之前位置的字符

也支持nx(n代表具体数字)

nx就是表示删除从光标所在位置开始的n个字符


三、关于vim的配置

在我们初步使用vim时会发现非常难用,因为使用vim时不会自动缩进,不会自动填补符号或括号,不会根据输入的头文件进行搜索已有的头文件之类的工作,这时我们就需要自己配置自己vim

在自己的.vimre文件中,从网上搜索vim 配置,找到自己所需要的功能,vim .vimrc后粘贴进去即可

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

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

相关文章

查看视频文件关键帧间隔

一、Elecard StreamEye Tools拖放视频文件查看。 红的是I帧;蓝的是P帧;绿的是B帧。 二、ffprobe -show_streams统计。 1、统计视频关键帧、非关键帧 ffprobe.exe -i 1.mp4 -show_streams v -show_packets -print_format json > d:\1.json 再统计1.j…

[SSM]MyBatisPlus拓展

五、拓展篇 5.1逻辑删除 在电商网站中,我们会上架很多商品,这些商品下架以后,我们如果将这些商品从数据库中删除,那么在年底统计商品的时候,这个商品要统计的,所以这个商品信息我们是不能删除的。 如果商城…

分布式锁怎么抗高并发 redis

比如,多个人下单某一个商品 怎么处理 分段加锁 合并扣减。 这里首先要让redis是集群,避开单机性能问题。 大概意思就是将商品分摊到多个服务器上,这样就减轻了单台的压力

EXPLAIN概述与字段剖析

6. 分析查询语句:EXPLAIN(重点) 6.1 概述 定位了查询慢的sQL之后,我们就可以使用EXPLAIN或DESCRIBE 工具做针对性的分析查询语句。DESCRIBE语句的使用方法与EXPLAIN语句是一样的,并且分析结果也是一样的。 MySQL中有专门负责优化SELECT语句…

Alins - 化繁为简、极致优雅的WebUI框架

最近造了个js框架 Alins,分享一下: 🚀 Alins: 最纯粹优雅的WebUI框架 English | 文档 | 演练场 | 更新日志 | 反馈错误/缺漏 | Gitee | 留言板 0 简介 0.1 前言 Alins是一款极致纯粹、简洁、优雅的Web UI框架。秉持0-API、Less is More 的…

【操作系统】电脑上没有IIS怎么办

文章目录 前言一、查看二、解决 前言 有的新机刚开始在计算机-管理-服务下没有IIS网络服务怎么办。 一、查看 桌面计算机/此电脑 鼠标右键:管理 服务和应用 发现没有IIS 二、解决 控制面板 程序和功能 启动或关闭Windows功能 IIS相关的所有功能选中&#xff…

2023年9月8日

1> 自行封装一个栈的类&#xff0c;包含私有成员属性&#xff1a;栈的数组、记录栈顶的变量 成员函数完成&#xff1a;构造函数、析构函数、拷贝构造函数、入栈、出栈、清空栈、判空、判满、获取栈顶元素、求栈的大小 #include <iostream>using namespace std;class…

selenium的Chrome116版驱动下载

这里写自定义目录标题 下载地址https://googlechromelabs.github.io/chrome-for-testing/#stable 选择chromedriver 对应的平台和版本 国内下载地址 https://download.csdn.net/download/dongtest/88314387

WorkPlus AI助理,基于ChatGPT的企业级知识问答机器人

随着人工智能技术的发展&#xff0c;WorkPlus AI助理以ChatGPT对话能力为基础&#xff0c;将企业数据与人工智能相结合&#xff0c;推出了面向企业的知识问答机器人。这一创新性的解决方案帮助企业高效管理和利用自身的知识资产&#xff0c;助力企业级人工智能的构建。与传统的…

【MySQL】数据库的约束

MySQL 数据库的约束 文章目录 MySQL 数据库的约束01 数据库的约束1.1 约束类型1.1.1 NOT NULL1.1.2 UNIQUE1.1.3 DEFAULT1.1.4 PRIMARY KEY1.1.5 FOREIGN KEY1.1.6 CHECK 继上文 MySQL基础&#xff08;一&#xff09;&#xff0c; MySQL基础&#xff08;二&#xff09;&#…

详解初阶数据结构之顺序表(SeqList)——单文件文件实现SeqList的增删查改

目录 一、线性表 二、顺序表 2.1概念及结构 2.2接口实现 2.3动态顺序表的创建 2.3动态顺序表的初始化 2.3.1传值初始化 2.3.2传址初始化 2.4动态顺序表的清空 2.5动态顺序表的扩容 2.6动态顺序表内容的打印 三、动态顺序表的使用 3.1尾插尾删 3.1.1尾插 3.1.2尾删…

基于Bert+Attention+LSTM智能校园知识图谱问答推荐系统——NLP自然语言处理算法应用(含Python全部工程源码及训练模型)+数据集

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境服务器环境 模块实现1. 构造数据集2. 识别网络3. 命名实体纠错4. 检索问题类别5. 查询结果 系统测试1. 命名实体识别网络测试2. 知识图谱问答系统整体测试 工程源代码下载其它资料下载 前言 这个项目充分利用了…

linux编辑器-vim

1.vim是什么 vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。简单的来说&#xff0c; vi 是老式的字处理器&#xff0c;不过功能已经很齐全了&#xff0c;但是还是有可以进步的地方。 vim 则可以…

前端uniapp块样式写法

<template><view class"block"><view class"block_box"><view class"block_box_content"><view class"block_box_left">左边</view><view class"block_box_right">右边</view…

线性代数的学习和整理22:矩阵的点乘(草稿)

4 矩阵乘法 A,B两个同阶同秩N阵&#xff0c;看上去结构一样&#xff0c;但两厢相乘&#xff0c;在做在右&#xff0c;地位差别巨大。 在左&#xff0c;你就是基&#xff0c;是空间的根本&#xff0c;是坐标系&#xff0c;是往哪去、能到哪的定海神针&#xff0c;是如来佛手&a…

华为云云耀云服务器L实例评测|华为云云耀云服务器L实例评测使用

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

[docker]笔记-portainer的安装

1、portainer是一款可视化的容器管理软件&#xff0c;利用portainer可以轻松方便的管理和创建容器。portainer本身是一个容器&#xff0c;完全免费并且具有汉化版。本文介绍portainer的安装和使用。 2、安装好容器并配置好容器环境&#xff0c;可参照https://blog.csdn.net/bl…

智安网络|面临日益增长的安全威胁:云安全和零信任架构的重要性

随着云计算技术的快速发展和广泛应用&#xff0c;云安全和零信任架构变得愈发重要。在数字化时代&#xff0c;云计算技术得到了广泛的应用和推广。企业和组织借助云服务提供商的强大能力&#xff0c;实现了高效、灵活和可扩展的IT基础设施。然而&#xff0c;随着云环境的快速发…

解决VSCode调试或者发布运行时闪退问题

解决方案&#xff1a;此方案不一定适合所有类型的闪退&#xff0c;但可以尝试一下。 步骤1&#xff1a;依次选择&#xff1a;文件→首选项→设置 步骤2&#xff1a;搜索 terminal.integrated.Default →找到Terminal > Integrated Default Profile: Windows选项→下拉框的…

Reinforcement Learning for Solving the Vehicle Routing Problem

Reinforcement Learning for Solving the Vehicle Routing Problem 一、背景二、模型三、公式 一、背景 本篇论文讨论一种有容量限制的版本CVRP&#xff0c;一辆有有限容量的车辆负责向地理分布的、需求有限的客户交付物品&#xff1b;当车辆的负载耗尽&#xff0c;它返回仓库…