Linux开发工具--vim

news2024/12/23 9:42:33

Linux开发工具--vim

  • 一、vim的基本概念
  • 二、常见命令
  • 三、简单配置vim
    • 配置文件的位置
    • 常用配置选项,用来测试
    • 使用插件

一、vim的基本概念

vim编辑器,只负责写代码,vim是一款多模式的编辑器
vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下

在这里插入图片描述
1.正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进去Insert mode下,或者到last line mode

2.插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。该模式是后面用的最频繁的编辑模式。

3.底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。

二、常见命令

yy   //将当前光标所在行,复制  nyy  //n表示具体的数字
p   //将复制行进行粘贴  np     //n表示具体的数字
u   //撤销操作
ctrl+r   //撤销u操作
shift+g   //光标定位到文件的结尾
gg      //光标定位到文件的最开始
n+shift+g   //光标定位到文件的任意行
shift+6^//将光标定位到当前行的最开始
shift+4($)    //将光标定位到当前行的最结尾
w,b          //以单词为单位进行光标的前后移动
h,j,k,l     //左,下,上,右
dd     //将当前光标所在的行,剪切(删除)ndd
shift+~   //大小写切换
shift+r   //进入替换模式
r     //替换光标所在的字符,支持nr
x or X (shift)  //删除光标所在的字符,包括之前或者之后  nx

底行模式

set no/nonu    //打开行号,或者取消行号
vs            //文件名:分屏操作
w             //写入,w!(强制写入)
q             //退出,q!(强制退出)
:!cmd         //(cmd表示要执行的命令),不退出vim执行对应的命令(执行命令行,编译,运行,查看man)等
ctrl按着不动,w快速按两下    //进行左右分屏切换

三、简单配置vim

配置文件的位置

1.在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
2.而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
3.切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
4.打开自己目录下的.vimrc文件,执行 vim .vimrc

常用配置选项,用来测试

1.设置语法高亮: syntax on
2.显示行号: set nu
3.设置缩进的空格数为4: set shiftwidth=4

使用插件

要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完善配置,保证用户是你要配置的用户。
如果自己不想配置,可以进入下面这个网站一键进行配置,其中包含了常用的一些操作。

链接: https://gitee.com/HGtz2222/VimForCpp?_from=gitee_search

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

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

相关文章

patchless amsi学习(上)

传统的通过patch内存AmsiScanBuffer,这个网上有很多文章,而且相对也比较简单,这里就不再解释了,但是patch这个动作势必会有一定的敏感性,比如你需要修改关键位置内存属性。本文要讲的是无需patch的方式绕过amsi。 前置知识-硬件断…

wordpress:6.3的docker部署和k8s部署方式

wordpress:6.3的docker部署 一.docker部署mysql5.7数据库 docker pull mysql:5.7 mkdir -p /data/mysql/data /data/mysql/logs /data/mysql/conf touch /data/mysql/conf/my.cnf docker run --restartalways -p 13306:3306 --name mysql -v /data/mysql/conf:/etc/mysql/con…

极兔速递物流查询,用表格导出单号的每一条物流信息

批量查询极兔速递单号的物流信息,并以表格的形式导出单号的每一条物流信息。 所需工具: 一个【快递批量查询高手】软件 极兔速递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的朋友记得先注册…

探索太空深渊:计算机技术在航天领域的无限可能

探索太空深渊:计算机技术在航天领域的无限可能 一、引言 在21世纪的科技浪潮中,太空探索和计算机技术无疑是两个最为璀璨夺目的领域。它们各自的发展都足以改变人类社会的未来,而当这两者交汇时,所激发出的创新和变革更是超乎我…

Java stream 进阶版

1、Stream 概述 Java 8 引入了 Stream API,它是一种用于简化集合和数组操作的强大工具。Stream API 允许我们将集合或数组视为流,并在流上进行各种操作,如筛选、排序、聚合等。 Stream API 的核心概念是 Stream 流,它代表了一个数据流,其中包含了一系列的元素。这些元素…

使用JSON-Server快速搭建RESTful API接口

​​​​​​​ 概要 随着前端技术的快速发展,前后端分离已经成为了一种趋势。在前后端分离的架构中,前端需要与后端进行数据的交互,这就需要后端提供RESTful API接口。而在开发过程中,我们常常需要模拟后端数据接口&#xf…

大数据CloudSim应用实践

CloudSimExampleA.java 1准备 1.1操作系统 本实验在Windows 7 或Windows 10系统运行均可。 1.2软件 cloudsim-3.0.3.zip; commons-math3-3.2-bin.zip; jdk-8u152-windows-x64.exe; eclipse-jee-neon-3-win32-x86_64 所需资料链接&#xff1…

Python开发工具PyCharm v2023.3全新发布——全面推出AI Assistant工具

JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。 PyCharm v2023.3正式版下载 在 PyCharm 2023.3 中,每…

C语言实现Hoare版快速排序(递归版)

Hoare版 快速排序是由Hoare发明的,所以我们先来讲创始人的想法。我们直接切入主题,Hoare版快速排序的思想是将一个值设定为key,这个值不一定是第一个,如果你选其它的值作为你的key,那么你的思路也就要转换一下&#xf…

数据手册Datasheet解读-肖特基二极管笔记

数据手册Datasheet解读笔记1-肖特基二极管 数据手册大体结构共包含10个部分肖特基二极管-SS14第一重点关注点:极限值第二重点关注点:电气特性 数据手册大体结构共包含10个部分 1.Features一特性 2.Application一应用 3.Description一说明4.Pin Configur…

c语言链表的基本操作

在C语言中,链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。链表的基本操作包括创建、插入、删除和遍历等。 下面是一个简单的链表节点结构体定义: struct Node { int da…

【DataSophon】大数据管理平台DataSophon-1.2.1安装部署详细流程

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&am…

扁平化菜单功能制作

网页效果&#xff1a; HTML部分&#xff1a; <body><ul class"nav"><li><a href"javascript:void(0);">菜单项目一</a><ul><li>子菜单项01</li><li>子菜单项02</li><li>子菜单项03<…

【c语言】【visual studio】动态内存管理,malloc,calloc,realloc详解。

引言&#xff1a;随着大一期末的到来&#xff0c;想必许多学生都学到内存的动态管理这一部分了&#xff0c;看望这篇博客后&#xff0c;希望能解除你心中对这一章节的疑惑。 (・∀・(・∀・(・∀・*) 1.malloc详解 malloc的头文件是#include <sdtlib.h>,malloc - C Ref…

Web基本架构与Web攻击介绍(SQL注入、XSS、CSRF)

目录 Web基础 Web服务器介绍 Web攻击 SQL注入攻击——针对网站数据库的攻击 XSS跨站脚本攻击——针对用户浏览器的攻击 CSRF跨站请求伪造攻击——针对用户浏览器的攻击 三种攻击方式的区别 Web基础 什么是Web Web指的是万维网&#xff08;World Wide Web&#xff09;&…

JJJ:组合数据类型

文章目录 序列的索引及切片操作 p42序列的相关操作 p43 序列的索引及切片操作 p42 序列&#xff1a; 一个用于存储多个值的连续空间 每个值都对应一个整数的编号&#xff0c;叫做索引 索引分为&#xff1a;正向递增索引、反向递减索引 序列结构实例&#xff1a; 字符串、 列…

AOP切入点表达式和使用连接点获取匹配到的方法信息

目录 第一种 execution(访问修饰符? 返回值 包名.类名.?方法名(方法参数) throws 异常?) 第二种 annotation(com.itheima.anno.Log 首先&#xff0c;自定义一个注解&#xff0c;可以自己随意命名&#xff1a; 第一种 execution(访问修饰符? 返回值 包名.类名.?方法名…

zookeeper4==zookeeper源码阅读,FOLLOWER收到了需要LEADER执行的命令后各节点会执行什么

上面已经阅读并观察了节点确定自己的身份后会做些什么&#xff0c;大致就是比对双方信息然后完成同步。 本篇阅读&#xff0c; FOLLOWER收到了需要LEADER执行的命令后&#xff0c;怎么同步给LEADER的&#xff0c;并且LEADER会执行什么操作。 源码启动zkCli用于测试 将原本的代…

解决PP材质粘合问题用PP专用UV胶水

PP材料已经广泛应用于各行各业&#xff0c;在粘接中会有不同的问题需求&#xff0c;那么使用专用于PP的UV胶水可能是解决PP材质粘合问题的一种有效方法。 主要在于&#xff1a;UV胶水在紫外线照射下可以快速固化&#xff0c;形成坚固的连接。所以使用PP专用UV胶水时可以考虑&am…

如何在Docker部署draw.io流程图软件并实现公网远程访问

前言 提到流程图&#xff0c;大家第一时间可能会想到Visio&#xff0c;不可否认&#xff0c;VIsio确实是功能强大&#xff0c;但是软件为收费&#xff0c;并且因为其功能强大&#xff0c;导致安装需要很多的系统内存&#xff0c;并且是不可跨平台使用。所以&#xff0c;今天给…