2-vim编辑器的安装和使用

一.常用工具介绍

前言:

我们想要编写c语言代码,可以使用linux系统提供的工具才能进行代码的编辑。代码编写后,我们还需要验证代码的书写正确。这就需要借助编译器来进行验证。linux系统为我们提供了比较好的开发工具。

vim编辑器: 书写代码的工具

gcc编译器: 编译代码的工具

二.vim编辑器的安装

1.Vim检测是否安装

##输入vivi

2.Vim安装过程

sudo apt install vim

    2-若显示以下界面,说明vim-common版本过低

     3-输入以下命令,将vim-common依赖删除sudo apt purge vim-common4-再次输入sudo apt install vim即可安装,输入Y同意,等待安装完成即可。

3.Vim配置

sudo vim /etc/vim/vimrc
##个人常用配置(其余配置可自行查找)set ai                    自动缩进,与上一行保持一致的自动空格
set ic                    在查询模型与匹配模式下忽略大小写
set number                左侧显示行号
set showmatch             显示括号配对,并高亮显示相匹配的括号
set showmode              文本输入模型下,加亮显示模式指示器
set showcmd               在状态栏显示所执行的指令,未完成的指令片段
set warn                  长行显示自动折行
set cindent               以C/C++模式缩进
set ruler                 打开状态栏标尺
set scrolloff=6           设置光标离窗口上下6行时窗口自动滚动
set tabstop=4             设置Tab长度为4
set wrap                  自动换行显示
syntax enable
syntax on                 自动语法高亮

三.编辑器的基本操作

假设有一个hello.c的文件

模式                                                                        使用方法

命令模式                                                                 vim+hello.c默认打开的,默认不能书写带代                                                                                       码,只能进行复制粘贴等操作

插入模式                                                                 按下小写的i键,在终端的左下角会出现一个                                                                                      insert的关键字,可以进入插入模式,书写代码

底行模式                                                                 代码书写完毕,按下esc退出插入模式。再按下                                                                                  shift+:可以使用以下指令

                                                                               w:保存  write的缩写

                                                                               q:退出 quit的缩写

                                                                               a: 所有  all的缩写

                                                                               i: 强制执行

                                                                               常用指令:wq  q!

1.vim编辑的高级操作

注:以下操作要求在命令模式下进行(按下esc,可进入命令模式)

           a.vim切换命令

命令                                                                      功能

a                                                                         (Append)进入编辑状态,从当前光标之的位置开始插入键盘输入的字符

i                                                                            (Insert)  进入编辑状态,从当前光标之的位置开始插入键盘输入的字符

o                                                                          (open)  进入编辑状态,并插入新的一行,光标移到该新行的行首,以后键盘输入的字符将插入到光标                                                                                   位置

esc                                                                       进入命令状态

:!command                                                       在vi中执行外部命令command,按回车键可以返回vi继续工作

                

b.vim拷贝与粘贴命令

命令                                                                        功能

[N]x                                                                        (Expurgate)删除从光标位置开始的连续N个字符(并复制到编辑缓冲区)

[N]dd                                                                      (Delete)删除从光标执行的连续N行(并复制到缓冲区)

[N]yy                                                                      (Yank)复制从光标位置开始的连续N行到编辑缓冲区

p或P                                                                     (Put)从编辑缓冲区复制文本到当前光标位置(粘贴)

u                                                                          (Undo) 取消上一次的操作(即恢复功能)

 c.vim保存与退出指令

命令                                                                        功能

:q                                                                  (Quit)退出没有修改的文件(若文件被修改了而没有保存,则此命令无效)

:q!                                                                强制退出,且不保存修改过的部分

:w                                                                    保存文件但不退出

:x                                                                     (Exit)保存文件并退出

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

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

相关文章

小刚说C语言刷题——第16讲 switch语句

在日常生活中,我们经常会遇到多分支的情况。当分支较多时,我们可以用嵌套的if-else语句。但是这样会让结构显得混乱。这个时候我们可以考虑用switch语句。 1.语法格式 switch (表达式) { case 常量表达式1: 语句1; break; case 常量表达式…

使用 Python 连接 PostgreSQL 数据库,从 `mimic - III` 数据库中筛选数据并导出特定的数据图表

要使用 Python 连接 PostgreSQL 数据库,从 mimic - III 数据库中筛选数据并导出特定的数据图表,你可以按照以下步骤操作: 安装所需的库:psycopg2 用于连接 PostgreSQL 数据库,pandas 用于数据处理,matplot…

过孔的载流能力

PCB过孔的载流能力(即能安全承载的电流大小)主要与以下因素相关: 1. 过孔的尺寸 孔径(直径):孔径越大,横截面积越大,载流能力越强。 孔壁铜厚:电镀铜的厚度&#xff08…

(done) 并行计算 CS149 Lecture2 (现代多核处理器) (SIMD, 多核, 超标量, 数据预取, 超线程)

视频 url: https://www.bilibili.com/video/BV1du17YfE5G?spm_id_from333.788.videopod.sections&vd_source7a1a0bc74158c6993c7355c5490fc600&p2 大佬笔记 url: https://zhuanlan.zhihu.com/p/8129089606 先看视频: Lecture 0 ~ 28min 的内容基本就是 c…

Leetcode 3508. Implement Router

Leetcode 3508. Implement Router 1. 解题思路2. 代码实现 题目链接:3508. Implement Router 1. 解题思路 这一题就是按照题意写作一下对应的函数即可。 我们需要注意的是,这里,定义的类当中需要包含以下一些内容: 一个所有i…

Linux: 系统内核中的信号

目录 一 前言 二 信号在内核中的表示 三 sigset_t 四 信号集操作 1. sigpending() 2. sigemptyset() 3. sigfillset() 4. sigaddset ()和sigdelset() 5. sigismember() 6. sigprocmask() 五 深入理解信号的捕捉流程 一 前言 在Linux: 进程信号初识-CSDN博客信…

Nginx-keepalived-高可用

Nginx 高可用 通常 借助 Keepalived 实现, Keepalived 能通过 VRRP (虚拟路由冗余协议)让多个 Nginx 服务器 组成一个 热备集群,当主服务器故障时自动切换到备用服务器,保障服务不间断。 一、环境准备 角色IP 地址主…

使用python完成手写数字识别

入门图像识别的第一个案例,看到好多小伙伴分享,也把自己当初的思路捋捋,写成一篇博客,作为记录和分享,也欢迎各位交流讨论。 实现思路 数据集:MNIST(包含60,000个训练样本和10,000个测试样本) 深度学习框架:Keras(基于TensorFlow) 模型架构:卷积神经网络(CNN) 实…

Java学习总结-多线程-三种创建方法

什么是线程? 线程(Thread)是程序内部的一条执行流程。 程序如果只有一条执行流程,那这个程序就是单线程程序。 什么是多线程? 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行…

电动垂直起降飞行器(eVTOL)

电动垂直起降飞行器(eVTOL)的详细介绍,涵盖定义、技术路径、应用场景、市场前景及政策支持等核心内容: 一、定义与核心特性 eVTOL(Electric Vertical Take-off and Landing)即电动垂直起降飞行器&#xf…

ensp 网络模拟器 思科华为基于VLANIF的公司网络搭建

该文章仅记录作业配置过程 如有雷同纯属巧合 一. 其它(共1题,100分) 1. (其它) 为大学生公司创建部门VLAN 1.项目 背景 为大学生公司现有财务部、技术部和业务部,出于数据安全的考虑,各部门的计算机需进行隔离。公…

使用`sklearn`中的逻辑回归模型进行股票的情感分析,以及按日期统计积极和消极评论数量的功能

以下是完成上述任务的Python代码,可在Jupyter Notebook中运行。此代码包含了使用sklearn中的逻辑回归模型进行情感分析,以及按日期统计积极和消极评论数量的功能。 import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer f…

oracle批量删除分区

为了清理数据,往往需要删除一些分区 简单查看当前分区 附件 --创建测试表 -- drop table test_part purge;CREATE TABLE test_part (sales_id NUMBER,sale_date DATE,amount NUMBER ) PARTITION BY RANGE (sale_date) INTERVAL (INTERVAL 1 MONTH) -- 每个月创建…

java流程控制08:For循环

For循环 虽然所有循环结构都可以用while或者do…while表示,但Java提供了另一种语句-----for循环,使一些循环结构变得更加简单。 for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。 for循环执行的次数是在执行前就确定的。…

嵌入式软件开发调试方法

文章目录 1. 利于函数返回值,retrurn 定位错误位置2. 合理使用逻辑分析仪(正点原子 厉害!!) 1. 利于函数返回值,retrurn 定位错误位置 如下图所示,设置不同的返回值,0是ok的,其他值均为失败&…

P1025 [NOIP 2001 提高组] 数的划分(DFS)

题目描述 将整数 n 分成 k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。 例如:n7,k3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1. 问有多少种不同的分法。 输入格式 n,k …

设计模式简述(三)工厂模式

工厂模式 描述简单工厂(静态工厂)工厂方法模式 抽象工厂增加工厂管理类使用 描述 工厂模式用以封装复杂的实例初始化过程,供外部统一调用 简单工厂(静态工厂) 如果对象创建逻辑简单且一致,可以使用简单工…

批量将 JSON 转换为 Excel/思维导入等其它格式

json 格式相信对大家来说都不陌生,这是一种轻量级的结构化数据,可以对对象进行描述。json 格式也是一种普通的文本文件格式,用记事本就能够打开编辑 json 格式的文件,可以很方便的转换为其他格式。今天要给大家介绍的就是如何将 j…

电脑有时出现检测不到音箱设备怎么办?

问题 有时候电脑开机之后就检测不到音箱,经过我一顿检查发现是检测不到声卡,即使拔插了音箱也没用,但是当我重启或者休眠之后再重启发现就检测到了 解决方案 方案一 重启或者休眠之后再开启 方案二 使用powershell指令将声卡弹出和载入…

Qwen-Agent框架的文件相关操作:从Assistant到BasicDocQA

在前面的几篇文章如《针对Qwen-Agent框架的Function Call及ReAct的源码阅读与解析:Agent基类篇》 、《基于Qwen-Agent框架的Function Call及ReAct方式调用自定义工具》、 《针对Qwen-Agent框架的源码阅读与解析:FnCallAgent与ReActChat篇》中&#xff0c…