烟台网站制作软件/河南省最新通知

目录
- 前言
- 一、包管理器
- 1.1 apt
- 1.2 yum
- 二、Linux编辑器——vim
- 2.1 vim的三种模式
- 2.2 vim普通模式常用命令
- 2.2.1 移动光标
- 2.2.2 删除
- 2.2.3 复制
- 2.2.4 注释
- 2.2.5 其他常用命令
- 2.3 vim命令行模式常用命令
- 三、配置vim
前言
一、包管理器
包管理器(Package Manager)是一种软件工具,它自动化了安装、更新、配置、移除和管理计算机程序库中软件包的过程。在操作系统和软件开发的上下文中,包管理器使得用户能够轻松管理各种软件包,包括它们的依赖关系、版本和配置,而无需手动处理复杂的安装和更新过程。这里只简单介绍两种常见的包管理器。
软件包和包管理器, 就好比 “App” 和 “应用商店” 这样的关系。
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成。
1.1 apt
- 主要使用发行版:Debian及其衍生版,如Ubuntu、Linux Mint等
- 功能:支持从软件仓库自动下载、安装、更新和卸载软件包,同时自动处理软件包之间的依赖关系
- 常用命令:
sudo apt update
:更新软件包列表,以便可以安装最新版本的软件包及其依赖项sudo apt install package_name
:安装名为package_name的软件包及其依赖项sudo apt remove package_name
:删除名为package_name的软件包,但保留其配置文件sudo apt purge package_name
:删除名为package_name的软件包及其配置文件sudo apt upgrade
:升级所有已安装的软件包到最新版本,同时解决依赖关系sudo apt autoremove
:删除不再需要的软件包和依赖项sudo apt search <keyword>
:在软件仓库中搜索包含指定关键字的软件包apt list --installed
:列出所有已安装的软件包
1.2 yum
- 主要使用发行版:Red Hat及其衍生版,如CentOS、Fedora(在Fedora 22及以后版本被DNF取代)
- 功能:YUM是一个基于RPM的包管理器,能够自动下载、安装、更新和删除软件包,同时处理依赖关系
- 常用命令:
sudo yum install package_name
:安装指定的软件包及其依赖项sudo yum groupinstall group_name
:安装指定的软件包组sudo yum remove package_name
:卸载指定的软件包,但保留其配置文件sudo yum check-update
:检查所有可更新的软件包sudo yum update
:更新所有已安装的软件包到最新版本sudo yum list
:列出所有可安装和更新的软件包sudo yum search keyword
:根据关键字搜索软件包
二、Linux编辑器——vim
vim是一个多模式的编辑器,最常用的有三种模式。
2.1 vim的三种模式
- 普通模式
这是Vim的默认模式,也是用户最常使用的模式。在普通模式下,几乎所有的按键都用来执行命令,而不是直接输入文本。这包括移动光标、删除文本、复制粘贴、搜索替换等操作。要进入普通模式,如果你当前不在此模式下,只需按Esc键即可 - 插入模式
在插入模式下,Vim的行为类似于大多数其他文本编辑器,即你输入的任何字符都会被直接插入到文本中。要进入插入模式,你可以从普通模式开始,然后使用i(在当前光标位置插入)、a(在当前光标位置的下一个字符开始插入)、o(在当前光标所在行的下一行开始新行并插入)等命令之一 - 命令行模式
命令行模式不是Vim中最常用的模式,但它非常强大,允许你执行更复杂的命令,如搜索替换、保存文件、退出Vim等。在命令行模式下,你可以输入以冒号(:)开头的命令。要从普通模式进入命令行模式,只需输入冒号(:)即可。执行完命令后,Vim通常会返回到普通模式:help vim-modes
:查看当前vim的所有模式
注意: 一般插入模式和命令行模式是不能互相直接进入的,一般都要经过普通模式来跳转。
如果不清楚当前在哪种模式下,无脑ESC进入普通模式就行。
2.2 vim普通模式常用命令
2.2.1 移动光标
- vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母
h,j,k,l
,分别控制光标左、下、上、右移一格 - G:移动到文章的最后、
- #G:移动到第#行
- gg:进入到文本开始
- $ :移动到光标所在行的“行尾”
- ^:移动到光标所在行的“行首”
- w:光标跳到下个字的开头
- e:光标跳到下个字的字尾
- b:光标回到上个字的开头
- n+l:光标移到该行的第n个位置
- ctrl+b:屏幕往“后”移动一页
- ctrl+f:屏幕往“前”移动一页
- ctrl+u:屏幕往“后”移动半页
- ctrl+d:屏幕往“前”移动半页
2.2.2 删除
- x:每按一次,删除光标所在位置的一个字符
- #x:例如,6x表示删除光标所在位置的“后面(包含自己在内)”6个字符
- X:大写的X,每按一次,删除光标所在位置的“前面”一个字符
- #X:例如,20X表示删除光标所在位置的“前面”20个字符
- dd:删除光标所在行
- #dd:从光标所在行开始删除#行
2.2.3 复制
- yw:将光标所在之处到字尾的字符复制到缓冲区中
- #yw:复制#个字到缓冲区
- yy:复制光标所在行到缓冲区
- #yy:例如,6yy表示拷贝从光标所在的该行“往下数”6行文字
- p:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能
- #p:复制#次
2.2.4 注释
-
注释指定行
在普通模式下,先将光标移动到需要注释的开始,按Ctrl + v
,在用上下键(通常用j、k)调整需要注释的所有行(如果需要注释的行太多也可以配合#G快速移动光标),输入I(大写i),输入注释符//
,最后快速按ESC
两次。 -
取消指定行的注释
在普通模式下,先将光标移动到需要取消注释的开始,按Ctrl + v
,再配合j、l
键选中需要取消的注释符,按d
就删除了选中的注释符。
2.2.5 其他常用命令
- r:替换光标所在处的字符
- u:回到上一个操作,可执行多次
- Ctrl + r:u操作的恢复
- shift + ~:光标所在字符大小写切换
- shift + r:进入替换模式
2.3 vim命令行模式常用命令
在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按:
冒号即可进入末行模式。
-
列出行号
「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号 -
跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行 -
查找字符
- 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止
- 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止
-
保存文件
「w」: 在冒号输入字母「w」就可以将文件保存起来 -
离开vim
- 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim
- 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件
-
执行外部命令后返回vim
在 Vim 的底行模式中,! 符号有一个特殊的作用,它允许你执行外部命令。当你以 ! 开头输入一个命令时,Vim 会退出到 shell 环境中执行这个命令,并在命令执行完毕后返回到 Vim。这个功能允许你直接从 Vim 内部调用系统命令,比如查看文件、搜索文本、编译程序等 -
分屏
- 在底行模式下输入
:vs
文件名,Vim 会在当前窗口的右侧(或左侧,取决于你的 Vim 配置和当前分屏情况)垂直地打开一个新窗口,并尝试加载指定的文件名 Ctrl+w w
:在分屏之间切换光标:wq
:保存并退出当前分屏
- 在底行模式下输入
三、配置vim
Vim的基础配置主要涉及对其配置文件.vimrc
的编辑,以实现对Vim编辑器的个性化设置。
- 在目录
/etc/vim/
下面,有个名为vimrc
的文件,这是系统中公共的vim配置文件,对所有用户都有效 - 在Linux系统中,Vim的配置文件通常位于用户的家目录下,文件名为
.vimrc
。使用命令vim ~/.vimrc
打开(或创建).vimrc
文件进行编辑 - 因为这里配置的文件位于用户的家目录下,所以只对当前用户有效
- 进入插入模式(按i键),在
.vimrc
文件中添加所需的配置选项 - 设置完成后,按下Esc键退出插入模式,然后输入
:wq
(表示保存并退出)并回车,以保存对.vimrc
文件的更改
| vim常用功能:
可以直接复制粘贴到 ~/.vimrc 中
,保存退出直接生效。
syntax on " Set syntax highlighting
set number " Set the line number
set tabstop=4 " Set an indent to account for 4 spaces
set autoindent " Set up automatic indentation
set mouse=a " Set mouse is always available, set mouse= (empty) cancel
set cc=80 " Column 80 highlighted, set cc=0 cancellation
set cursorline " Settings to highlight the current row
set cindent " Format C language
set st=4 " Set the width of the soft tab to 4 spaces
set shiftwidth=4 " The width automatically indented when setting a new line is 4 spaces
set sts=4 " Set the number of spaces inserted when the Tab key is pressed in insertion mode to 4
set ruler " Show the status of the last line
set showmode " The status of this row is displayed in the lower left corner.
set bg=dark " Show different background tones
set hlsearch " Enable Search Highlight
set laststatus=2 " Always display the status bar
syntax on
: 设置语法高亮set number
: 设置行号set tabstop=4
: 设置一个缩进,考虑到4个空格set autoindent
: 设置自动缩进set mouse=a
: 设置鼠标总是可用,设置鼠标=(空)取消set cc=80
: 列80已突出显示,设置cc=0取消set cursorline
: 设置以突出当前行set cindent
: 格式化 C 语言set st=4
: 将软制表符的宽度设为4个空格set shiftwidth=4
: 设置新行时自动缩进的宽度是4个空格set sts=4
: 在插入模式下,按下 Tab 键时插入的空格数设置为 4set ruler
: 显示光标当前位置的行号和列号set showmode
: 显示当前Vim的工作模式在屏幕的左下角set bg=dark
: 设置编辑器的背景色为深色set hlsearch
: 启用搜索高亮功能,使得进行搜索时匹配的文本被高亮显示set laststatus=2
: 总是显示状态栏
另外vim中默认是不支持成对符号自动补全的,这个也可以配置,不过我一般是不喜欢自动补全的,这个看个人喜好:
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap < <><ESC>i
inoremap { {<CR>}<ESC>O
其中大括号除了将光标移入括号内,还会另起一行并缩进。
本篇文章的分享就到这里了,如果您觉得在本文有所收获,还请留下您的三连支持哦~

相关文章:

【Linux】包管理器、vim详解及简单配置
🚀个人主页:小羊 🚀所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言一、包管理器1.1 apt1.2 yum 二、Linux编辑器——vim2.1 vim的三种模式2.2 vim普通模式常用命令2.2.1 移动…...

AVL树实现
1.AVL的概念 1.AVL树属于二叉搜索树的一种,但它不同与普通的二叉搜索树还具有以下的性质: 每一个根的左右子树的高度差的绝对值不超过1。AVL树是通过高度差去控制平衡的,所以又称作为平衡二叉搜索树。 2.AVL树实现我们引入了一个平衡因子的概…...

初始MYSQL数据库(6)—— 事务
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: MYSQL 目录 事务的概念 事务的ACID特性 使用事务 查看支持事务的存储引擎 事务的语法 保存点 自动/手动提交事务 事务的隔离性和…...

0基础学习PyTorch——GPU上训练和推理
大纲 创建设备训练推理总结 在《Windows Subsystem for Linux——支持cuda能力》一文中,我们让开发环境支持cuda能力。现在我们要基于《0基础学习PyTorch——时尚分类(Fashion MNIST)训练和推理》,将代码修改成支持cuda的训练和推…...

这款免费工具让你的电脑焕然一新,专业人士都在用
HiBit Uninstaller 采用单一可执行文件的形式,无需复杂的安装过程,用户可以即刻开始使用。这种便捷性使其成为临时使用或紧急情况下的理想选择。尽管体积小巧,但其功能却异常强大,几乎不会对系统性能造成任何负面影响。 这款工具的一大亮点是其多样化的功能。它不仅能够常规卸…...

Java高级Day52-BasicDAO
138.BasicDao 基本说明: DAO:data access object 数据访问对象 这样的通用类,称为 BasicDao,是专门和数据库交互的,即完成对数据库(表)的crud操作 在BasicDao 基础上,实现一张表对应一个Dao,…...

【OceanBase 诊断调优】—— SQL 诊断宝典
视频 OceanBase 数据库 SQL 诊断和优化:https://www.oceanbase.com/video/5900015OB Cloud 云数据库 SQL 诊断与调优的应用实践:https://www.oceanbase.com/video/9000971SQL 优化:https://www.oceanbase.com/video/9000889阅读和管理SQL执行…...

微服务Redis解析部署使用全流程
目录 1、什么是Redis 2、Redis的作用 3、Redis常用的五种基本类型(重要知识点) 4、安装redis 4.1、查询镜像文件【省略】 4.2、拉取镜像文件 4.3、启动redis并设置密码 4.3.1、修改redis密码【可以不修改】 4.3.2、删除密码【坚决不推荐】 5、S…...

C++之STL—常用排序算法
sort (iterator beg, iterator end, _Pred) // 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置 // beg 开始迭代器 // end 结束迭代器 // _Pred 谓词 random_shuffle(iterator beg, iterator end); // 指定范围内的元素随机调…...

【驱动】地平线X3派:备份与恢复SD卡镜像
1、备份镜像 1.1 安装gparted GParted是硬盘分区软件GNU Parted的GTK+图形界面前端,是GNOME桌面环境的默认分区软件。 GParted可以用于创建、删除、移动分区,调整分区大小,检查、复制分区等操作。可以用于调整分区以安装新操作系统、备份特定分区到另一块硬盘等。 在Ubun…...

【C++报错已解决】std::ios_base::failure
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...

matlab入门学习(四)多项式、符号函数、数据统计
一、多项式 %多项式(polynomial)%创建 p[1,2,3,4] %系数向量,按x降幂排列,最右边是常数(x的0次幂) f1poly2str(p,x) %系数向量->好看的字符串 f x^3 2 x^2 3 x 4(不能运算的式子…...

leetcode621. 任务调度器
给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表,用字母 A 到 Z 表示,以及一个冷却时间 n。每个周期或时间间隔允许完成一项任务。任务可以按任何顺序完成,但有一个限制:两个 相同种类 的任务之间必须有长度为 n 的冷却时…...

Spark 的 Skew Join 详解
Skew Join 是 Spark 中为了解决数据倾斜问题而设计的一种优化机制。数据倾斜是指在分布式计算中,由于某些 key 具有大量数据,而其他 key 数据较少,导致某些分区的数据量特别大,造成计算负载不均衡。数据倾斜会导致个别节点出现性能…...

讯飞星火编排创建智能体学习(一)最简单的智能体构建
目录 开篇 智能体的概念 编排创建智能体 创建第一个智能体 编辑 大模型节点 测试与调试 开篇 前段时间在华为全联接大会上看到讯飞星火企业级智能体平台的演示,对于拖放的可视化设计非常喜欢,刚开始以为是企业用户才有的,回来之后查…...

mac-m1安装nvm,docker,miniconda
1.安装minicondaMAC OS(M1)安装配置miniconda_mac-mini m1 conda-CSDN博客 2.安装nvm(用第二个方法)Mac电脑安装nvm(node包版本管理工具)-CSDN博客 3.安装docker dmg下载链接docker-toolbox-mac-docker-for-mac安装包下载_开源镜像站-阿里云 教程MacOS系…...

STM32F407之Flash
寄存器分类 一般寄存器分为只读存储器 (ROM) 随机存储器(RAM) 只读存储器 只读存储器也被称为ROM 在正常工作时只能读不能写。 只读存储器经历的阶段 ROM->PROM->EPROM->EEPROM ->Flash 优点:掉电不丢失,解构简单 缺点:只适…...

优化 Go 语言数据打包:性能基准测试与分析
场景:在局域网内,需要将多个机器网卡上抓到的数据包同步到一个机器上。 原有方案:tcpdump -w 写入文件,然后定时调用 rsync 进行同步。 改造方案:使用 Go 重写这个抓包逻辑及同步逻辑,直接将抓到的包通过网…...

【SQL】未订购的客户
目录 语法 需求 示例 分析 代码 语法 SELECT columns FROM table1 LEFT JOIN table2 ON table1.common_field table2.common_field; LEFT JOIN(或称为左外连接)是SQL中的一种连接类型,它用于从两个或多个表中基于连接条件返回左表…...

Qt(9.28)
widget.cpp #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {QPushButton *btn1 new QPushButton("登录",this);this->setFixedSize(640,480);btn1->resize(80,40);btn1->move(200,300);btn1->setIcon(QIcon("C:…...

javascript-冒泡排序
前言:好久没学习算法了,今天看了一个视频课,之前掌握很好的冒泡排序居然没写出来? <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport"…...

第九届蓝桥杯嵌入式省赛程序设计题解析(基于HAL库)
一.题目分析 (1).题目 (2).题目分析 按键功能分析----存储位置的切换键 a. B1按下切换存储位置,切换后定时时间设定为当前位置存储的时间 b. B2短按切换时分秒高亮,设置完成后,长按把设置的时…...

MATLAB云计算集成:在云端扩展计算能力
摘要 MATLAB云计算集成是指将MATLAB的计算能力与云平台的弹性资源相结合,以实现高性能计算、数据处理和算法开发。本文详细介绍了MATLAB云计算的基本概念、优势、配置要点以及编程实践。 1. 云计算概述 云计算是一种通过互联网提供计算资源(如服务器、…...

基于BeagleBone Black的网页LED控制功能(flask+gpiod)
目录 项目介绍硬件介绍项目设计开发环境功能实现控制LED外设构建Webserver 功能展示项目总结 👉 【Funpack3-5】基于BeagleBone Black的网页LED控制功能 👉 Github: EmbeddedCamerata/BBB_led_flask_web_control 项目介绍 基于 BeagleBoard Black 开发板…...

【C语言】单片机map表详细解析
1、RO Size、RW Size、ROM Size分别是什么 首先将map文件翻到最下面,可以看到 1.1 RO Size:只读段 Code:程序的代码部分(也就是 .text 段),它存放了程序的指令和可执行代码。 RO Data:只读…...

Java中的继承和实现
Java中的继承和实现在面向对象编程中扮演着不同的角色,它们之间的主要区别可以从以下几个方面进行阐述: 1. 定义和用途 继承(Inheritance):继承是面向对象编程中的一个基本概念,它允许我们定义一个类&…...

uniapp云打包
ios打包 没有mac电脑,使用香蕉云编 先登录香蕉云编这个工具,新建csr文件——把csr文件下载到你电脑本地: 然后,登录苹果开发者中心 生成p12证书 1、点击+号创建证书 创建证书的时候一定要选择ios distribution app store and ad hoc类型的证书 2、上传刚才从本站生成的…...

端口安全技术原理与应用
目录 概述 端口安全原理 端口安全术语 二层安全地址配置 端口模式下配置 全局模式下配置 动态学习 二层数据包处理流程 三层安全地址配置 三层数据包处理流程 端口安全违例动作和安全地址老化时间 查看命令 端口安全的注意事项 小结 概述 园区网的接入安全关系着…...

数据集-目标检测系列-鲨鱼检测数据集 shark >> DataBall
数据集-目标检测系列-鲨鱼检测数据集 shark >> DataBall 数据集-目标检测系列-鲨鱼检测数据集 shark 数据量:6k 数据样例项目地址: gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview github: https://github.com/Te…...

数字乡村解决方案-3
1. 国家大数据战略与数字乡村 中国第十三个五年规划纲要强调实施国家大数据战略,加快建设数字中国,推进数据资源整合和开放共享,保障数据安全,以大数据助力产业转型升级和提高社会治理的精准性与有效性。 2. 大数据与数字经济 …...