【Linux系统编程】开发工具yum和vim--2

简介: 【Linux系统编程】开发工具yum和vim--2

【Linux系统编程】开发工具yum和vim--1https://developer.aliyun.com/article/1424669

二,vim工具的开发

1,vim的介绍

       vim是一款多模式的编译器,用来实现各种高级语言的实现。它里面还有很多的子命令,用来进行代码的编写操作。语法:vim [文件] 即可进入。


vim code.c //对文件code.c进行编辑,没有此文件将自动创建


       当使用高级语言对文档进行编辑完成时,使用 gcc 可对C语言的文件进行编译生成可执行文件,然后直接输入此文件即可执行该文件的内容。(这里要注意的是其它语言需用不同的工具进行编辑,gcc只能对C语言进行编辑)

gcc code.c //对code.c文件进行编辑,假设生成a.out可执行程序
./a.out //执行该可执行文件

       在vim中,有多种多样的模式,这些模式分别执行不同的对应功能,常用的模式分别为:命令模式、插入模式、底行模式、替换模式。这些模式分别完成不同的工作,若想查看所有模式,只需在底行模式中输入 help vim-modes 即可查看所有vim模式和功能。


:help vim-modes //将会显示所有vim模式


2,模式的使用

       命令模式:命令模式是vim打开时默认的模式,在此模式中所有的输入都被当做命令来看待,在此指令中也有可能误碰了模式切换的命令。


       插入模式:在命令模式中,按 “ i ” 键可在当前的光标下进入插入模式,按 “ a ” 键可将光标向前移动一个单位进入插入模式,按下 “ o ” 键可直接在当前的行列进行换行并进入插入模式,总的来说按下 “ a、i、o ” 即可进入插入模式,要想回到命令模式,按下键盘中左上角的 “ Esc ” 即可。在插入模式中,我们可对文件进行编辑工作。


       底行模式:在命令模式中,按下 “ Shift + ; ” 键(即:“ : ” 键)即可进入底行模式。


       替换模式:在命令模式中,输入 “ Shift + r ”键(即:“ R ”键)可进入替换模式。在替换模式中,我们在光标位置下输入的数据将会替换原本的内容。


命令模式:


       命令模式通常是用规定的指令来对编辑的内容进行控制,下面是一些命令模式中的指令。


a505806908db48f39a79e5723568c3ea.png


       在命令模式中还有 “ ZZ ” 可直接保存退出文档,但这种指令有未知风险,不建议使用,所以在这里我们就不加上去了,了解即可。


插入模式:


       在插入模式中,唯一要注意的是异常退出vim文档的情况。


       当我们正在进行编辑工作时,该文档一但异常退出,如关机机器,外在因素直接退出等,系统会产生一个异常文件,再次用 vim 进入此文件时会显示此异常文件。此异常文件是保留原有数据的文件,这时,只需按下 “ R ” 键即可恢复上一次新增的内容。要想删除此异常文件按下 “ D ” 键即可删除此异常文件,这里要注意的是,若我们直接删除此文件,上一次未保存的数据将不会恢复。此文件下面有具体选项按键说明,只需根据说明操作即可。


异常文件

656303962d834c32b4be73f02f0362ce.png



底行模式:


       底行模式跟命令模式不一样,底行模式是对整个文档进行指令控制。


       1,在底行模式中,输入 “ w ” 表示写入,也有保存的意思,“ q ”表示退出,通常输入 “ wq ”表示保存并退出。在有些复杂的情况下系统会限制你的操作,这时只需在最后输入 “ ! ” 即可表示强制操作。


:wq! // 强制保存并退出
:w! // 强制保存
:q! // 强制退出


       2,在底行模式中,输入 “ ![指令] ” 将会执行shell的指令,即不用再退出vim模式使用指令操作,直接可在底行模式中操作。


:!man scanf //执行man scanf指令,当退出指令时按任意键即可回到vim模式中


       3,当在底行模式中使用指令 vs [文件] 后系统会直接分屏,右边是我们原本文件界面,左边是此【文件】下的界面,可使用此指令来进行多界面文件的编辑,按下 “ Ctrl + ww(或WW) ” 键可使光标跳转到另一个窗口,而此文件界面在保存并退出后将创造此文件。


:vs code.c //系统分屏,左面是code.c文件,右面是原本的文件


       4,在底行模式中有个不常用的小技巧。


              (1)当输入 set nu 可显示当前文档内容的行号,输入 set nonu 将会取消行号。当退             出再进时,行号自动将取消了。


              (2)当退出vim时,像输入 vim code.c + n 进入后光标自动在第n行。


[zhu@zhujunhao ~]$ vim code.c +5 //进入后光标直接在第5行显示

批量化注释:


       批量化注释的操作分为以下5步:


1. Ctrl + v    进行格式化控制的区域    
2. hjkl         上下左右选择要注释的区域   
3. shift + i(即:I)   直接跳转,开始进行注释
4. “ // ”       进行注释 
5. Esc        将控制的区域内进行注释

       批量化取消注释有以下3步:


1. Ctrl + v    进行格式化控制的区域    
2. hjkl         上下左右选择要注释的区域   
3,d           进行取消注释,若按下 “ D ” 将会直接删除所选区域的每行数据


3,vim配置文件

       vim专属配置文件的名称为vimrc,注意,原本系统下没有此文件,需要自己创建,在创建此文件时,需要将此文件设为隐藏文件,即:.vimrc,否则无效。


       在此文件中,输入一些专属指令可对vim编辑的文本进行一系列专属配置。下面我们简单介绍几种配置:


首先要说明的是liunx中,“ " ” 代表注释 
1,set nu          " 设置自动显示行号。
2,set cursorline   " 显示突出当前行,用当前光标下水平线的形式突出
3,set autoindent    " 设置自动缩进(与上一行的缩进相同)
      set cindent
4,set softtabstop=4   " 在设置自动缩进的时候设置为自动缩进4
      set shiftwidth=4
5,set tabstop=4      " “ Tab ” 键缩进空格为4 
6,set smartindent     " 提供自动缩进
7,syntax on             " 代码高亮

       这些配置东西不需要去研究,只是为了方便我们去操作,下面链接提供了专属的vim配置,功能较为齐全:VimForCpp: 快速将vim打造成c++ IDE (gitee.com)  


       安装链接里面的配置需要指令 curl,有了 curl 指令后,可直接将链接里安装方法中的指令输入即可。这里需提醒一下,强烈 "不推荐" 直接在 root 用户下安装执行。

[zhu@zhujunhao ~]$ curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

       此种安装只支持 CentOS 7 机器,其它机器不支持。


       里面配置缩进的指令我们默认为缩进为2格,对于初学者而言我们可输入 vim ~/.vimrc 指令进入专属配置文件里面,从第50行到52行的缩进2改成缩进4即可。


[zhu@zhujunhao ~]$ vim ~/.vimrc +50

4,sudo配置文件

       之前说过,sudo 指令必须要将用户配置到指定的root配置文件中才可将其视为 root 指令,此root配置文件为 /etc/sudoers 。这里注意一下,此文件的所有权限为 root 权限,要想对此操作必须要使用 root 权限。vim /etc/sudoers 进入文件后,找到第99行的 “准许在任何地方运行指令” 的操作,按照下面 root 用户操作的模式进行操作,这里要把 root 换成指定用户的名称即可。


[root@zhujunhao zhu]# vim /etc/sudoers +99
99 ## Allow root to run any commands anywhere 
100 root    ALL=(ALL)       ALL
101 zhu     ALL=(ALL)       ALL       将zhu用户添加到此配置文件中


示范样例:



cb1896fc08014385a70a7e1dc1657916.png



相关文章
|
安全 算法 Ubuntu
Linux(openssl)环境:编程控制让证书自签的技巧。
总结:在Linux环境中,OpenSSL是一个非常实用的工具,可以帮助我们轻松地生成自签名证书。通过上述三个简单步骤,即可为内部网络、测试环境或开发环境创建自签名证书。但在公共访问场景下,建议购买经过权威认证机构签发的证书,以避免安全警告。
613 13
|
11月前
|
NoSQL Linux 开发工具
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
本文介绍了yum 包管理工具、Vim 编辑器、gcc/g++ 编译器、gdb 调试器、编译原理及 Makefile 的使用,同时还配备了如何使用,以及图解。旨在帮助读者更好地理解和应用这些工具与技术。
562 0
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
1719 25
|
JavaScript Ubuntu Linux
如何在阿里云的linux上搭建Node.js编程环境?
本指南介绍如何在阿里云Linux服务器(Ubuntu/CentOS)上搭建Node.js环境,包含两种安装方式:包管理器快速安装和NVM多版本管理。同时覆盖全局npm工具配置、应用部署示例(如Express服务)、PM2持久化运行、阿里云安全组设置及外部访问验证等步骤,助你完成开发与生产环境的搭建。
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
本文详细介绍了如何在Linux中通过在业务线程中注册和处理信号。我们讨论了信号的基本概念,并通过完整的代码示例展示了在业务线程中注册和处理信号的方法。通过正确地使用信号处理机制,可以提高程序的健壮性和响应能力。希望本文能帮助您更好地理解和应用Linux信号处理,提高开发效率和代码质量。
320 17
|
8月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2035 16
|
7月前
|
存储 关系型数据库 MySQL
MySQL介绍和MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)
MySQL是一款开源关系型数据库,高性能、易用、跨平台,支持多种存储引擎,广泛应用于Web开发、企业级应用等领域。本教程介绍其特点、架构及在主流Linux系统中的安装配置方法。
1320 0
MySQL介绍和MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)
|
11月前
|
缓存 Ubuntu 前端开发
yum的安装和使用(包含安装过程中遇到的问题及解决方法)
yum的安装和使用(包含安装过程中遇到的问题及解决方法)
1763 1
yum的安装和使用(包含安装过程中遇到的问题及解决方法)
|
监控 Linux
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
731 13
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】