❶ 如何在基於 Ubuntu 的 linux 發行版上安裝最新的 Vim 9.0 | Linux 中國
在 Ubuntu Linux 環境下安裝最新版 Vim(版本 9.0)的教程為你提供了詳細步驟。盡管 Ubuntu 默認使用 Nano,但如果你是 Vim 的忠實用戶,無需舍棄已掌握的快捷鍵,可以按照以下方法獲取最新功能。
首先,在終端中通過以下命令安裝 Vim,但請注意這不會安裝最新版本:
檢查當前安裝的 Vim 版本:
然而,Vim 9.0 已經發布,而在 Ubuntu 官方倉庫中還未更新。解決辦法是使用非官方但活躍維護的 PPA(Personal Package Archive)來獲取最新版本。
在安裝前,建議備份任何自定義配置文件,然後添加 PPA 倉庫:
執行安裝命令:
如果之前安裝了舊版 Vim,這個步驟會升級到最新版。檢查新版本:
這個 PPA 適用於所有活躍的 Ubuntu 版本,對於新手用戶,了解 PPA 在 Ubuntu 中的應用也很重要。
如果你想恢復到 Ubuntu 官方的 Vim 版本,需先刪除現有的、通過 PPA 安裝的 Vim,可能需要備份自定義配置:
刪除 Vim 並還原到官方版本:
現在,只需使用 apt 命令安裝官方 Ubuntu Vim。
最後,盡情享受在 Ubuntu 上使用最新版 Vim 的體驗吧。
原文鏈接:itsfoss.com/install-lat...
❷ linux vim三種模式如何切換
Vim是從Vi發展出來的一個文本編輯器,代碼補完、編譯及錯誤跳轉等方面編程的功能特別豐富,相當於Windows中的記事本。
Linux中Vim編輯器的三種模式主要包含命令模式、輸入模式和底線命令模式,其作用如下:
第一、命令模式
當啟動vim/vi編輯器時,便進入了命令模式。此狀態下敲擊鍵盤動作會被vim識別為命令,而非輸入字元,比如按下i,並不會輸入一個字元,i被當作一個命令。
i切換到輸入模式,以輸入字元;
x刪除當前游標所在處的字元;
:切換到底線命令模式,以在最底一行輸入命令。
如果想要編輯文本,啟動vim進入命令模式後,按下i,切換到輸入模式;命令模式只有一些基本的命令,因此仍需要依靠底線命令模式來輸入更多命令。
第二、輸入模式
vim編輯器啟動後,在命令模式下按i就會進入輸入模式,在輸入模式中,可以使用以下按鍵:
字元按鍵以及shift組合,輸入字元
ENTER,回車鍵,換行
BACK SPACE,退格鍵,刪除游標前一個字元
DEL,刪除鍵,刪除游標後一個字元
方向鍵,在文本中移動游標
HOME/END,移動游標到行首或者行尾
Page Up/Page Down,上/下翻頁
Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式
第三、底線命令模式
在命令模式下按下:就進入底線命令模式(英文冒號)。
底線命令模式可以輸入單個或多個字元的命令,可用的命令非常多。
在底線命令模式中,基本的命令有:
:q 退出程序
:w 保存文件
:wq 保存文件並退出程序
按ESC鍵可隨時退出底線命令模式
❸ linux中vi編輯器怎樣使用
Vim 是 Vi improved 的縮寫,是 vi 的改進版。在Linux中,vi 被認為是事實上的標准編輯器,因為:
所有版本的 Linux 都帶有 vi 編輯器;
佔用資源少;
與 ed、ex 等其他編輯器相比,vi 對用戶更加友好。
你可以使用 vi 編輯器編輯現有的文件,也可以創建一個新文件,還能以只讀模式打開文本文件。
進入 vi 編輯器
可以通過以下方式進入 vi 編輯器:
命令
描述
vi filename 如果filename存在,則打開;否則會創建一個新文件再打開。
vi -R filename 以只讀模式(只能查看不能編輯)打開現有文件。
view filename 以只讀模式打開現有文件。
例如,使用 vi 編輯器創建一個新文件並打開:$vi testfile
|
~
~
~
~
~
~
~
~
~
~
~
~
"testfile" [New File]
豎線(|)代表游標的位置;波浪號(~)代表該行沒有任何內容。如果沒有 ~,也看不到任何內容,那說明這一行肯定是有空白字元(空格、tab 縮進、換行符等)或不可見字元。
工作模式
進一步了解 vi 之前先來了解一下 vi 的工作模式,vi 有三種工作模式:
1) 普通模式
由Shell進入vi編輯器時,首先進入普通模式。在普通模式下,從鍵盤輸入任何字元都被當作命令來解釋。普通模式下沒有任何提示符,輸入命令後立即執行,不需要回車,而且輸入的字元不會在屏幕上顯示出來。
普通模式下可以執行命令、保存文件、移動游標、粘貼復制等。
2) 編輯模式
編輯模式主要用於文本的編輯。該模式下用戶輸入的任何字元都被作為文件的內容保存起來,並在屏幕上顯示出來。
3) 命令模式
命令模式下,用戶可以對文件進行一些高級處理。盡管普通模式下的命令可以完成很多功能,但要執行一些如字元串查找、替換、顯示行號等操作還是必須要進入命令模式。
注意:有些教程中稱有兩種工作模式,是把命令模式合並到普通模式。
工作模式切換:
在普通模式下輸入 i(插入)、c(修改)、o(另起一行) 命令時進入編輯模式;按 esc 鍵退回到普通模式。
在普通模式下輸入冒號(:)可以進入命令模式。輸入完命令按回車,命令執行完後會自動退回普通模式。
提示:如果不確定當前處於哪種模式,按兩次 Esc 鍵將回到普通模式。
退出 vi 編輯器
一般在命令模式下退出 vi 編輯器。
退出命令
說明
q 如果文件未被修改,會直接退回到Shell;否則提示保存文件。
q! 強行退出,不保存修改內容。
wq w 命令保存文件,q 命令退出 vi,合起來就是保存並退出。
ZZ 保存並退出,相當於 wq,但是更加方便。
退出之前,你也可以在 w 命令後面指定一個文件名,將文件另存為新文件,例如:w filename2
將當前文件另存為 filename2。
注意:vi 編輯文件時,用戶的操作都是基於緩沖區中的副本進行的。如果退出時沒有保存到磁碟,則緩沖區中的內容就會被丟失。
移動游標
為了不影響文件內容,必須在普通模式(按兩次 Esc 鍵)下移動游標。使用下表中的命令每次可以移動一個字元:
命令
描述
k 向上移動游標(移動一行)
j 向下移動游標(移動一行)
h 向左移動游標(移動一個字元)
l 向右移動游標(移動一個字元)
兩點提醒:
vi 是區分大小寫的,輸入命令時注意不要鎖定大寫。
可以在命令前邊添加一個數字作為前綴,例如,2j 將游標向下移動兩行。
當然,還有很多其他命令來移動游標,不過記住,一定要在普通模式(按兩次 Esc 鍵)下。
用來移動游標的命令
命令
說明
0 或 | 將游標定位在一行的開頭。
$ 將游標定位在一行的末尾。
w 定位到下一個單詞。
b 定位到上一個單詞。
( 定位到一句話的開頭,句子是以 ! . ? 三種符號來界定的。
) 定位到一句話的結尾。
{ 移動到段落開頭。&&&&&&
} 移動到段落結束。&&&&&&&&&
[[ 回到段落的開頭處。&&&&&&&&&&
]] 向前移到下一個段落的開頭處。&&&&&&&&&&
n| 移動到第 n 列(當前行)。
1G 移動到文件第一行。
G 移動到文件最後一行。
nG 移動到文件第 n 行。
:n 移動到文件第 n 行。
H 移動到屏幕頂部。
nH 移動到距離屏幕頂部第 n 行的位置。
M 移動到屏幕中間。
L 移動到屏幕底部。
nL 移動到距離屏幕底部第 n 行的位置。
:x x 是一個數字,表示移動到行號為 x 的行。
控制命令
有一些控制命令可以與 Ctrl 鍵組合使用,如下:
命令
描述
CTRL+d 向前滾動半屏
CTRL+f 向前滾動全屏
CTRL+u 向後滾動半屏
CTRL+b 向後滾動整屏
CTRL+e 向上滾動一行
CTRL+y 向下滾動一行
CTRL+I 刷新屏幕
編輯文件
切換到編輯模式下才能編輯文件。有很多命令可以從普通模式切換到編輯模式,如下所示:
命令
描述
i 在當前游標位置之前插入文本
I 在當前行的開頭插入文本
a 在當前游標位置之後插入文本
A 在當前行的末尾插入文本
o 在當前位置下面創建一行
O 在當前位置上面創建一行
刪除字元
下面的命令,可以刪除文件中的字元或行:
命令
說明
x 刪除當前游標下的字元
X 刪除游標前面的字元
dw 刪除從當前游標到單詞結尾的字元
d^ 刪除從當前游標到行首的字元
d$ 刪除從當前游標到行尾的字元
D 刪除從當前游標到行尾的字元
dd 刪除當前游標所在的行
可以在命令前面添加一個數字前綴,表示重復操作的次數,例如,2x 表示連續兩次刪除游標下的字元,2dd 表示連續兩次刪除游標所在的行。
建議各位讀者多加練習上面的命令,再進一步深入學習。
修改文本
如果你希望對字元、單詞或行進行修改,可以使用下面的命令:
命令
描述
cc 刪除當前行,並進入編輯模式。
cw 刪除當前字(單詞),並進入編輯模式。
r 替換當前游標下的字元。
R 從當前游標開始替換字元,按 Esc 鍵退出。
s 用輸入的字元替換當前字元,並進入編輯模式。
S 用輸入的文本替換當前行,並進入編輯模式。
粘貼復制
vi 中的復制粘貼命令:
命令
描述
yy 復制當前行
nyy 復制n行
yw 復制一個字(單詞)
nyw 復制n行
p 將復制的文本粘貼到游標後面
P 將復制的文本粘貼到游標前面
高級命令
下面的一些命令雖然看起來有些古怪,但是會讓你的工作更有效率,如果你是 vi 重度用戶,就了解一下吧。
命令
說明
J 將當前行和下一行連接為一行
<< 將當前行左移一個單位(一個縮進寬度)
>> 將當前行右移一個單位(一個縮進寬度)
~ 改變當前字元的大小寫
^G Ctrl+G組合鍵可以顯示當前文件名和狀態
U 撤銷對當前行所做的修改
u 撤銷上次操作,再次按 'u' 恢復該次操作
:f 以百分號(%)的形式顯示當前游標在文件中的位置、文件名和文件的總行數
:f filename 將文件重命名為 filename
:w filename 保存修改到 filename
:e filename 打開另一個文件名為 filename 的文件
:cd dirname 改變當前工作目錄到 dirname
:e # 在兩個打開的文件之間進行切換
:n 如果用 vi 打開了多個文件,可以使用 :n 切換到下一個文件
:p 如果用 vi 打開了多個文件,可以使用 :n 切換到上一個文件
:N 如果用 vi 打開了多個文件,可以使用 :n 切換到上一個文件
:r file 讀取文件並在當前行的後邊插入
:nr file 讀取文件並在第 n 行後邊插入
文本查找
如果希望進行全文件搜索,可以在普通模式(按兩次 Esc 鍵)下輸入 / 命令,這時狀態欄(最後一行)出現"/"並提示輸入要查找的字元串,回車即可。
/ 命令是向下查找,如果希望向上查找,可以使用 ? 命令。
這時,輸入 n 命令可以按相同的方向繼續查找,輸入 N 命令可以按相反的方向繼續查找。
搜索的字元串中可以包含一些有特殊含義的字元,如果希望搜索這些字元本身,需要在前面加反斜杠(\)。
部分特殊字元列表
字元
說明
^ 匹配一行的開頭
. 匹配一個字元
* 匹配0個或多個字元
$ 匹配一行的結尾
[ ] 匹配一組字元
如果希望搜索某行中的單個字元,可以使用 f 或 F 命令,f 向上搜索,F 向下搜索,並且會把游標定位到匹配的字元。
也可以使用 t 或 T 命令:t 命令向上搜索,並把游標定位到匹配字元的前面;T 命令向下搜索,並把游標定位到匹配字元的後面。
set 命令
set 命令可以對 vi 編輯器進行一些設置。使用 set 命令需要進入命令模式。
:set 命令選項
命令
說明
:set ic 搜索時忽略大小寫。
:set ai 設置自動縮進(自動對齊)。
:set noai 取消自動縮進(自動對齊)。
:set nu 顯示行號。
:set sw 設置縮進的空格數,例如,將縮進空格數設置為4::set sw=4。
:set ws 循環搜索:如果直到文件末尾也沒有查找到指定字元,那麼會回到開頭繼續查找。
:set wm 設置自動換行,例如,設置距離邊際2個字元時換行::set wm=2 。
:set ro 將文件類型改為只讀。
:set term 輸出終端類型。
:set bf 忽略輸入的控制字元,如 BEL(響鈴)、BS(退格)、CR(回車)等。
運行命令
切換到命令模式,再輸入 ! 命令即可運行 Linux 命令。
例如,保存文件前,如果希望查看該文件是否存在,那麼輸入:! ls
即可列出當前目錄下的文件。
按任意鍵回到 vi 編輯器。
文本替換
切換到命令模式,再輸入 s/ 命令即可對文本進行替換。語法為::s/search/replace/g
search 為檢索的文本,replace 為要替換的文本,g 表示全局替換。