• <big id="asigw"></big><big id="asigw"></big><tt id="asigw"></tt>
  • <tt id="asigw"><ruby id="asigw"></ruby></tt>
  • <tt id="asigw"></tt>
  • <li id="asigw"><big id="asigw"><li id="asigw"></li></big></li><big id="asigw"><big id="asigw"></big></big><tt id="asigw"></tt>
  • <tt id="asigw"></tt>
  • <ruby id="asigw"></ruby>
  • <big id="asigw"></big>
  • <xmp id="asigw">
  • <ruby id="asigw"></ruby>
  • <li id="asigw"><big id="asigw"><tt id="asigw"></tt></big></li>
  • <big id="asigw"></big><tt id="asigw"><ruby id="asigw"></ruby></tt><big id="asigw"><li id="asigw"></li></big>
  • <tt id="asigw"><big id="asigw"></big></tt>
  • <tt id="asigw"><tt id="asigw"><xmp id="asigw">
  • <tt id="asigw"></tt>
  • <ruby id="asigw"><big id="asigw"></big></ruby>
  • <xmp id="asigw"><big id="asigw"><xmp id="asigw">
  • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    當前位置:首頁  >  技術干貨  > Linux Vim編輯器的基本使用

    Linux Vim編輯器的基本使用

    來源:千鋒教育
    發布人:syq
    時間: 2022-09-27 10:13:25 1664244805

      一、[VIM]編輯器

      1)vi 概述

    Linux Vim編輯器的基本使用

      vi(visual editor)編輯器通常被簡稱為 vi,它是 Linux 和 Unix 系統上最基本的文本編輯器,類似于 Windows 系統下的 notepad(記事本)編輯器。

      2)vim 編輯器

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

      3)vim 編輯器的安裝

      ☆ 已安裝

      Linux 通常都已經默認安裝好了 vi 或 Vim 文本編輯器,我們只需要通過 vim 命令就可以直接打開 vim 編輯器了,如下圖所示:

    1

      ☆ 未安裝

      有些精簡版的 Linux 操作系統,默認并沒有安裝 vim 編輯器(可能自帶的是 vi 編輯器)。當我們在終端中輸入 vim 命令時,系統會提示 "command not found"。

      解決辦法:有網的前提下,可以使用 yum 工具對 vim 編輯器進行安裝

    2

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

      ☆ 命令模式

      使用 VIM 編輯器時,默認處于命令模式。在該模式下可以移動光標位置,可以通過快捷鍵對文件內容進行復制、粘貼、刪除等操作。

      ☆ 編輯模式或輸入模式

      在命令模式下輸入小寫字母 a 或小寫字母 i 即可進入編輯模式,在該模式下可以對文件的內容進行編輯

      ☆ 末行模式

      在命令模式下輸入冒號: 即可進入末行模式,可以在末行輸入命令來對文件進行查找、替換、保存、退出等操作

      ☆ 可視化模式

      可以做一些列選操作(通過方向鍵選擇某些列的內容, 類似于 Windows 鼠標刷黑)

      二、VIM 四種模式的關系

      1)VIM 四種模式

      命令模式

      編輯模式

      末行模式

      可視化模式

      2)VIM 四種模式的關系

    3

      三、VIM 編輯器的使用

      1)使用 vim 打開文件 基本語法:

    4

     ?、?如果文件已存在,則直接打開

     ?、?如果文件不存在,則 vim 編輯器會自動在內存中創建一個新文件

      案例:使用 vim 命令打開 readme.txt 文件

    4

      2)vim 編輯器保存文件

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

    5

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

      在任何模式下,連續按兩次 Esc 鍵,即可返回到命令模式。然后按冒號:,進入到末行模式,輸入 q!,代表強制退出但是不保存文件。

    6

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

      ☆ 如何進入命令模式

      答:在 Linux 操作系統中,當我們使用 vim 命令直接打開某個文件時,默認進入的就是命令模式。如果我們處于其他模式(編輯模式、可視化模式以及末行模式)可以連續按兩次 Esc 鍵也可以返回命令模式

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

     ?、?移動光標 ② 復制 粘貼 ③ 剪切 粘貼 刪除 ④ 撤銷與恢復

      ☆ 移動光標到首行或末行(!)

      移動光標到首行 => gg

      移動光標到末行 => G

      ☆ 翻屏

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

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

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

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

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

      行號 + G,如 150G 代表快速移動光標到第 150 行。

      ☆ 復制 / 粘貼(!)

     ?、?復制當前行(光標所在那一行)

      按鍵:yy

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

     ?、?從當前行開始復制指定的行數,如復制 5 行,5yy

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

      ☆ 剪切 / 刪除(!)

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

      如果剪切了文件,但是沒有使用 p 進行粘貼,就是刪除操作

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

     ?、?剪切 / 刪除當前光標所在行

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

      粘貼:p

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

     ?、?剪切 / 刪除多行(從當前光標所在行開始計算)

      按鍵:數字 dd

      粘貼:p

      特殊用法:

     ?、?剪切 / 刪除光標所在的當前行(光標所在位置)之后的內容,但是刪除之后下一行不上移

      按鍵:D (刪除之后當前行會變成空白行)

      ☆ 撤銷 / 恢復(!)

      撤銷:u(undo)

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

      總結

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

     ?、?命令模式能做什么?移動光標、復制 / 粘貼、剪切 / 刪除、撤銷與恢復

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

    7

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

      ☆ 如何進入末行模式

      進入末行模式的方法只有一個,在命令模式下使用冒號:的方式進入。

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

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

      ☆ 保存 / 退出(!)

      :w => 代表對當前文件進行保存操作,但是其保存完成后,并沒有退出這個文件

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

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

      如果一個文件在編輯時沒有名字,則可以使用: wq 文件名稱,代表把當前正在編輯的文件保存到指定的名稱中,然后退出

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

      ☆ 查找 / 搜索(!)

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

      進入到末行模式后,輸入要查找或搜索的關鍵詞,然后回車

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

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

      ☆ 文件內容的替換(!)

      第一步:首先要進入末行模式(在命令模式下輸入冒號:)

      第二步:根據需求替換內容

     ?、?只替換光標所在這一行的第一個滿足條件的結果(只能替換 1 次)

    8

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

    9

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

    10

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

    11

     ?、?針對整個文檔中的所有行進行替換,只替換每一行中滿足條件的第一個結果

    12

      案例:把每一行中的第一個 hello 關鍵詞都替換為 hi

    13

     ?、?針對整個文檔中的所有關鍵詞進行替換(只要滿足條件就進行替換操作)

      :%s/要替換的關鍵詞/替換后的關鍵詞/g 案例:替換整個文檔中的 hello 關鍵詞為 hi

    14

      ☆ 顯示行號

      基本語法:

    15

      取消行號 => :set nonu

      ☆ set paste 模式

      為什么要使用 paste 模式?

      問題:在終端 Vim 中粘貼代碼時,發現插入的代碼會有多余的縮進,而且會逐行累加。原因是終端把粘貼的文本存入鍵盤緩存(Keyboard Buffer)中,Vim 則把這些內容作為用戶的鍵盤輸入來處理。導致在遇到換行符的時候,如果 Vim 開啟了自動縮進,就會默認的把上一行縮進插入到下一行的開頭,最終使代碼變亂。

      在粘貼數據之前,輸入下面命令開啟 paste 模式

    16

      粘貼完畢后,輸入下面命令關閉 paste 模式

    17

      總結

     ?、?如何進入末行模式,必須從命令模式中使用冒號進行切換

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

     ?、?保存 => :w

     ?、?退出 => :q,先保存后退出。:wq :wq 文件名稱 :q!

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

     ?、?替換功能

      :s/要替換的關鍵詞/替換后的關鍵詞

      :s/要替換的關鍵詞/替換后的關鍵詞/g

      :%s/要替換的關鍵詞/替換后的關鍵詞

      :%s/要替換的關鍵詞/替換后的關鍵詞/g

     ?、?顯示行號 => :set nu 取消行號 => :set nonu

     ?、?paste 模式 => 將來在粘貼代碼的時候為了保存原格式 => 粘貼之前 => :set paste

      四、編輯模式

      1)編輯模式的作用

      編輯模式的作用比較簡單,主要是實現對文件的內容進行編輯模式。

      2)如何進入編輯模式

      首先你需要進入到命令模式,然后使用小寫字母 a 或小寫字母 i,進入編輯模式。

      命令模式 + i :insert 縮寫,代表在光標之前插入內容

      命令模式 + a :append 縮寫,代表在光標之后插入內容

      3)退出編輯模式

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

      五、可視化模式

      1)如何進入到可視化模式

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

      退出可視模式按下 Esc

      2)可視化模式復制操作

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

      第二步:使用方向鍵↑ ↓ ← →選擇要復制的內容,然后按 y 鍵

      第三步:移動光標,停在需要粘貼的位置,按 p 鍵進行粘貼操作

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

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

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

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

      第四步:按下鍵盤(大寫)“I” 鍵,進入插入模式(Shift + i)

      第五步:輸入 #號注釋符

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

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

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

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

      第三步:使用鍵盤上的方向鍵的上下選中需要移除的 #號注釋

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

      六、VIM 編輯器實用功能

      1)代碼著色

      之前說過 vim 是 vi 的升級版本,其中比較典型的區別就是 vim 更加適合 coding,因為 vim 比 vi 多一個代碼著色的功能,這個功能主要是為程序員提供編程語言升的語法顯示效果,如下:

      第一步:定義后綴名為網頁文件的代碼文件

    18

      第二步:編寫對應的 PHP 代碼

    19

      在 VIM 編輯器中,我們可以通過:syntax on或:syntax off開啟或關閉代碼著色功能。

      2)異常退出解決方案

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

      溫馨提示:每個文件的異常文件都會有所不同,其命名規則一般為.文件名稱.swp

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

    20

      3)退出 vim 編輯器

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

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

     ?、?如果文件沒有被修改,但是使用 wq 進行退出的話,則文件的修改時間會被更新;但是如果文件沒有被修改,使用 x 進行退出的話,則文件修改時間不會被更新的;主要是會混淆用戶對文件的修改時間的認定。

    tags:
    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
    10年以上業內強師集結,手把手帶你蛻變精英
    請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
    免費領取
    今日已有369人領取成功
    劉同學 138****2860 剛剛成功領取
    王同學 131****2015 剛剛成功領取
    張同學 133****4652 剛剛成功領取
    李同學 135****8607 剛剛成功領取
    楊同學 132****5667 剛剛成功領取
    岳同學 134****6652 剛剛成功領取
    梁同學 157****2950 剛剛成功領取
    劉同學 189****1015 剛剛成功領取
    張同學 155****4678 剛剛成功領取
    鄒同學 139****2907 剛剛成功領取
    董同學 138****2867 剛剛成功領取
    周同學 136****3602 剛剛成功領取
    相關推薦HOT
    欧美精品一区二区天天
  • <big id="asigw"></big><big id="asigw"></big><tt id="asigw"></tt>
  • <tt id="asigw"><ruby id="asigw"></ruby></tt>
  • <tt id="asigw"></tt>
  • <li id="asigw"><big id="asigw"><li id="asigw"></li></big></li><big id="asigw"><big id="asigw"></big></big><tt id="asigw"></tt>
  • <tt id="asigw"></tt>
  • <ruby id="asigw"></ruby>
  • <big id="asigw"></big>
  • <xmp id="asigw">
  • <ruby id="asigw"></ruby>
  • <li id="asigw"><big id="asigw"><tt id="asigw"></tt></big></li>
  • <big id="asigw"></big><tt id="asigw"><ruby id="asigw"></ruby></tt><big id="asigw"><li id="asigw"></li></big>
  • <tt id="asigw"><big id="asigw"></big></tt>
  • <tt id="asigw"><tt id="asigw"><xmp id="asigw">
  • <tt id="asigw"></tt>
  • <ruby id="asigw"><big id="asigw"></big></ruby>
  • <xmp id="asigw"><big id="asigw"><xmp id="asigw">