<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

vi與Vim有什么區別

阿銘linux ? 來源:阿銘linux ? 作者:阿銘linux ? 2022-11-01 08:58 ? 次閱讀

前面我們多次提到過vi命令,它是Linux中必不可少的工具。早期的Unix都是使用vi作為系統默認的編輯器。也許你會問,vi與Vim有什么區別?其實Vim是vi的升級版。很多Linux系統管理員都習慣用vi,因為他們接觸Linux時用的就是vi,Vim到后來才比較流行。所以無論用vi還是Vim,只要能達到我們想要的目的即可。

在阿銘看來,vi和Vim的最大區別就是編輯一個文本時vi不會顯示顏色,而Vim會顯示顏色。顯示顏色更便于用戶進行編輯,但其他功能沒有太大的區別。所以,在Linux系統下,使用vi還是Vim完全取決你的個人喜好。

如果你的系統里沒有Vim工具,請按如下方法安裝它:

#yuminstall-yvim-enhanced

8.1Vim的3種常用模式

Vim有3種模式:一般模式、編輯模式和命令模式,這需要我們牢記。

8.1.1一般模式

當我們使用命令vim filename編輯文件時,默認進入該文件的一般模式。在這個模式下,你可以做的操作有:上下移動光標、刪除某個字符、刪除某行以及復制或粘貼一行或者多行。下面我們先復制一個文件,然后使用Vim打開該文件,如下所示:

#cp/etc/man_db.conf/tmp/1.txt#因為該文件行比較多,適合我們做實驗
#vim/tmp/1.txt

首先復制一個文件到/tmp/目錄下,并改名為1.txt。然后使用Vim工具編輯它,按回車后進入文件1.txt,該模式就是一般模式。在該模式下,我們可以移動光標的位置,操作方法如表8-1所示。

8-1移動光標

按鍵 作用
h或者向左的方向鍵 光標向左移動一個字符
l(小寫字母l)或者向右的方向鍵 光標向右移動一個字符
k或者向上的方向鍵 光標向上移動一個字符
j或者向下的方向鍵 光標向下移動一個字符
Ctrl+B 文本頁面向前翻一頁
Ctrl+F 文本頁面向后翻一頁
數字0或者Shift+6 移動到本行行首
Shift+4 移動到本行行尾
gg 移動到首行
G 移動到尾行
nG(n是任意數字) 移動到第n行

在一般模式下,我們還可以實現字符或字符串的復制、刪除、粘貼等操作,如表8-2所示。

表8-2刪除、復制和粘貼

按鍵 作用
x和X x表示向后刪除一個字符,X表示向前刪除一個字符
nx 向后刪除n個字符
dd 刪除/剪切光標所在的那一行
ndd(n為number的縮寫) 刪除/剪切光標所在行之后的n行
yy 復制光標所在行
p 從光標所在行開始,向下粘貼已經復制或者粘貼的內容
P 從光標所在行開始,向上粘貼已經復制或者粘貼的內容
nyy 從光標所在行開始,向下復制n行
u 還原上一步操作
v 按v后移動光標會選中指定字符,然后可以實現復制、粘貼等操作

8.1.2編輯模式

在一般模式下不可以修改某一個字符,如果要修改字符,只能進入編輯模式。從一般模式進入編輯模式,只需按i、I、a、A、o、O、r和R中的某一個鍵即可。當進入編輯模式時,在屏幕的尾行會顯示INSERT或REPLACE的字樣(如果你的Linux支持中文,則會顯示“插入”)。從編輯模式回到一般模式,只需按Esc鍵即可。具體行為對照表如表7-3所示。

表8-3進入編輯模式

按鍵 作用
i 在當前字符前插入
I 在光標所在行的行首插入
a 在當前字符后插入
A 在光標所在行的行尾插入
o 在當前行的下一行插入新的一行
O 在當前行的上一行插入新的一行

8.1.3命令模式

在一般模式下,輸入:或者/即可進入命令模式。在該模式下,我們可以搜索某個字符或者字符串,也可以實現保存、替換、退出、顯示行號等操作,如表8-4所示。

表8-4命令模式

命令 作用
/word 在光標之后查找一個字符串word,按n向后繼續搜索
?word 在光標之前查找一個字符串word,按n向前繼續搜索
:n1,n2s/word1/word2/g 在n1和n2行之間查找word1并替換為word2,不加g則只替換每行的第一個word1
:1,$s/word1/word2/g 將文檔中所有的word1替換為word2,不加g則只替換每行的第一個word1

命令模式的其他功能,如表8-5表示。

表8-5命令模式的其他功能

命令 作用
:w 保存文本
:q 退出Vim
:w! 強制保存,在root用戶下,即使文本只讀也可以完成保存
:q! 強制退出,所有改動不生效
:wq 保存并退出
:set nu 顯示行號
:set nonu 不顯示行號

8.2Vim實踐

下面阿銘教你如何在一個空白文檔中寫入一段文字,然后保存。

首先輸入vim test.txt,直接按回車,進入一般模式,如下所示:

#vimtest.txt

然后按i鍵進入編輯模式,在窗口的左下角會顯示“- 插入 -”或者“- INSERT -”,這說明已進入插入模式,允許編輯文檔。下面阿銘輸入如下文字:

This
is a test file.
And
this is the first time to using "vim".
It's
easy to use "vim".
I like
to using it, do you like it?

編輯后,按Esc鍵,窗口左下角顯示的“- 插入 -”或者“- INSERT -”消失,然后輸入“:wq”,直接按回車保存剛才輸入的文字。如下所示:

This
is a test file.
And
this is the first time to using "vim".
It's
easy to use "vim".
I
like to using it, do you like it?
~
~
:wq

此時我們可以查看test.txt文檔的內容,如下所示:

#
cat test.txt
This
is a test file.
And
this is the first time to using "vim".
It's
easy to use "vim".
I like
to using it, do you like it?

Vim為全鍵盤操作的編輯器,在各模式下都有很多功能鍵。阿銘在前面幾個表中列出來的都是最常用的功能,你要多加練習,其他不常用的功能也需要你去了解一下。如果你能全部掌握阿銘列出來的功能,那么你基本上算是掌握了Vim。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11025

    瀏覽量

    207149
  • 窗口
    +關注

    關注

    0

    文章

    62

    瀏覽量

    10750
  • 編輯器
    +關注

    關注

    1

    文章

    793

    瀏覽量

    30600

原文標題:第八章 文本編輯器vim

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    linux中vi、vim編輯器常用的技巧

    今天浩道跟大家分享硬核干貨,關于linux中vi、vim編輯器常用的技巧!
    發表于 09-21 14:04 ?503次閱讀

    linux vi/vim的幾種常規操作

    vim是一個文本編輯器,在幾乎所有的linux發行版中都有vi/vim編輯器,但是這個編輯器非常有特色,剛接觸的時候在使用上可能會非常不習慣。
    發表于 09-22 09:02 ?564次閱讀

    什么是VIM?VIM文本編輯器的三種工作模式

    Vim (Vi improved)是從 Vi 發展出來的一個文本編輯器,簡單的來說,Vi 是老式的文本處理器,功能已經很齊全了,但還是有可以進步的地方。
    發表于 09-06 16:04 ?2693次閱讀
    什么是<b class='flag-5'>VIM</b>?<b class='flag-5'>VIM</b>文本編輯器的三種工作模式

    SPI和QSPI什么區別?

    SPI和QSPI什么區別?
    發表于 02-06 06:12

    proteus和protle什么區別

    proteus和protle什么區別
    發表于 06-21 09:55

    0603、0805和1206的電容什么區別?0603、0805和1206的電感什么區別?

    0603、0805和1206的電容什么區別?0603、0805和1206的電感什么區別?
    發表于 04-19 22:17

    vim和gcc區別

    給大家介紹下vim和gcc,這兩個搞不懂,代碼都寫不了。vim以前的版本叫做vi,兩者在配置上略微區別,操作系統默認都會安裝
    發表于 12-15 07:15

    什么是EEPROM?和FLASH什么區別?

    什么是EEPROM?和FLASH什么區別?
    發表于 01-24 06:48

    STM32的FSMC和FMC什么區別?

    STM32的FSMC和FMC什么區別呢? 有的系列,比如F103是FSMC,有的系列,M4就是FMC了。這兩者什么區別呢?
    發表于 09-26 06:17

    VIM培訓教程

    VIM培訓教程.rar VIM的歷史 Bram Moolenaar 在 80 年代末購入他的 Amiga 計算機時,Amiga 上還沒有他最常用的編輯器 vi。Bram 從一個開源的 vi
    發表于 03-13 14:14 ?0次下載

    VIM for windows

    VIM for windows Vim目前已經有類Unix版和Windows版,盡管vimvi已經改良了不少,但是初次使用還是會一頭霧水,不知如何操作,所以學習
    發表于 03-13 14:41 ?30次下載

    VIM編輯器學習

     Vim是一個類似于Vi的文本編輯器,不過在Vi的基礎上增加了很多新的特性,Vim普遍被推崇為類Vi編輯器中最好的一個,事實上真正的勁敵來自
    發表于 08-11 16:58 ?947次閱讀

    vi/vim使用進階

    vi/vim使用進階
    發表于 10-29 11:00 ?28次下載
    <b class='flag-5'>vi</b>/<b class='flag-5'>vim</b>使用進階

    Linux系統vivim)編輯器命令使用教程

    vivim)是上Linux非常常用的代碼編輯器,很多Linux發行版都默認安裝了vivim)。vi
    的頭像 發表于 10-12 16:53 ?4291次閱讀

    如何在Vim/Vi編輯器中復制、剪切和粘貼

    使用vim編輯文本文件時,復制,剪切和粘貼文本是最常執行的任務之一。Vim或早期版本Vi已預裝在macOS和所有Linux發行版。
    的頭像 發表于 12-09 16:54 ?1.1w次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>