久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Linux Vim編輯器的基本使用

        Linux Vim編輯器的基本使用

        來(lái)源:千鋒教育
        發(fā)布人:syq
        時(shí)間: 2022-09-27 10:13:25 1664244805

          一、[VIM]編輯器

          1)vi 概述

        Linux Vim編輯器的基本使用

          vi(visual editor)編輯器通常被簡(jiǎn)稱(chēng)為 vi,它是 Linux 和 Unix 系統(tǒng)上最基本的文本編輯器,類(lèi)似于 Windows 系統(tǒng)下的 notepad(記事本)編輯器。

          2)vim 編輯器

          Vim(Vi improved) 是 vi 編輯器的加強(qiáng)版,比 vi 更容易使用。vi 的命令幾乎全部都可以在 vim 上使用。

          3)vim 編輯器的安裝

          ☆ 已安裝

          Linux 通常都已經(jīng)默認(rèn)安裝好了 vi 或 Vim 文本編輯器,我們只需要通過(guò) vim 命令就可以直接打開(kāi) vim 編輯器了,如下圖所示:

        1

          ☆ 未安裝

          有些精簡(jiǎn)版的 Linux 操作系統(tǒng),默認(rèn)并沒(méi)有安裝 vim 編輯器(可能自帶的是 vi 編輯器)。當(dāng)我們?cè)诮K端中輸入 vim 命令時(shí),系統(tǒng)會(huì)提示 "command not found"。

          解決辦法:有網(wǎng)的前提下,可以使用 yum 工具對(duì) vim 編輯器進(jìn)行安裝

        2

          4)vim 編輯器的四種模式(!)

          ☆ 命令模式

          使用 VIM 編輯器時(shí),默認(rèn)處于命令模式。在該模式下可以移動(dòng)光標(biāo)位置,可以通過(guò)快捷鍵對(duì)文件內(nèi)容進(jìn)行復(fù)制、粘貼、刪除等操作。

          ☆ 編輯模式或輸入模式

          在命令模式下輸入小寫(xiě)字母 a 或小寫(xiě)字母 i 即可進(jìn)入編輯模式,在該模式下可以對(duì)文件的內(nèi)容進(jìn)行編輯

          ☆ 末行模式

          在命令模式下輸入冒號(hào): 即可進(jìn)入末行模式,可以在末行輸入命令來(lái)對(duì)文件進(jìn)行查找、替換、保存、退出等操作

          ☆ 可視化模式

          可以做一些列選操作(通過(guò)方向鍵選擇某些列的內(nèi)容, 類(lèi)似于 Windows 鼠標(biāo)刷黑)

          二、VIM 四種模式的關(guān)系

          1)VIM 四種模式

          命令模式

          編輯模式

          末行模式

          可視化模式

          2)VIM 四種模式的關(guān)系

        3

          三、VIM 編輯器的使用

          1)使用 vim 打開(kāi)文件 基本語(yǔ)法:

        4

         ?、?如果文件已存在,則直接打開(kāi)

          ② 如果文件不存在,則 vim 編輯器會(huì)自動(dòng)在內(nèi)存中創(chuàng)建一個(gè)新文件

          案例:使用 vim 命令打開(kāi) readme.txt 文件

        4

          2)vim 編輯器保存文件

          在任何模式下,連續(xù)按兩次 Esc 鍵,即可返回到命令模式。然后按冒號(hào):,進(jìn)入到末行模式,輸入wq,代表保存并退出。

        5

          3)vim 編輯器強(qiáng)制退出(不保存)

          在任何模式下,連續(xù)按兩次 Esc 鍵,即可返回到命令模式。然后按冒號(hào):,進(jìn)入到末行模式,輸入 q!,代表強(qiáng)制退出但是不保存文件。

        6

          4)命令模式下的相關(guān)操作(!)

          ☆ 如何進(jìn)入命令模式

          答:在 Linux 操作系統(tǒng)中,當(dāng)我們使用 vim 命令直接打開(kāi)某個(gè)文件時(shí),默認(rèn)進(jìn)入的就是命令模式。如果我們處于其他模式(編輯模式、可視化模式以及末行模式)可以連續(xù)按兩次 Esc 鍵也可以返回命令模式

          ☆ 命令模式下我們能做什么

          ① 移動(dòng)光標(biāo) ② 復(fù)制 粘貼 ③ 剪切 粘貼 刪除 ④ 撤銷(xiāo)與恢復(fù)

          ☆ 移動(dòng)光標(biāo)到首行或末行(!)

          移動(dòng)光標(biāo)到首行 => gg

          移動(dòng)光標(biāo)到末行 => G

          ☆ 翻屏

          向上 翻屏,按鍵:ctrl + b (before) 或 PgUp

          向下 翻屏,按鍵:ctrl + f (after) 或 PgDn

          向上翻半屏,按鍵:ctrl + u (up)

          向下翻半屏,按鍵:ctrl + d (down)

          ☆ 快速定位光標(biāo)到指定行(!)

          行號(hào) + G,如 150G 代表快速移動(dòng)光標(biāo)到第 150 行。

          ☆ 復(fù)制 / 粘貼(!)

         ?、?復(fù)制當(dāng)前行(光標(biāo)所在那一行)

          按鍵:yy

          粘貼:在想要粘貼的地方按下 p 鍵【將粘貼在光標(biāo)所在行的下一行】, 如果想粘貼在光標(biāo)所在行之前,則使用 P 鍵

         ?、?從當(dāng)前行開(kāi)始復(fù)制指定的行數(shù),如復(fù)制 5 行,5yy

          粘貼:在想要粘貼的地方按下 p 鍵【將粘貼在光標(biāo)所在行的下一行】, 如果想粘貼在光標(biāo)所在行之前,則使用 P 鍵

          ☆ 剪切 / 刪除(!)

          在 VIM 編輯器中,剪切與刪除都是 dd

          如果剪切了文件,但是沒(méi)有使用 p 進(jìn)行粘貼,就是刪除操作

          如果剪切了文件,然后使用 p 進(jìn)行粘貼,這就是剪切操作

         ?、?剪切 / 刪除當(dāng)前光標(biāo)所在行

          按鍵:dd (刪除之后下一行上移)

          粘貼:p

          注意:dd 嚴(yán)格意義上說(shuō)是剪切命令,但是如果剪切了不粘貼就是刪除的效果。

         ?、?剪切 / 刪除多行(從當(dāng)前光標(biāo)所在行開(kāi)始計(jì)算)

          按鍵:數(shù)字 dd

          粘貼:p

          特殊用法:

         ?、?剪切 / 刪除光標(biāo)所在的當(dāng)前行(光標(biāo)所在位置)之后的內(nèi)容,但是刪除之后下一行不上移

          按鍵:D (刪除之后當(dāng)前行會(huì)變成空白行)

          ☆ 撤銷(xiāo) / 恢復(fù)(!)

          撤銷(xiāo):u(undo)

          恢復(fù):ctrl + r 恢復(fù)(取消)之前的撤銷(xiāo)操作【重做,redo】

          總結(jié)

         ?、?怎么進(jìn)入命令模式(vim 文件名稱(chēng),在任意模式下,可以連續(xù)按兩次 Esc 鍵即可返回命令模式)

          ② 命令模式能做什么?移動(dòng)光標(biāo)、復(fù)制 / 粘貼、剪切 / 刪除、撤銷(xiāo)與恢復(fù)

          首行 => gg,末行 => G 翻屏(了解) 快速定位 行號(hào) G,如 150G

        7

          5)末行模式下的相關(guān)操作(!)

          ☆ 如何進(jìn)入末行模式

          進(jìn)入末行模式的方法只有一個(gè),在命令模式下使用冒號(hào):的方式進(jìn)入。

          ☆ 末行模式下我們能做什么

          文件保存、退出、查找與替換、顯示行號(hào)、paste 模式等等

          ☆ 保存 / 退出(!)

          :w => 代表對(duì)當(dāng)前文件進(jìn)行保存操作,但是其保存完成后,并沒(méi)有退出這個(gè)文件

          :q => 代表退出當(dāng)前正在編輯的文件,但是一定要注意,文件必須先保存,然后才能退出

          :wq => 代表文件先保存后退出(保存并退出)

          如果一個(gè)文件在編輯時(shí)沒(méi)有名字,則可以使用: wq 文件名稱(chēng),代表把當(dāng)前正在編輯的文件保存到指定的名稱(chēng)中,然后退出

          :q! => 代表強(qiáng)制退出但是文件未保存(不建議使用)

          ☆ 查找 / 搜索(!)

          切換到命令模式,然后輸入斜杠 /(也是進(jìn)入末行模式的方式之一)

          進(jìn)入到末行模式后,輸入要查找或搜索的關(guān)鍵詞,然后回車(chē)

          如果在一個(gè)文件中,存在多個(gè)滿足條件的結(jié)果。在搜索結(jié)果中切換上 / 下一個(gè)結(jié)果:N/n (大寫(xiě) N 代表上一個(gè)結(jié)果,小寫(xiě) n 代表 next)

          如果需要取消高亮,則需要在末行模式中輸入:noh【no highlight】

          ☆ 文件內(nèi)容的替換(!)

          第一步:首先要進(jìn)入末行模式(在命令模式下輸入冒號(hào):)

          第二步:根據(jù)需求替換內(nèi)容

         ?、?只替換光標(biāo)所在這一行的第一個(gè)滿足條件的結(jié)果(只能替換 1 次)

        8

          案例:把 hello rhel 中的 rhel 替換為 rhel8

        9

         ?、?替換光標(biāo)所在這一行中的所有滿足條件的結(jié)果(替換多次,只能替換一行)

        10

          案例:把 hello rhel 中的所有 rhel 都替換為 rhel8

        11

         ?、?針對(duì)整個(gè)文檔中的所有行進(jìn)行替換,只替換每一行中滿足條件的第一個(gè)結(jié)果

        12

          案例:把每一行中的第一個(gè) hello 關(guān)鍵詞都替換為 hi

        13

         ?、?針對(duì)整個(gè)文檔中的所有關(guān)鍵詞進(jìn)行替換(只要滿足條件就進(jìn)行替換操作)

          :%s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞/g 案例:替換整個(gè)文檔中的 hello 關(guān)鍵詞為 hi

        14

          ☆ 顯示行號(hào)

          基本語(yǔ)法:

        15

          取消行號(hào) => :set nonu

          ☆ set paste 模式

          為什么要使用 paste 模式?

          問(wèn)題:在終端 Vim 中粘貼代碼時(shí),發(fā)現(xiàn)插入的代碼會(huì)有多余的縮進(jìn),而且會(huì)逐行累加。原因是終端把粘貼的文本存入鍵盤(pán)緩存(Keyboard Buffer)中,Vim 則把這些內(nèi)容作為用戶的鍵盤(pán)輸入來(lái)處理。導(dǎo)致在遇到換行符的時(shí)候,如果 Vim 開(kāi)啟了自動(dòng)縮進(jìn),就會(huì)默認(rèn)的把上一行縮進(jìn)插入到下一行的開(kāi)頭,最終使代碼變亂。

          在粘貼數(shù)據(jù)之前,輸入下面命令開(kāi)啟 paste 模式

        16

          粘貼完畢后,輸入下面命令關(guān)閉 paste 模式

        17

          總結(jié)

         ?、?如何進(jìn)入末行模式,必須從命令模式中使用冒號(hào)進(jìn)行切換

         ?、?末行模式下能做什么?保存、退出、查找、替換、顯示行號(hào)以及 paste 模式

         ?、?保存 => :w

          ④ 退出 => :q,先保存后退出。:wq :wq 文件名稱(chēng) :q!

          ⑤ 查找功能 => 命令模式輸入 / 斜杠 + 關(guān)鍵詞(高亮顯示)=> :noh

          ⑥ 替換功能

          :s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞

          :s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞/g

          :%s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞

          :%s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞/g

         ?、?顯示行號(hào) => :set nu 取消行號(hào) => :set nonu

          ⑧ paste 模式 => 將來(lái)在粘貼代碼的時(shí)候?yàn)榱吮4嬖袷?=> 粘貼之前 => :set paste

          四、編輯模式

          1)編輯模式的作用

          編輯模式的作用比較簡(jiǎn)單,主要是實(shí)現(xiàn)對(duì)文件的內(nèi)容進(jìn)行編輯模式。

          2)如何進(jìn)入編輯模式

          首先你需要進(jìn)入到命令模式,然后使用小寫(xiě)字母 a 或小寫(xiě)字母 i,進(jìn)入編輯模式。

          命令模式 + i :insert 縮寫(xiě),代表在光標(biāo)之前插入內(nèi)容

          命令模式 + a :append 縮寫(xiě),代表在光標(biāo)之后插入內(nèi)容

          3)退出編輯模式

          在編輯模式中,直接按 Esc,即可從編輯模式退出到命令模式。

          五、可視化模式

          1)如何進(jìn)入到可視化模式

          在命令模式中,直接按 ctrl + v(可視塊)或 V(可視行)或 v(可視),然后按下↑ ↓ ← →方向鍵來(lái)選中需要復(fù)制的區(qū)塊,按下 y 鍵進(jìn)行復(fù)制(不要按下 yy),最后按下 p 鍵粘貼

          退出可視模式按下 Esc

          2)可視化模式復(fù)制操作

          第一步:在命令模式下,直接按小 v,進(jìn)入可視化模式

          第二步:使用方向鍵↑ ↓ ← →選擇要復(fù)制的內(nèi)容,然后按 y 鍵

          第三步:移動(dòng)光標(biāo),停在需要粘貼的位置,按 p 鍵進(jìn)行粘貼操作

          3)為配置文件添加 #多行注釋(!)

          第一步:按 Esc 退出到命令模式,按 gg 切換到第 1 行

          第二步:然后按 Ctrl+v 進(jìn)入到可視化區(qū)塊模式(列模式)

          第三步:在行首使用上下鍵選擇需要注釋的多行

          第四步:按下鍵盤(pán)(大寫(xiě))“I” 鍵,進(jìn)入插入模式(Shift + i)

          第五步:輸入 #號(hào)注釋符

          第六步:輸入完成后,連續(xù)按兩次 Esc 即可完成添加多行注釋的過(guò)程

          4)為配置文件去除 #多行注釋(!)

          第一步:按 Esc 退出到命令模式,按 gg 切換到第 1 行

          第二步:然后按 Ctrl+v 進(jìn)入可視化區(qū)塊模式(列模式)

          第三步:使用鍵盤(pán)上的方向鍵的上下選中需要移除的 #號(hào)注釋

          第四步:直接按 Delete 鍵即可完成刪除注釋的操作

          六、VIM 編輯器實(shí)用功能

          1)代碼著色

          之前說(shuō)過(guò) vim 是 vi 的升級(jí)版本,其中比較典型的區(qū)別就是 vim 更加適合 coding,因?yàn)?vim 比 vi 多一個(gè)代碼著色的功能,這個(gè)功能主要是為程序員提供編程語(yǔ)言升的語(yǔ)法顯示效果,如下:

          第一步:定義后綴名為網(wǎng)頁(yè)文件的代碼文件

        18

          第二步:編寫(xiě)對(duì)應(yīng)的 PHP 代碼

        19

          在 VIM 編輯器中,我們可以通過(guò):syntax on或:syntax off開(kāi)啟或關(guān)閉代碼著色功能。

          2)異常退出解決方案

          什么是異常退出:在編輯文件之后并沒(méi)有正常的去 wq(保存退出),而是遇到突然關(guān)閉終端或者斷電的情況,則會(huì)顯示下面的效果,這個(gè)情況稱(chēng)之為異常退出:

          溫馨提示:每個(gè)文件的異常文件都會(huì)有所不同,其命名規(guī)則一般為.文件名稱(chēng).swp

          解決辦法:將交換文件(在編程過(guò)程中產(chǎn)生的臨時(shí)文件)刪除掉即可【在上述提示界面按下 D 鍵或者使用 rm 指令刪除交換文件】

        20

          3)退出 vim 編輯器

          回顧:在 vim 中,退出正在編輯的文件可以使用:q或者:wq除了上面的這個(gè)語(yǔ)法之外,vim 還支持另外一個(gè)保存退出 (針對(duì)內(nèi)容) 方法:x

         ?、?:x在文件沒(méi)有修改的情況下,表示直接退出(等價(jià)于:q),在文件修改的情況下表示保存并退出(:wq)

         ?、?如果文件沒(méi)有被修改,但是使用 wq 進(jìn)行退出的話,則文件的修改時(shí)間會(huì)被更新;但是如果文件沒(méi)有被修改,使用 x 進(jìn)行退出的話,則文件修改時(shí)間不會(huì)被更新的;主要是會(huì)混淆用戶對(duì)文件的修改時(shí)間的認(rèn)定。

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        大數(shù)據(jù)測(cè)試工程師需要具備哪些技能?

        一、理解大數(shù)據(jù)概念大數(shù)據(jù)測(cè)試工程師需要理解大數(shù)據(jù)的基本概念和原理,如分布式存儲(chǔ)、MapReduce、實(shí)時(shí)計(jì)算等。他們還需要了解如何處理大規(guī)模的...詳情>>

        2023-10-14 23:43:03
        為什么SpringBoot的 jar 可以直接運(yùn)行?

        一、JAR文件的結(jié)構(gòu)與執(zhí)行方式Spring Boot的JAR包是Java Archive的縮寫(xiě),它是一種壓縮文件格式,可以將Java項(xiàng)目的類(lèi)文件、資源文件以及依賴庫(kù)等...詳情>>

        2023-10-14 23:01:49
        站群服務(wù)器是什么?

        站群服務(wù)器的含義與用途站群服務(wù)器主要用于支持站群,即由一組相互鏈接的網(wǎng)站組成的群體。這些網(wǎng)站通常由同一組織或個(gè)人擁有,并且經(jīng)常會(huì)互相鏈...詳情>>

        2023-10-14 22:46:12
        自編碼器是什么?

        一、自編碼器原理自編碼器的設(shè)計(jì)靈感源于神經(jīng)科學(xué)中關(guān)于感知系統(tǒng)的認(rèn)知原理,它的核心思想是將輸入數(shù)據(jù)經(jīng)過(guò)編碼過(guò)程,形成一個(gè)隱藏層的特征表示...詳情>>

        2023-10-14 22:41:10
        什么是云網(wǎng)融合?

        一、云網(wǎng)融合的定義云網(wǎng)融合是指將云計(jì)算與網(wǎng)絡(luò)技術(shù)相結(jié)合,實(shí)現(xiàn)資源的共享、業(yè)務(wù)的協(xié)同,將網(wǎng)絡(luò)與云端服務(wù)深度融合,提供更靈活、高效、安全的...詳情>>

        2023-10-14 22:31:47
        快速通道
        温州市| 许昌市| 常山县| 墨脱县| 大渡口区| 金溪县| 普定县| 松潘县| 屏东市| 越西县| 靖安县| 永和县| 赣州市| 岳西县| 佛坪县| 登封市| 遵义县| 丽江市| 稻城县| 确山县| 囊谦县| 崇信县| 保靖县| 额尔古纳市| 凌云县| 榕江县| 霍林郭勒市| 麻江县| 济源市| 丰都县| 巴里| 同江市| 太谷县| 岑溪市| 卓尼县| 宝应县| 乌拉特中旗| 庐江县| 土默特左旗| 紫阳县| 清涧县|