Linux编辑器vim(含vim的配置)

在这里插入图片描述

文章目录

  • 前言
  • vim的基本概念
  • vim基本操作
    • 进入vim
    • 模式切换
    • 退出vim
  • vim指令
    • vim命令模式指令
    • vim底行模式命令
  • 简单vim配置

前言

本篇文章,小编将介绍Linux编辑器–>vim以及vim的配置。

vim的基本概念

  • 正常/普通/命令模式(Normal mode)
    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
  • 插入模式(Insert mode)
    -只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
  • 底行模式(last line mode)
    文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes

在这里插入图片描述

vim基本操作

进入vim

创建一个新的文件,如:text.c文件

通过指令 vim text.c即可进入vim界面

进入vim界面内你是无法进行编辑的,此时是正常模式,只有进入插入模式才可进行编辑

注意:在没有创建text.c文件的前提下,使用指令 vim text.c也是可以直接进入的。在退出的时候,如果直接退出,那么没有保存text.c文件,在当前目录下,是没有text.c文件的;如果在vim界面内保存退出,在当前目录下就可以看到text.c文件。

模式切换

刚刚说了,刚进入vim界面是无法进行编辑,处于正常模式,所有指令都是命令

  • 命令模式–>插入模式

输入a:进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字。
输入o:进入插入模式后,是插入新的一行,从行首开始输入文字。
输入i:进入插入模式后,是从光标当前位置开始输入文件。

在这里插入图片描述

如上图所示,按完i后,左下角会有一个-- INSERT --字样,表示已经进入插入模式,可以进行编辑。

  • 插入模式–>命令模式

按键盘左上角Esc键即可

注意:切换到命令模式都是按Esc

  • 命令模式–>底行模式

按下键盘shift+;,实际上就是:

如上图所示,有一个,表明已进入底行模式

  • 底行模式–>命令模式

按键盘左上角Esc键即可

注意:底行模式和插入模式之间无法切换

在这里插入图片描述

退出vim

vim界面有些特殊,鼠标都不起作用,那么如何退出呢?

首先进入底行模式,一下指令是退出操作:

  • : w (保存当前文件)
  • : wq (输入「wq」,存盘并退出vim)
  • : q! (输入q!,不存盘强制退出vim)

vim指令

vim命令模式指令

  • 移动光标

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
「G」:移动到文章的最后
「 $ 」:移动到光标所在行的“行尾”
「^」:移动到光标所在行的“行首”
「w」:光标跳到下个字的开头
「e」:光标跳到下个字的字尾
「b」:光标回到上个字的开头
「#l」:光标移到该行的第#个位置,如:5l,56l
[gg]:进入到文本开始
[shift+g]:进入文本末端
「ctrl」+「b」:屏幕往“后”移动一页
「ctrl」+「f」:屏幕往“前”移动一页
「ctrl」+「u」:屏幕往“后”移动半页
「ctrl」+「d」:屏幕往“前”移动半页

  • 删除文字
    「x」:每按一次,删除光标所在位置的一个字符
    「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
    「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
    「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
    「dd」:删除光标所在行
    「#dd」:从光标所在行开始删除#行

  • 复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

  • 替换

「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

  • 撤销上一次操作
    「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回
    复。
    「ctrl + r」: 撤销的恢复

  • 更改

「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字

  • 跳到指定的行

「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首

vim底行模式命令

  • 列出行号
    「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

  • 跳到文件中的某一行
    「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

  • 查找字符
    「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
    「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

  • 保存文件
    「w」: 在冒号输入字母「w」就可以将文件保存起来

  • 离开vim
    「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
    「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

简单vim配置

我们在vim下写代码,会有很多问题,如:无法自动缩进,不能补齐括号等问题,在编程中带来不便。为了解决这一问题,我们需要去配置一下我们的vim,这样才能使得vim使用起来更加方便。

配置项一般都放在用户家目录下的.vimrc文件中,.vimrc就叫做配置文件,家目录中如果没有这个文件可以自行创建一个touch .vimrc,然后可以将配置项写入.vimrc文件中。

在这里,向大家简单介绍几个常见的配置:

set nu//设置行号
syntax on//语法高亮
set showmode//底部显示当前处于什么模式
set cursorline//显示行号下划线
set shiftwidth=4//设置缩进的空格数为4
……

但是,有了这些配置依然远远不够,还需要安装插件。

下面给大家展示一下我的配置好的vim:

在这里插入图片描述
可以自动补齐,自动缩进等,和VS没什么太大差别啦

这里的自动化配置方案读者可以私信小编,小编将为大家提供。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

云贝教育 |【分享课】1月25日Oracle分享主题:Oracle 单实例DG

分享主题:Oracle 19c 单实例DG-1 讲师:刘峰 直播时间:1月25日周四19:30 直播平台:微信视频号 云贝学院

(更新)“高铁开通”地级市-多期DID工具变量(2000-2022年)

参照卞元超(2019)、邓慧慧(2020)、汪克亮(2021)等人做法,将开通高铁的城市作为处理组,未开通高铁的城市作为对照组。地级市开通高铁之后的DID赋值为1,未开通则赋值为0 一…

云计算中的出口数据是指什么?

谷歌云(Google Cloud)近日宣布了一项重大政策变动,决定免除那些选择终止使用其服务并将数据迁移到其他云服务商或本地环境的客户的出口数据费用(数据导出费用)。 这一举措由谷歌云平台负责人阿米特扎维里(A…

docker 基础手册

文章目录 docker 基础手册docker 容器技术镜像与容器容器与虚拟机docker 引擎docker 架构docker 底层技术docker 二进制安装docker 镜像加速docker 相关链接docker 生态 docker 基础手册 docker 容器技术 开源的容器项目,使用 Go 语言开发原意“码头工人”&#x…

SpringBoot责任链与自定义注解:优雅解耦复杂业务

引言 责任链模式是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者处理请求。在实际应用中,责任链模式常用于解耦发送者和接收者,使得请求可以按照一定的规则被多个处理者依次处理。 首先,本…

【LeetCode】104. 二叉树的最大深度(简单)——代码随想录算法训练营Day16

题目链接:104. 二叉树的最大深度 题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例…

Docker网络配置与自定义IP容器通信

目录 前言 一、docker网络配置 1. bridge 虚拟网桥 2. host 网络模式 3. none 网络模式 4. 自定义container网络模式 二、自定义IP容器通信 1. 自定义IP 2. 创建所需容器(mysql,tomcat) 3. 准备项目资源 4. 构建Nginx实现负载均衡…

垃圾回收小程序:环保与便捷的完美结合

一、引言 随着科技的发展,移动应用程序已经成为人们日常生活中不可或缺的一部分。其中,废品回收小程序以其独特的价值和功能,日益受到人们的关注和青睐。本文将探讨废品回收小程序开发的重要性、功能特点、技术实现和未来发展趋势。 二、废…

AOP切面

什么是Spring的AOP AOP在spring中又叫“面向切面编程”,它可以说是对传统我们面向对象编程的一个补充,从字面上顾名思义就可以知道,它的主要操作对象就是“切面”,所以我们就可以简单的理解它是贯穿于方法之中,在方法…

springboot家乡特色推荐系统源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括家乡特色推荐的网络应用,在外国家乡特色推荐系统已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。家乡特色推荐系统采用java技术&#xff0…

E3 基于Mysql的SQL应用和存储过程

一、实验目的: Mysql平台要求你熟练使用MySQL基本指令,完成对程序的控制与管理,并根据要求写存储过程。 二、实验要求: 1、基本硬件配置:英特尔Pentium III 以上,大于4G内存; 2、软件要求:Mysql; 3、时间:1小时; …

ggplot2 -- x轴相关操作

文章目录 刻度标签倾斜替换x轴刻度标签改变X刻度标签大小及颜色 演示数据集 library(ggplot2)# 示例数据 data <- data.frame(x 1:5,y c(3, 5, 2, 7, 4) ) data # x y #1 1 3 #2 2 5 #3 3 2 #4 4 7 #5 5 4刻度标签倾斜 p1 <- ggplot(data, aes(x x, y y)) geom_bar…

产品解读 | 新一代湖仓集存储,多模型统一架构,高效挖掘数据价值

星环科技TDH一直致力于给用户带来高性能、高可靠的一站式大数据基础平台&#xff0c;满足对海量数据的存储和复杂业务的处理需求。 同时在易用性方面持续深耕&#xff0c;降低用户开发和运维成本&#xff0c;让数据处理平民化&#xff0c;助力用户以更便捷、高效的方式去挖掘数…

【Kafka】Kafka安装:Linux本地和Docker

目录 Linux本地安装kafkajava环境配置Zookeeper的安装配置Kafka的安装与配置生产与消费 Docker安装kafkaZookeeper安装Kafka安装 Linux本地安装kafka java环境配置 1、上传jdk-8u261-linux-x64.rpm到服务器并安装&#xff1a; rpm -ivh jdk-8u261-linux-x64.rpm2、配置环境变…

WorkPlus移动应用管理平台,助力企业实现高效移动办公

在移动办公成为当今工作方式的主流趋势下&#xff0c;管理和运营企业移动应用成为了提高工作效率和数据安全的重要环节。而移动应用管理平台作为实现移动办公高效管理的关键工具&#xff0c;WorkPlus以其领先的性能和全面的功能&#xff0c;助力企业实现高效移动办公。 为何选…

DP读书:在常工院的2023年度总结

DarrenPig的年度总结 这是最好的时代&#xff0c;这是最坏的时代。——狄更斯 这是最好的时代&#xff0c;这是最坏的时代。——狄更斯 这是最好的时代&#xff0c;这是最坏的时代。——狄更斯 一、2023我的感受 不就是2023吗&#xff0c;不就是一年的经历吗&#xff0c;大家…

如何使用Docker部署导航页工具Dashy并实现任意浏览器远程访问——“cpolar内网穿透”

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…

小红书商品笔记发布流程,如何避免盘营销

随着平台营销内容不断被管制&#xff0c;商品笔记慢慢出现在了人们的视野&#xff0c;这同时也意味着达人和品牌方们&#xff0c;可以名正言顺的在笔记内容中植入产品。商品链接的开通意味着&#xff0c;不管是达人还是品牌转化率都会进一步提升&#xff0c;今天来马文化传媒和…

AIGC:让生成式AI成为自己的外脑(文末送书)

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;数据结构、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. 什么是AIGC?二. AIGC如何运作&#xff1f;2.1 步骤一&#xff1a;收集数据2.…

仅使用 Python 创建的 Web 应用程序(前端版本)第06章_登录页面

从本章开始,我们将创建每个页面。 本栏的例子 可以访问这里, WTS 首先是登录页面。 完成后的图像如下 创建过程如下 No类型内容1Model创建继承BaseDataModel的数据类User、Session2MockDB创建用户表并添加管理员/成员用户3Service创建AuthAPIClient、UserAPIClient4Page定义…