【Linux】軟件管理yum | 編輯器vim | vim插件安裝

目錄

1. Linux軟件管理yum

1.1 什么是軟件包

1.2 查看軟件包

1.3 如何安裝軟件

1.4 如何卸載軟件

2.?Linux編輯器vim

2.1 vim的基本概念

2.2 vim的基本操作

2.3 vim正常模式命令集

2.4 vim末行模式命令集

2.5 簡單vim配置

2.6 插件安裝

1. Vim-Plug

3.?coc.nvim

4. ctags

5.?vim-devicons

6.?auto-pairs

7.?Rainbow Brackets


1. Linux軟件管理yum

1.1 什么是軟件包
  • 在Linux下安裝軟件, 一個通常的辦法是下載到程序的源代碼, 并進行編譯, 得到可執行程序。
  • 但是這樣太麻煩了, 于是有些人把一些常用的軟件提前編譯好, 做成軟件包(可以理解成windows上的安裝程序)放在一個服務器上, 通過包管理器可以很方便的獲取到這個編譯好的軟件包, 直接進行安裝。
  • 軟件包和軟件包管理器, 就好比 "App" 和 "應用商店" 這樣的關系。
  • yum(Yellow dog Updater, Modified)是Linux下非常常用的一種包管理器,主要應用在Fedora, RedHat, Centos等發行版上。

◆ 關于 rzsz
這個工具用于windows 機器和遠端的Linux機器通過XShell 傳輸文件.安裝完畢之后可以通過拖拽的方式將文件上傳過去.

◆ 注意事項
關于yum 的所有操作必須保證主機(虛擬機)網絡暢通!!!可以通過 ping 指令驗證

1.2 查看軟件包

通過 yum list 命令可以羅列出當前一共有哪些軟件包,由于包的數目可能非常之多, 這里我們需要使用 grep 命令只篩選出我們關注的包.。
結果如下:

yum list | grep lrzsz
lrzsz.x86_64	0.12.20-36.el7	@base

注意事項:

  • 軟件包名稱: 主版本號、次版本號、源程序發行號-軟件包的發行號、主機平臺、cpu架構。
  • "x86_64" 后綴表示64位系統的安裝包, "i686" 后綴表示32位系統安裝包. 選擇包時要和系統匹配。
  • "el7" 表示操作系統發行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示centos6/redhat6。
  • 最后一列, base 表示的是 "軟件源" 的名稱, 類似于 "小米應用商店", "華為應用商店" 這樣的概念。
1.3 如何安裝軟件

通過 yum, 我們可以通過很簡單的一條命令完成 gcc 的安裝。

sodu yum install lrzsz

yum 會自動找到都有哪些軟件包需要下載, 這時候敲 "y" 確認安裝。
出現 "complete" 字樣, 說明安裝完成。

注意事項:

  • 安裝軟件時由于需要向系統目錄中寫入內容, 一般需要 sudo 或者切到 root 賬戶下才能完成。
  • yum安裝軟件只能一個裝完了再裝另一個.,正在yum安裝一個軟件的過程中, 如果再嘗試用yum安裝另外一個軟件, yum會報錯。
  • 如果 yum 報錯, 請自行百度。
1.4 如何卸載軟件

仍然是一條命令:

sudo yum remove lrzsz

2.?Linux編輯器vim

vi/vim的區別簡單點來說,它們都是多模式編輯器,不同的是vim是vi的升級版本,它不僅兼容vi的所有指令,而且還有一些新的特性在里面。例如語法加亮,可視化操作不僅可以在終端運行,也可以運行于x window、 mac os、 windows。我們課堂上,統一按照vim來進行講解。

2.1 vim的基本概念

課堂上我們講解vim的三種模式(其實有好多模式,目前掌握這3種即可),分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下:

  • 正常/普通/命令模式(Normal mode)

控制屏幕光標的移動,字符、字或行的刪除,移動復制某區段及進入Insert mode下,或者到 last line mode

  • 插入模式(Insert mode)

只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。該模式是我們后面用的最頻繁的編輯模式。

  • 末行模式(last line mode)

文件保存或退出,也可以進行文件替換,找字符串,列出行號等操作。 在命令模式下,shift+: 即可進入該模式。要查看你的所有模式:打開vim,底行模式直接輸入

2.2 vim的基本操作
  • 進入vim,在系統提示符號輸入vim及文件名稱后,就進入vim全屏幕編輯畫面:
vim test.txt

不過有一點要特別注意,就是你進入vim之后,是處于[正常模式],你要切換到[插入模式]才能夠輸入文字。

  • [正常模式]切換至[插入模式]

輸入a、輸入i、輸入o

  • [插入模式]切換至[正常模式]

目前處于[插入模式],就只能一直輸入文字,如果發現輸錯了字,想用光標鍵往回移動,將該字刪除,可以先按一下「ESC」鍵轉到[正常模式]再刪除文字。當然,也可以直接刪除。

  • [正常模式]切換至[末行模式]

「shift + ;」, 其實就是輸入「:」

  • 退出vim及保存文件
  1. 在[正常模式]下,按一下「:」冒號鍵進入「Last line mode」,例如:
  2. : w (保存當前文件)
  3. : wq (輸入「wq」,存盤并退出vim)
  4. : q! (輸入q!,不存盤強制退出vim)
2.3 vim正常模式命令集
  • 插入模式
  1. 按「i」切換進入插入模式「insert mode」,按“i”進入插入模式后是從光標當前位置開始輸入文件;
  2. 按「a」進入插入模式后,是從目前光標所在位置的下一個位置開始輸入文字;
  3. 按「o」進入插入模式后,是插入新的一行,
  • 從行首開始輸入文字。

從插入模式切換為命令模式按「ESC」鍵。

  • 移動光標
  1. vim可以直接用鍵盤上的光標來上下左右移動,但正規的vim是用小寫英文字母「h」、「j」、「k」、
  2. 「l」,分別控制光標左、下、上、右移一格按「G」:移動到文章的最后
  3. 按「 」:移動到光標所在行的“行尾”
  4. 按「^」:移動到光標所在行的“行首”按「w」:光標跳到下個字的開頭
  5. 按「e」:光標跳到下個字的字尾按「b」:光標回到上個字的開頭
  6. 按「#l」:光標移到該行的第#個位置,如:5l,56l按[gg]:進入到文本開始
  7. 按[shift+g]:進入文本末端
  8. 按「ctrl」+「b」:屏幕往“后”移動一頁按「ctrl」+「f」:屏幕往“前”移動一頁按「ctrl」+「u」:屏幕往“后”移動半頁按「ctrl」+「d」:屏幕往“前”移動半頁
  • 刪除文字
  1. 「x」:每按一次,刪除光標所在位置的一個字符
  2. 「#x」:例如,「6x」表示刪除光標所在位置的“后面(包含自己在內)”6個字符
  3. 「X」:大寫的X,每按一次,刪除光標所在位置的“前面”一個字符
  4. 「#X」:例如,「20X」表示刪除光標所在位置的“前面”20個字符
  5. 「dd」:刪除光標所在行
  6. 「#dd」:從光標所在行開始刪除#行
  • 復制
  1. 「yw」:將光標所在之處到字尾的字符復制到緩沖區中。
  2. 「#yw」:復制#個字到緩沖區
  3. 「yy」:復制光標所在行到緩沖區。
  4. 「#yy」:例如,「6yy」表示拷貝從光標所在的該行“往下數”6行文字。
  5. 「p」:將緩沖區內的字符貼到光標所在位置。注意:所有與“y”有關的復制命令都必須與“p”配合才能完成復制與粘貼功能。
  • 替換
  1. 「r」:替換光標所在處的字符。
  2. 「R」:替換光標所到之處的字符,直到按下「ESC」鍵為止。撤銷上一次操作
  3. 「u」:如果您誤執行一個命令,可以馬上按下「u」,回到上一個操作。按多次“u”可以執行多次回復。
  4. 「ctrl + r」: 撤銷的恢復
  • 更改
  1. 「cw」:更改光標所在處的字到字尾處
  2. 「c#w」:例如,「c3w」表示更改3個字
  • 跳至指定的行
  1. 「ctrl」+「g」列出光標所在行的行號。
  2. 「#G」:例如,「15G」,表示移動光標至文章的第15行行首。
2.4 vim末行模式命令集

在使用末行模式之前,請記住先按「ESC」鍵確定您已經處于正常模式,再按「:」冒號即可進入末行模式。

  • 列出行號

「set nu」: 輸入「set nu」后,會在文件中的每一行前面列出行號。

  • 跳到文件中的某一行

「#」:「#」號表示一個數字,在冒號后輸入一個數字,再按回車鍵就會跳到該行了,如輸入數字15,再回車,就會跳到文章的第15行。

  • 查找字符
  1. 「/關鍵字」: 先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關鍵字不是您想要的,可以一直按
  2. 「n」會往后尋找到您要的關鍵字為止。
  3. 「?關鍵字」:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往前尋找到您要的關鍵字為止。
  • 保存文件
  1. 「w」: 在冒號輸入字母「w」就可以將文件保存起來離開vim
  2. 「q」:按「q」就是退出,如果無法離開vim,可以在「q」后跟一個「!」強制離開vim。
  3. 「wq」:一般建議離開時,搭配「w」一起使用,這樣在退出的時候還可以保存文件。
2.5 簡單vim配置

配置文件的位置:

  • 在目錄 /etc/ 下面,有個名為vimrc的文件,這是系統中公共的vim配置文件,對所有用戶都有效。
  • 而在每個用戶的主目錄下,都可以自己建立私有的配置文件,命名為:“.vimrc”。例如,/root目錄下,通常已經存在一個.vimrc文件,如果不存在,則創建之。
  • 切換用戶成為自己執行 ,進入自己的主工作目錄,執行。
  • 打開自己目錄下的.vimrc文件,執行。

常用配置選項,試一哈:

  • 設置語法高亮: syntax on
  • 顯示行號: set nu
  • 設置縮進的空格數為4: set shiftwidth=4
2.6 插件安裝

要配置好看的vim,原生的配置可能功能不全,可以選擇安裝插件來完善配置,保證用戶是你要配置的用戶,接下來:?

1. Vim-Plug
  • 用途:方便統一管理vim插件

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

?2.?NerdTree

  • 用途:在 Vim 中顯示文件系統的樹形結構

Plug 'preservim/nerdtree'
3.?coc.nvim
  • 用途:代碼補全和語法檢查功能

1. 由于該插件需要nodejs的支持所以需要先安裝nodejs,已安裝可忽略此步。

curl -sL install-node.now.sh/lts | bash

2.然后再.vimrc指定位置添加插件,推薦使用穩定版本。

" Use release branch (Recommend)
Plug 'neoclide/coc.nvim', {'branch': 'release'}
4. ctags
  • 用途:?實現函數聲明/實現跳轉

// 以下以MacOS為例
brew install ctags
5.?vim-devicons
  • 用途:顯示文件類型圖標

Plug 'ryanoasis/vim-devicons'
6.?auto-pairs
  • 用途:?自動補全引號、圓括號、花括號等

Plug 'jiangmiao/auto-pairs'
7.?Rainbow Brackets
  • 用途:?為括號、引號、方括號和其他符號添加顏色

Plug 'luochen1990/rainbow'
let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle

?


本章完。

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

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

相關文章

如何自己系統的學python

學習Python是一項很好的投資,因為它是一種既強大又易于學習的編程語言,適用于多種應用,如數據分析、人工智能、網站開發等。下面是一個系統學習Python的步驟建議: 基礎準備 安裝Python: 訪問Python官網下載最新版本的…

微服務獲取當前登錄用戶信息

一,實現思路 1,基于JWT令牌登陸方式 JWT實現登錄的,登錄信息就保存在請求頭的token中。因此要獲取當前登錄用戶,只要獲取請求頭,解析其中的token。 1),Gateway網關攔截,解析用戶信…

微信小程序-生命周期

頁面生命周期 onLoad: 頁面加載時觸發的方法,在這個方法中可以進行頁面初始化的操作,如獲取數據、設置頁面狀態等。 onShow: 頁面顯示時觸發的方法,在用戶進入頁面或從其他頁面返回該頁面時會調用此方法。可以在此方法中進行頁面數據刷新、動…

Onenote軟件新建筆記本時報錯:無法在以下位置新建筆記本

報錯現象: 當在OneNote軟件上,新建筆記本時: 然后,嘗試重新登錄微軟賬戶,也不行,提示報錯: 解決辦法: 打開一個新的記事本,復制粘貼以下內容: C:\Users\Adm…

Mysql中的事務

什么是事務: 多條sql語句,要么全部成功,要么全部失敗。 事務的特性: 1:原子性(Atomic): 組成一個事務的多個數據庫操作是一個不可分割的原子單元,只有所有操作都成功,整個事務才會…

在Unity中模擬實現手勢識別功能

在虛擬現實(VR)和增強現實(AR)的應用開發中,手勢識別技術扮演著至關重要的角色,它允許用戶以自然的方式與虛擬世界進行交云。然而,并非所有開發者都有條件使用真實的手勢識別硬件。本文介紹了如何在Unity中通過模擬的方式實現一個簡單的手勢識…

【LeetCode】1768_交替合并字符串_C

題目描述 給你兩個字符串 word1 和 word2 。請你從 word1 開始,通過交替添加字母來合并字符串。如果一個字符串比另一個字符串長,就將多出來的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 https://leetcode.cn/problems/merge-strings-al…

C++調用lua函數

C 調用Lua全局變量(普通) lua_getglobal(lua, "width");int width lua_tointeger(lua,-1);lua_pop(lua,1);std::cout << width << std::endl;lua_close(lua); 這幾行代碼要放到lua_pcall(lua, 0,0,0);之后才可以. C給lua傳遞變量 lua_pushstring(lua, …

Python 操作 Excel,如何又快又好?

?數據處理是 Python 的一大應用場景&#xff0c;而 Excel 則是最流行的數據處理軟件。因此用 Python 進行數據相關的工作時&#xff0c;難免要和 Excel 打交道。Python處理Excel 常用的系列庫有&#xff1a;xlrd、xlwt、xlutils、openpyxl ?xlrd &#xff0d; 用于讀取 Exce…

點云從入門到精通技術詳解100篇-基于點云網絡和 PSO 優化算法的手勢估計(續)

目錄 3 深度圖像處理及轉化 3.1 雙目深度攝像原理及深度圖的獲取 3.1.1 理想化雙目深度相機成像

day47_servlet

今日內容 0 復習昨日 1 接收請求 2 處理響應 0 復習昨日 HTTP請求中 請求行 請求方法,請求路徑 請求頭 頁面信息 請求正文 請求的數據 HTTP響應中 響應行 狀態碼 信息 響應頭 頁面信息 響應正文 要給瀏覽器的內容 1 接收請求 瀏覽器發出請求,經過web.xml映射匹配,找到Servlet…

STL容器之map和set

map和set ? c98支持的是單參數的隱式類型轉換&#xff0c;而c11支持多參數的隱式類型轉換&#xff1b; 1.map和set的使用 1.1set ? set實現key值不允許修改&#xff0c;是將iterator轉變成const_iterator&#xff1b;可以對同一個類型typedef成兩個不同的自定義標識符。即…

Rocky 9 安裝 R-CytoTRACE

官網給出的詳細指南&#xff0c;只是可能大家打不開或者懶得去看E文。 第一步&#xff0c;下載CytoTRACE安裝包。 wget https://cytotrace.stanford.edu/CytoTRACE_0.3.3.tar.gz 第二步&#xff0c;打開R或者Rstudio-server # 安裝依賴包 if (!requireNamespace("Bioc…

在vue中$nextTick 原理及作用

在vue中$nextTick 原理及作用 Vue 的 nextTick 其本質是對 JavaScript 執行原理 EventLoop 的一種應用。 nextTick 的核心是利用了如 Promise 、MutationObserver、setImmediate、setTimeout的原生 JavaScript 方法來模擬對應的微/宏任務的實現&#xff0c;本質是為了利用 Java…

每周AI新聞(2024年第9周)微軟與Mistral AI達成合作 | 谷歌發11B基礎世界模型 | 傳蘋果放棄電動汽車制造轉向生成式AI

這里是陌小北&#xff0c;一個正在研究硅基生命的碳基生命。正在努力成為寫代碼的里面背詩最多的&#xff0c;背詩的里面最會寫段子的&#xff0c;寫段子的里面代碼寫得最好的…廚子。 每周日解讀每周AI大事件。 大廠動向 【1】微軟與Mistral AI達成合作 微軟官宣與法國生成…

視頻云平臺——搭建SRS5平臺支持GB28181視頻流的推送

&#x1f4e2;歡迎點贊 &#xff1a;&#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff0c;賜人玫瑰&#xff0c;手留余香&#xff01;&#x1f4e2;本文作者&#xff1a;由webmote 原創&#x1f4e2;作者格言&#xff1a;新的征程&#xff0c;我們面對的不僅…

謹用ArrayList中的subList方法

謹用ArrayList中的subList方法 規范一&#xff1a; ArrayList 的 subList 結果不可強轉成 ArrayList&#xff0c;否則會拋出 ClassCastException 異常&#xff1a; public static void test7() {List<Integer> list new ArrayList<>();list.add(1);list.add(2);…

JavaWeb—— SpringBootWeb綜合案例(登錄功能、登錄校驗、異常處理)

案例-登錄認證 目錄 案例-登錄認證1. 登錄功能1.1 需求1.2 接口文檔1.3 思路分析1.4 功能開發1.5 測試 2. 登錄校驗2.1 問題分析2.2 會話技術2.2.1 會話技術介紹2.2.2 會話跟蹤方案2.2.2.1 方案一 - Cookie2.2.2.2 方案二 - Session2.2.2.3 方案三 - 令牌技術 2.3 JWT令牌2.3.1…

程序員眼中的“祖傳代碼”

引言 在IT界&#xff0c;特別是在Java項目中&#xff0c;“祖傳代碼”通常指的是那些經過長時間積累、由多位開發者共同維護、且蘊含深厚技術沉淀的代碼片段或模塊。這些代碼可能存在于項目的核心模塊&#xff0c;也可能是一些輔助性的工具類。它們承載著項目的歷史&#xff0…

Matlab 多項式插值(曲線擬合)

文章目錄 一、簡介二、實現代碼三、實現效果參考資料一、簡介 由于對曲線擬合有些興趣,這里就找了一些資料從最基本的方法來看一下曲線擬合的效果: 二、實現代碼 % **********