当前位置: 首页 > article >正文

【Linux】包管理器、vim详解及简单配置

头像
🚀个人主页:@小羊
🚀所属专栏:Linux
很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~

动图描述

目录

  • 前言
  • 一、包管理器
    • 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 移动光标

  1. vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母h,j,k,l,分别控制光标左、下、上、右移一格
  2. G:移动到文章的最后、
  3. #G:移动到第#行
  4. gg:进入到文本开始
  5. $ :移动到光标所在行的“行尾”
  6. ^:移动到光标所在行的“行首”
  7. w:光标跳到下个字的开头
  8. e:光标跳到下个字的字尾
  9. b:光标回到上个字的开头
  10. n+l:光标移到该行的第n个位置
  11. ctrl+b:屏幕往“后”移动一页
  12. ctrl+f:屏幕往“前”移动一页
  13. ctrl+u:屏幕往“后”移动半页
  14. ctrl+d:屏幕往“前”移动半页

2.2.2 删除

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

2.2.3 复制

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

2.2.4 注释

  • 注释指定行
    在普通模式下,先将光标移动到需要注释的开始,按Ctrl + v,在用上下键(通常用j、k)调整需要注释的所有行(如果需要注释的行太多也可以配合#G快速移动光标),输入I(大写i),输入注释符//,最后快速按ESC两次。

  • 取消指定行的注释
    在普通模式下,先将光标移动到需要取消注释的开始,按Ctrl + v,再配合j、l键选中需要取消的注释符,按d就删除了选中的注释符。


2.2.5 其他常用命令

  1. r:替换光标所在处的字符
  2. u:回到上一个操作,可执行多次
  3. Ctrl + r:u操作的恢复
  4. shift + ~:光标所在字符大小写切换
  5. 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
  1. syntax on : 设置语法高亮
  2. set number : 设置行号
  3. set tabstop=4 : 设置一个缩进,考虑到4个空格
  4. set autoindent : 设置自动缩进
  5. set mouse=a : 设置鼠标总是可用,设置鼠标=(空)取消
  6. set cc=80 : 列80已突出显示,设置cc=0取消
  7. set cursorline : 设置以突出当前行
  8. set cindent : 格式化 C 语言
  9. set st=4 : 将软制表符的宽度设为4个空格
  10. set shiftwidth=4 : 设置新行时自动缩进的宽度是4个空格
  11. set sts=4 : 在插入模式下,按下 Tab 键时插入的空格数设置为 4
  12. set ruler : 显示光标当前位置的行号和列号
  13. set showmode : 显示当前Vim的工作模式在屏幕的左下角
  14. set bg=dark : 设置编辑器的背景色为深色
  15. set hlsearch : 启用搜索高亮功能,使得进行搜索时匹配的文本被高亮显示
  16. set laststatus=2 : 总是显示状态栏

另外vim中默认是不支持成对符号自动补全的,这个也可以配置,不过我一般是不喜欢自动补全的,这个看个人喜好:

inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap < <><ESC>i
inoremap { {<CR>}<ESC>O

其中大括号除了将光标移入括号内,还会另起一行并缩进。


本篇文章的分享就到这里了,如果您觉得在本文有所收获,还请留下您的三连支持哦~

头像

http://www.kler.cn/news/324102.html

相关文章:

  • 实战C++手写线程池
  • windows11下vscode配置lua环境
  • 1欧几里得聚类提取
  • WPF入门教学二十二 多线程与异步编程
  • Django——admin创建和使用
  • 【Python游戏开发】扫雷游戏demo
  • Linux云计算 |【第四阶段】RDBMS1-DAY2
  • 使用python获取百度一下,热搜TOP数据详情
  • 什么是聚类?
  • Docker数据卷有哪些常见的驱动类型?
  • K8S真正删除pod
  • SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents论文学习
  • socket编程描述tcp的三次握手
  • Postman/Jmeter接口测试
  • MATLAB中的并行计算:提升性能的策略与实践
  • 有关若依菜单管理的改造
  • 动手学深度学习(李沐)PyTorch 第 4 章 多层感知机
  • golang Unicode api接口
  • 【C++】vector 常用成员函数的模拟实现
  • 使用Go语言的互斥锁(Mutex)解决并发问题
  • Goland的使用
  • 青动CRM-仓储云V1.1.2
  • 第十七节 鼠标的操作与相应
  • Three.js粒子系统与特效
  • 16年408-数据结构
  • C0003.用C++开发Qt界面,针对无边框界面,实现界面可任意拖动
  • 单片机配置IO口输出模式(IO口依然可以读取电平变化)
  • 函数内部的 arguments 变量特性,属性,如何将他转换为数组
  • AVL树(平衡二叉树)的介绍以及相关构建
  • Augular 学习步骤建议