(5)軟件包管理器 yum | Vim 編輯器 | Vim 文本批量化操作 | 配置 Vim

Ⅰ . Linux 軟件包管理器 yum

01 安裝軟件

在 Linux 下安裝軟件并不像 Windows 下那么方便,最通常的方式是去下載程序的源代碼并進行編

譯,從而得到可執行程序。

正是因為太麻煩,所以有些人就把一些常用的軟件提前編譯好并做成軟件包,放到服務器上。

你只需要通過包管理器,就可以輕而易舉地獲取到這個編譯好的軟件包,直接無腦安裝。

02 安裝軟件的方式

Centos 中安裝軟件分為三種方式:① 源碼安裝rpm 包安裝yum 安裝

源碼安裝:

源碼安裝就相當于我把項目源代碼交給用戶,讓用戶自己編譯

rpm 包安裝:

可以理解為 Linux 下的安裝包,但下載好 rpm 包后想安裝還需要用到 rpm 命令,比較麻煩,而且 rpm 包安裝不會幫你解決依賴關系

yum 安裝:

我們剛才講的安裝方式都不簡單,如果只有源碼和 rpm 包這兩種安裝方式,就連開發者用起來都頭大,那更別說用戶了。

于是 Linux 就推出了一個簡單的集成化安裝方案?——?yum?安裝。

yum?安裝最大的好處顯而易見,不用編譯源碼,且不用解決軟件的依賴關系。

03 試著安裝一款軟件

有一個叫 sl 的小工具,這個工具是可以在命令行跑 "火車頭" 的軟件。

在大家的系統中默認情況下是沒有這個軟件的,現在正好可以來試試用?yum?安裝:

# yum install sl

此時我們輸入?sl?看看效果如何:

由此可見,用?yum?安裝軟件非常de簡單,下面我們來仔細講解一下?yum?。

04 yum 指令

我們要安裝別人的軟件,需要做的準備工作:

① 需要別人先把代碼給我編譯成可執行程序。

② 需要有人將編好的軟件,放在用戶能下載的地方

在 Linux 也是一樣的!以手機應用市場為例:

你手機上的 APP 是屬于客戶端還是服務器?

手機上的 APP 實際上是客戶端,而不是服務器。云服務器相信大家并不陌生,我們所用的 XShell 其實就是一個客戶端,我們登陸的是遠端的服務器。

總結:yum?就類似于手機上的應用市場。

既然要安裝軟件,我們得知道軟件的名字是什么,如果我們不知道軟件叫什么那么自然也沒法裝。

這就是為什么手機應用市場有應用推薦這個功能,按類別去給你推薦軟件供你下載。

然而 Linux 下我們可以通過?yum?list?指令去執行類似于手機應用市場的 "軟件推薦" 功能:

yum list

05 卸載軟件 yum remove

yum?既然能安裝軟件,自然也是能卸載軟件的。

# yum remove [目標]

06 yum 源

yum?在下載時是怎么知道去哪里搜的呢?

因為?/etc/yum.repos.d?目錄下存有配置文件:

不是所有人的 Linux 上面的?yum?源都是國內的鏈接。

如果你不是國內的,或者發現安裝軟件特別慢,建議大家更新一下?yum?源。

07 文件上載工具:lrzsz

Irzsz:一款可以輕松地將 Window 的文件上載到 Linux 的神器。

如果你想把 Windows 下的東西傳到 Linux 下,有了這個工具就可以直接拖拽

Ⅱ . Vim 編輯器

01 什么是 Vim

它是一個編輯器!只能用來寫代碼,編譯 vim 也做不到,有其他工具幫我們做。

既然只能用來寫代碼,那我們為什么不用 nano 記事本呢,不都一樣嗎?

當然不一樣,Vim 功能強大,是一個多模式的編輯器。因為過于強大,學習成本固然較高。

你可以輸入?vim??確認一下你有沒有安裝過 vim,若顯示??bash: vim: command not found?,

那就說明還沒有安裝 vim,我們用剛剛學習的?yum 安裝一下即可

02 vim 的使用

我們先創建一個 code.c 源文件:

$ touch code.c

隨后輸入?vim?跟上文件名,就可以用 vim 編輯器打開該文件了:

$ vim code.c

03 默認模式、底行模式和插入模式

進入之后,此時你會發現是輸入不了任何東西的:

因為第一次打開 vim 時的命令模式為?"默認模式"

如果我們現在什么都沒干,想退出 vim,我們可以按下?shift + 冒號?,此時:

此時該模式我們稱之為?"底行模式",此時如果你想退出 vim,在該模式下按一個?q?即可。

由于此時什么都沒有寫,我們按?q?退出。如果寫了東西并且想保存并退出,我們可以按?wq?

我們剛才進去 vim 之后時輸入不了任何東西的,這是因為處于默認模式。

當我們按下?i?鍵(進入了?"插入模式"?)后左下角會顯示 :

此時我們就可以正常打字了:

如果想退出,我們要輸入鍵盤上的?Esc?按鍵 ,此時再按冒號就可以回到底行模式:

當然,如果你想從底行模式再回到命令模式,也是使用?Esc?就可以回去。

退出去之后我們來?cat?一下看看我們剛剛寫的內容:

總結:任何模式想回到命令模式,無腦?Esc?即可。

Ⅲ . Vim 文本批量化操作

01 復制和粘貼(yy & p)

指令操作
yy復制光標指定的當前行內容
p

粘貼 yy 復制的內容,默認粘貼到當前行后面(可光標指定)

在文本操作的時候我們可能會需要對文本進行批量化操作,比如刪除、復制粘貼等功能,

這些在插入模式下是比較難做到的,我們一般會在命令模式下進行文本批量化操作。

操作演示:文本的復制和粘貼,如果我們想復制下面的?printf?代碼,我們可以:

在光標所在行?yy?進行復制,隨后你可以把光標移到你想粘貼的位置按?p?進行粘貼,直接按?p?默認在?yy?復制行的下一行粘貼。你按幾次?p?就會粘貼幾次。

02 批量化復制和粘貼(nyy & np)

指令操作
[n]?yy復制光標指定的當前行(包括當前行以內的)n 行內容
[n]?p

粘貼 n 份 yy 復制的內容,默認粘貼到當前行后面(可光標指定)

如果我想粘貼 50 次,我難道要按 50次?p?嗎?

當然不用,我們可以使用?批量化粘貼?的功能:

操作演示:此時輸入如果想粘貼 50 份,我們可以輸入 50p?:

對應的,還有?批量化復制?的功能,如果我們想讓這兩行復制:

我們可以光標選中第一個?printf?并輸入?2yy,此時就復制了包括它本身以內的 2 行內容。

此時我們在?p?一下,我們就可以把這兩行粘貼出來了:

03 剪貼操作(dd & p)

指令操作
dd剪貼光標指定行內容
[n]?dd

剪貼光標指定行(包括當前行)的 n 行內容

?操作演示:將?printf?剪貼到?return 0?后面

dd?也可以當刪除去使用,只要不?p?就等于是刪除的效果了。

04 撤銷操作和收回撤銷(u & Ctrl + R)

指令操作
u撤銷剛剛的操作
Ctrl +?R

對撤銷進行撤銷(收回 u 撤銷操作)

操作演示:按?u?撤銷

我想收回剛才的?u?撤銷,怎么辦??Ctrl + R!

對于你的最近兩次的誤操作,你可以使用?u?和?Ctrl + R?在兩個操作之間來回跳轉。

05 光標跳轉(gg & Shift + gg & n + Shift + gg)

指令操作

shift +?g

光標快速定位到文本末尾
gg光標快速定位到文本的最開始
[n] shift +?g將光標快速定位到文本的任意 (n) 行

為了方便我們講解,我們先創建一個大文本的場景。

當文本一旦大了,我想讓光標快速定位到文本的最尾部,該如何操作?

操作演示:

①?shift +?g?跳轉至文本最后一行

②??gg?跳轉至文本第一行首位置

③ 如果我想定位到第 123?行呢?123?+?shift?+?g?即可!

如果想讓光標跳到當前所在的文本行開頭呢?

指令操作
shift +?$光標快速定位到文本行的末尾(我們稱 $ 為 "錨點" )
shift +?^光標快速定位到文本行的開始
w?/?b以單詞為單位移動(warp 與 back)

?操作演示:

06 方向鍵(HJKL)

我們是可以通過鍵盤上的方向鍵去進行光標移動的。

但是我們是不太推薦用上下左右鍵去進行光標移動的,我們建議用 "HJKL"?

指令操作
h
j
k
l

為什么建議使用 HJKL?而不使用我們一直習慣的?↑ ↓ ← →?呢?

?因為我們會學一些組合命令,比如批量化注釋,它只能支持用 HJKL。

至于為什么 vim 它的上下左右是這幾個按鍵呢?

老式鍵盤是沒有上下左右鍵的,以前就是那 HJKL 充當 上下左右鍵的

07 一些修改和替換操作(Shift ~ & r & nr)

指令操作
shift +?~大小寫快速切換
r替換光標所在位置的字符
[n]?r替換光標所在位置開始的 n 個字符

我們現在想讓這些字母大小寫互換:

按住?shift?不動 + 波浪號?~? 即可將光標位置字符進行大小寫的轉換。

在想要替換的光標處,先輸入一個?r,然后再輸入你要替換的字符,此時就可以做到修改。

我們甚至還可以批量化修改,在?r?前加上數字。

08 replace 模式

輸入?shift + r?進入 replace 模式:

進入 replace 模式后,光標所在處直接輸入即可替換,你的所有輸入的都會直接替換。

09 刪除和批量化刪除(x & nx)

指令操作
x刪除當前光標位置字符
[n] x刪除當前光標位置開始的后n個字符

如果我們要刪除,我們可以按 X,如果要批量刪除可以輸入 nX(底行模式下)

Ⅳ . 配置 Vim

01 默認的 Vim 配置

大家有沒有發現好像用起來很不方便

默認的 vim 沒有配置,沒有提示、沒有縮進、沒有行

我們先這里提供一個能夠直接輸入指令一鍵配置的方法,讓大家先能用起來,

至于具體的 vim 配置學習我們會放到后面去講解。

02 一鍵配置

直接復制下面的文字,shift+insert 粘貼到命令行:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh &&bash ./install.sh

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93815.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93815.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93815.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VGG改進(3):基于Cross Attention的VGG16增強方案

第一部分:交叉注意力機制解析1.1 注意力機制基礎注意力機制的核心思想是模擬人類的選擇性注意力——在處理信息時,對重要部分分配更多"注意力"。在神經網絡中,這意味著模型可以學習動態地加權輸入的不同部分。傳統的自注意力(Self-…

代理ip平臺哪家好?專業代理IP服務商測評排行推薦

隨著互聯網的深度發展,通過網絡來獲取全球化的信息資源,已成為企業與機構在競爭中保持優勢的一大舉措。但想要獲取其他地區的信息,可能需要我們通過代理IP來實現。代理IP平臺哪家好?下文就讓我們從IP池資源與技術優勢等細節&#…

PWA》》以京東為例安裝到PC端

如果訪問 瀏覽器右側出現 安裝 或 點擊這個 也可以完成安裝桌面 會出現 如下圖標

Linux系統:C語言進程間通信信號(Signal)

1. 引言:從"中斷"到"信號"想象一下,你正在書房專心致志地寫代碼,這時廚房的水燒開了,鳴笛聲大作。你會怎么做?你會暫停(Interrupt) 手頭的工作,跑去廚房關掉燒水…

LoRa 網關組網方案(二)

LoRa 網關組網方案 現有需求:網關每6秒接收不同節點的數據,使用SX1262芯片。 以下是完整的組網方案:1. 網絡架構設計 采用星型拓撲: 網關:作為中心節點,持續監聽多個信道節點:分布在網關周圍&am…

服裝外貿系統軟件怎么用才高效防風險?

服裝外貿系統軟件概述 服裝外貿系統軟件,如“艾格文ERP”,是現代外貿企業不可或缺的管理工具。它整合了訂單處理、庫存管理、客戶資源保護、財務控制等多功能模塊,旨在全面提升業務運營效率。通過系統化的管理方式,艾格文ERP能夠從…

【沉浸式解決問題】peewee.ImproperlyConfigured: MySQL driver not installed!

目錄一、問題描述二、原因分析三、解決方案? 推薦:安裝 pymysql(純 Python,跨平臺,安裝簡單)? 可選:安裝 mysqlclient(更快,但需要本地編譯環境)? 總結四、mysql-conn…

C++進階-----C++11

作者前言 🎂 ??????🍧🍧🍧🍧🍧🍧🍧🎂 ?🎂 作者介紹: 🎂🎂 🎂 🎉🎉&#x1f389…

(論文速讀)航空軸承剩余壽命預測:多生成器GAN與CBAM融合的創新方法

論文題目:Remaining Useful Life Prediction Approach for Aviation Bearings Based on Multigenerator Generative Adversarial Network and CBAM(基于多發生器生成對抗網絡和CBAM的航空軸承剩余使用壽命預測方法)期刊:IEEE TRAN…

3ds Max 流體模擬終極指南:從創建到渲染,打造真實液體效果

流體模擬是提升 3D 場景真實感的重要技術之一。無論是模擬飛瀑流泉、杯中溢出的飲料,還是黏稠的蜂蜜或熔巖,熟練掌握流體動力學無疑能為你的作品增色不少。本文將以 3ds Max 為例,系統講解流體模擬的創建流程與渲染方法,幫助你實現…

《算法導論》第 35 章-近似算法

大家好!今天我們深入拆解《算法導論》第 35 章 ——近似算法。對于 NP 難問題(如旅行商、集合覆蓋),精確算法在大規模數據下往往 “力不從心”,而近似算法能在多項式時間內給出 “足夠好” 的解(有嚴格的近…

系統架構設計師-操作系統-避免死鎖最小資源數原理模擬題

寫在前面:銀行家算法的核心目標是確保系統始終處于“安全狀態”。一、5個進程各需2個資源,至少多少資源避免死鎖? 解題思路 根據死鎖避免的資源分配公式,不發生死鎖的最少資源數為: 最少資源數k(n?1)1 \text{最少資源…

Preprocessing Model in MPC 2 - 背景、基礎原語和Beaver三元組

參考論文:SoK: Multiparty Computation in the Preprocessing Model MPC (Secure Multi-Party Computation) 博士生入門資料。抄襲必究。 本系列教程將逐字解讀參考論文(以下簡稱MPCiPPM),在此過程中,將論文中涵蓋的40篇參考文獻進行梳理與講…

ACCESS/SQL SERVER保存軟件版本號為整數類型,轉成字符串

在 Access 中,若已將版本號(如1.3.15)轉換為整數形式(如10315,即1*10000 3*100 15),可以通過 SQL 的數學運算反向解析出原始版本號格式(主版本.次版本.修訂號)。實現思…

編程語言學習

精通 Java、Scala、Python、Go、Rust、JavaScript ? 1. Java 面向對象編程(OOP)、異常處理、泛型JVM 原理、內存模型(JMM)、垃圾回收(GC)多線程與并發(java.util.concurrent)Java 8…

軟件測試:如何利用Burp Suite進行高效WEB安全測試

Burp Suite 被廣泛視為 Web 應用安全測試領域的行業標準工具集。要發揮其最大效能,遠非簡單啟動掃描即可,而是依賴于測試者對其模塊化功能的深入理解、有機組合及策略性運用。一次高效的測試流程,始于精細的環境配置與清晰的測試邏輯。測試初…

華為認證 HCIA/HCIP/HCIE 全面解析(2025 版)

說實話,想在IT行業站穩腳跟,沒有過硬的技術和資歷,光憑熱情和一腔干勁根本不行。 而華為認證,作為業內公認的“技術護照”,已經成了許多人打開職場大門的關鍵。 你會發現,越來越多的企業在招聘時&#xff0…

ComfyUI-3D-Pack:3D創作的AI神器

一、應用介紹 單圖轉3D網格:輸入一張角色圖,能輸出基本成型的3D Mesh,還自帶UV展開和貼圖輸出,可直接導入到Blender等軟件中使用。多視角圖像生成:可以基于算法生成圍繞3D模型的多視角圖像,用于3D模型展示…

【java面試day15】mysql-聚簇索引

文章目錄問題💬 Question 1💬 Question 2相關知識問題 💬 Question 1 Q:什么是聚簇索引,什么是非聚簇索引? A:聚簇索引主要是指數據與索引放到一塊,B樹的葉子節點保存了整行數據&a…

【typenum】 16 無符號整數標記

一、源碼 這段代碼是 Rust 中用于實現編譯時無符號整數的核心部分。它定義了一個 Unsigned trait 并為兩種類型實現了該 trait&#xff1a;UTerm&#xff08;表示零&#xff09;和 UInt<U, B>&#xff08;表示非零數字&#xff09;。 定義&#xff08;marker_traits.rs&a…