日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

项目实训(树莓派)(十四)树莓派4B下的ubuntu系统下的vim的使用

發布時間:2024/1/8 windows 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目实训(树莓派)(十四)树莓派4B下的ubuntu系统下的vim的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

什么是vi/vim?

實驗目的

實驗環境

實驗內容與步驟


什么是vi/vim?


vi和vim都是在Linux系統下的標準的編輯器,你可以簡單類比為就像是windows系統下的記事本一樣,它們的功能都是十分強大并且豐富的,并不遜色于其他的一些文本編輯器。對于Linux系統的任何版本,vi和vim編輯器是沒有什么區別的。所以學會使用vi和vim編輯器對于我們更好的掌握和了解ubuntu系統和其他Linux系統有著重要的作用。vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。

vi和vim的區別便是你可以將vim看成是vi編輯器的升級版本:
1.vim具有程序編程的能力,可以通過字體顏色辨別語法的正確性,方便用戶進行程序設計和編程。2.同時vim可以通過多種顏色的方式來顯示一些特殊的信息。
3.vim會依據文件擴展名或者是文件內的開頭信息,判斷文件的內容然后自動的選擇執行該程序的語法判斷式,然后通過一些顏色來顯示程序代碼和一些一般的信息。
4.vim還支持正則表達式的搜索、多文件的編輯、快復制等功能,通過這些功能我們在Linux系統上進行一些文件的修改工作時便能變得方便許多。
基本上所有的Linux系統都會自帶vi文書編輯器,其他的文書編輯器則不一定會存在。

實驗目的


1.了解vim的基本原理
2.熟練掌握vim的基本使用方法


實驗環境


樹莓派4B、系統:Ubuntu 20.10系統 、Vim軟件


實驗內容與步驟

一、vim的基本使用以及其相關命令
1.vim的鍵盤圖:

2.基本上vim一共分為三種模式,分別是一般模式,編輯模式?命令行模式。 各個模式的功能區分如下:

一般模式:

以vim的方式打開一個文件就會直接進入一般模式(這是一個默認的模式)。在一般模式中,可以使用上下左右鍵來移動光標,也可以使用刪除字符或者刪除整行來處理文件的內容,也可以使用復制、粘貼來處理文件內容。此模式下敲擊鍵盤動作不會被當作輸入字符,而是會被vim識別為命令。比如我們此時按下鍵盤上的i,并不會被當作一個輸入字符,而是會被當做一個命令。若想要編輯文本:啟動Vim,進入了命令模式,按下i,切換到輸入模式。一般模式只有一些最基本的命令,因此仍要依靠命令行模式輸入更多命令。

編輯模式:

在命令模式下按下i就進入了輸入模式。

在輸入模式中,可以使用以下按鍵:

  • 字符按鍵以及Shift組合,輸入字符
  • ENTER,回車鍵,換行
  • BACK SPACE,退格鍵,刪除光標前一個字符
  • DEL,刪除鍵,刪除光標后一個字符
  • 方向鍵,在文本中移動光標
  • HOME/END,移動光標到行首/行尾
  • Page Up/Page Down,上/下翻頁
  • Insert,切換光標為輸入/替換模式,光標將變成豎線/下劃線
  • ESC,退出輸入模式,切換到命令模式

命令行模式:

在一般模式下按下:(英文冒號)就進入了命令行模式。

命令行模式可以輸入單個或多個字符的命令,可用的命令非常多。

在底線命令模式中,基本的命令有(已經省略了冒號):

  • q 退出程序
  • w 保存文件

按ESC鍵可隨時退出命令行模式。

可以用下圖來將這三個模式之間的轉換關系表示出來:

以下是三種模式下可用的命令說明:

第一部分:一般模式下可用的光標移動、復制粘貼、搜索替換

移動光標的常用命令
h、j、k、l 或者鍵盤上的方向鍵分別控制光標左、下、上、右移動一格
如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動光標。 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 "30j" 或 "30↓" 的組合按鍵, 亦即加上想要進行的次數(數字)后,按下動作即可!
[ctrl]+[b]屏幕向“上”移動一頁,相當于 [Page Down]按鍵 (常用)
[ctrl]+[f]屏幕往“下”移動一頁,相當于 [Page Up] 按鍵 (常用)
[ctrl]+[d]屏幕『向下』移動半頁
[ctrl]+[u]屏幕『向上』移動半頁
+光標移動到非空格符的下一行
-光標移動到非空格符的上一行
n<space>光標向右移動n個字符
0或功能鍵[Home]移動到這一行的最前面字符處: 0是數字,但不能用數字小鍵盤上的數字
$或功能鍵[End]移動到這一行的最后面字符處:$
w光標跳到下個字的開頭
e光標跳到下個字的字尾
H光標移動到這個屏幕的最上方那一行的第一個字符
M光標移動到這個屏幕的中間那一行的第一個字符
L光標移動到這個屏幕的最下方那一行的第一個字符
G移動到這個文件的最后一行
nG移動到這個文件的第n行(可配合:set nu)
gg移動到這個文件的第一行,相當于命令1G
n<Enter>光標向下移動n行
查找與替換的常用命令
/word向光標向下尋找一個名稱為word的字符串
?word向光標向上尋找一個名稱為word的字符串
n這個 n 是英文按鍵。代表重復前一個搜尋的動作。舉例來說, 如果剛剛我們執行 /vbird 去向下搜尋 vbird 這個字符串,則按下 n 后,會向下繼續搜尋下一個名稱為 vbird 的字符串。如果是執行 ?vbird 的話,那么按下 n 則會向上繼續搜尋名稱為 vbird 的字符串!
N這個 N 是英文按鍵。與 n 剛好相反,為『反向』進行前一個搜尋動作。 例如 /vbird 后,按下 N 則表示『向上』搜尋 vbird 。
使用 /word 配合 n 及 N 是非常有幫助的!可以讓你重復的找到一些你搜尋的關鍵詞!
:n1,n2s/word1/word2/gn1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字符串,并將該字符串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 并取代為 VBIRD 則:
『:100,200s/vbird/VBIRD/g』。(常用)
:1,$s/word1/word2/g 或?:%s/word1/word2/g從第一行到最后一行尋找word1這個字符串,并且將其替換成為word2 (常用)
:1,$s/word1/word2/gc 或?:%s/word1/word2/gc從第一行到最后一行尋找word1這個字符串,并且將其替換為word2.且在替換前顯示提示字符給用戶確認(confirm)是否需要替換。(常用)
刪除、復制與貼上常用命令
x, X

在一行字當中,x為向后刪除一個字符(相當于[del]按鍵),X為向前刪除一個字符(相當于[backspace]即是退格鍵)

nxn 為數字,連續向后刪除 n 個字符。舉例來說,我要連續刪除 10 個字符, 『10x』。
dd刪除游標所在的那一整行
nddn 為數字。刪除光標所在的向下 n 行,例如 20dd 則是刪除 20 行 (常用)
d1G刪除光標所在到第一行的所有數據
dG刪除光標所在到最后一行的所有數據
d$刪除游標所在處,到該行的最后一個字符
d0那個是數字的 0 ,刪除游標所在處,到該行的最前面一個字符
yy復制游標所在的那一行(常用)
nyyn 為數字。復制光標所在的向下 n 行,例如 20yy 則是復制 20 行(常用)
y1G復制游標所在行到第一行的所有數據
yG復制游標所在行到最后一行的所有數據
y0復制光標所在的那個字符到該行行首的所有數據
y$復制光標所在的那個字符到該行行尾的所有數據
p, Pp 為將已復制的數據在光標下一行貼上,P 則為貼在游標上一行! 舉例來說,我目前光標在第 20 行,且已經復制了 10 行數據。則按下 p 后, 那 10 行數據會貼在原本的 20 行之后,亦即由 21 行開始貼。但如果是按下 P 呢? 那么原本的第 20 行會被推到變成 30 行。 (常用)
J將光標所在行與下一行的數據結合成同一行
c重復刪除多個數據,例如向下刪除 10 行,[ 10cj ]
u復原前一個動作。(常用)
[Ctrl]+r重做上一個動作
這個 u 與 [Ctrl]+r 是很常用的指令!一個是復原,另一個則是重做一次~ 利用這兩個功能按鍵,你的編輯會變得很方便
.這是小數點,意思是重復前一個動作的意思。 如果你想要重復刪除、重復貼上等等動作,按下小數點『.』就好了! (常用)

第二部分:一般模式切換到編輯模式的可用的按鈕說明

進入輸入模式或取代模式的編輯模式命令
i, I進入輸入模式(Insert mode):
i 為『從目前光標所在處輸入』, I 為『在目前所在行的第一個非空格符處開始輸入』。 (常用)
a, A進入輸入模式(Insert mode):
a 為『從目前光標所在的下一個字符處開始輸入』, A 為『從光標所在行的最后一個字符處開始輸入』。(常用)
o, O進入輸入模式(Insert mode):
這是英文字母 o 的大小寫。o 為在目前光標所在的下一行處輸入新的一行; O 為在目前光標所在的上一行處輸入新的一行!(常用)
r, R進入取代模式(Replace mode):
r 只會取代光標所在的那一個字符一次;R會一直取代光標所在的文字,直到按下 ESC 為止;(常用)
上面這些按鍵中,在 vi 畫面的左下角處會出現『--INSERT--』或『--REPLACE--』的字樣。 由名稱就知道該動作了吧!!特別注意的是,我們上面也提過了,你想要在檔案里面輸入字符時, 一定要在左下角處看到 INSERT 或 REPLACE 才能輸入喔!
[Esc]退出編輯模式,回到一般模式中(常用)

第三部分:一般模式切換到命令行模式的可用的按鈕說明

指令行的儲存、離開等指令
:切換到命令行模式,以在最底一行輸入命令。
:w將編輯的數據寫入硬盤檔案中(常用)
:w!若文件屬性為『只讀』時,強制寫入該檔案。不過,到底能不能寫入, 還是跟你對該檔案的檔案權限有關
:q離開 vim(常用)
:q!若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。
注意一下啊,那個驚嘆號 (!) 在 vi 當中,常常具有『強制』的意思~
:wq儲存后離開,若為 :wq! 則為強制儲存后離開 (常用)
ZZ這是大寫的 Z 喔!如果修改過,保存當前文件,然后退出!效果等同于(保存并退出)
ZQ不保存,強制退出。效果等同于?:q!。
:w [filename]將編輯的數據儲存成另一個檔案(類似另存新檔)
:r [filename]在編輯的數據中,讀入另一個檔案的數據。亦即將 『filename』 這個檔案內容加到游標所在行后面
:n1,n2 w [filename]將 n1 到 n2 的內容儲存成 filename 這個檔案。
:! command暫時離開 vi 到指令行模式下執行 command 的顯示結果!例如
『:! ls /home』即可在 vi 當中察看 /home 底下以 ls 輸出的檔案信息!
vim環境的變更
:set nu顯示行號,設置之后,會在每一行的前綴顯示該行的行號
:set nonu與set nu 相反,為取消行號
:set hlsearch設置高亮度查找
:set nohlsearch取消高亮度查找
:set backup自動備份文件

:set ruler

開啟右下角狀態欄說明
:set showmode顯示左下角的INSERT之類的狀態欄
:set backspace={0,1,2}設置退格鍵功能。為2時可以刪任意字符。為0或1時僅可以刪除剛才輸入的字符。
:set all顯示目前所有的環境參數值
:set顯示與系統默認值不同的參數值
:syntax on/off是否開啟依據相關程序語法顯示不同的顏色
:set bg=dark/light是否顯示不同的顏色色調

特別注意,在 vi/vim 中,數字是很有意義的!數字通常代表重復做幾次的意思! 也有可能是代表去到第幾個什么什么的意思。

舉例來說,要刪除 50 行,則是用 『50dd』 對吧! 數字加在動作之前,如我要向下移動 20 行呢?那就是『20j』或者是『20↓』即可。

?二、vim使用實例

第一步:使用vim進入一般模式

第一種方法就是你可以在打開文件時就選擇使用vim軟件進行打開,例:

第二種方法就是通過終端的方式,打開ubuntu的終端,在終端中輸入以下命令用vim來建立一個名為vimtest.txt的文件。

$ vim vimtest.txt

直接輸入?vim 文件名?就能夠進入 vi 的一般模式了。請注意,記得 vi 后面一定要加文件名,不管該文件存在與否!

按下i鍵進入到編輯模式(也叫輸入模式),可以開始編輯文件內容

在一般模式之中,只要按下 i, o, a 等字符就可以進入輸入模式了!

在編輯模式當中,你可以發現在左下角狀態欄中會出現 –INSERT- 的字樣,那就是可以輸入任意字符的提示。

這個時候,鍵盤上除了?Esc?這個按鍵之外,其他的按鍵都可以視作為一般的輸入按鈕了,所以你可以進行任何的編輯。

開始進行編輯,輸入以下代碼:

def dayweek(day,month,year):offday = 0for x in range(1,year):if x % 400 == 0 or x % 4 == 0 and x % 100 != 0:offday += 366else:offday += 365if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:m = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30]else:m = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30]for n in range(month):offday += m[n]offday += dayweek = ['日','一','二','三','四','五','六']return week[(offday)%7]

編輯完成過后,按下ESC鍵返回到一般模式下:

在一般模式中按下?:wq?儲存后離開 vim

我們要存檔了,存盤并離開的指令很簡單,輸入?:wq?即可保存離開!

這樣我們就通過vim簡單地創建了一個文件!

目前主要的編輯器都有恢復功能,vim也不例外。vim是通過“保存”文件來挽回數據的。

每當我們在用vim編輯時,vim都會自動在被編輯的文件的目錄下面再新建一個名為filename.swap的文件。這就是一個暫存文件,我們對文件filename所做的操作都會被記錄到這個文件當中。如果系統意外崩潰,導致文件沒有正常保存,那么這個暫存文件就會發揮作用。例如:

下面舉個例子說明:

打開終端,輸入命令,用vim編輯file2.txt文件。

$ cd Documents $ vim file2.txt

我們在vim的一般模式下按下Ctrl+z組合鍵,vim就會被丟到后臺執行。回到命令提示符環境后,我們模擬將vim的工作不正常中斷。

再輸入命令終止掉上面的進程

$ kill

這樣導致暫存盤無法通過正常的流程結束,所以暫存文件不會消失,而是繼續保留下來。當再次編輯那個文件時(輸入命令vim manpath.config),出現如下情況:

這時,有五個按鈕可以使用:

[O]pen for Read-Only:打開成只讀文件。

(E)dit anyway:用正常方式打開要編輯的文件,并不會載入暫存文件的內容。這很容易出現兩個用戶相互改變對方的文件的問題。

(R)ecover:加載暫存文件的內容。

(Q)uit:不進行任何操作,回到命令行。

(A)bort:忽略這個編輯行為。

需要注意的是:這個暫存文件不會應為你結束vim后自動刪除,必須要手動刪除。否則每次打開對應的文件時都會出現這樣的提示。

三、vim的功能

1.塊選擇功能

這個功能可以讓我們復制一個矩形區域的內容,十分方便。

v:字符選擇,會將光標經過的地方反白選擇;

V:行選擇;

[Ctrl]+v:塊選擇;

y:復制反白的地方;

d:刪除反白的地方。

示例如下:

方法一:快選擇模式

批量注釋:

Ctrl + v?進入塊選擇模式,然后移動光標選中你要注釋的行,再按大寫的?I?進入行首插入模式輸入注釋符號如?//?或?#,輸入完畢之后,按兩下?ESCVim?會自動將你選中的所有行首都加上注釋,保存退出完成注釋。

示例如下:

取消注釋:

Ctrl + v?進入塊選擇模式,選中你要刪除的行首的注釋符號,注意?//?要選中兩個,選好之后按?d?即可刪除注釋,ESC?保存退出。

方法二:替換命令

批量注釋。

使用下面命令在指定的行首添加注釋。

使用名命令格式:?:起始行號,結束行號s/^/注釋符/g(注意冒號)。

取消注釋:

使用名命令格式:?:起始行號,結束行號s/^注釋符//g(注意冒號)。

命令:
1.在 10 - 20 行添加?//?注釋

:10,20s#^#//#g

2.在 10 - 20 行刪除?//?注釋

:10,20s#^//##g

3.在 10 - 20 行添加?#?注釋

:10,20s/^/#/g

4.在?10 - 20?行刪除 # 注釋

:10,20s/#//g

vim快捷鍵補充(插入模式)

  • 自動補全:ctrl?+?n
  • \p<? 插入一個include,并把光標置于<>中間
  • \im? 插入主函數
  • \ip? 插入printf,并自動添加\n,且把光標置于雙引號中間
  • vim快捷鍵補充(編輯模式)

  • dw? 刪除一個單詞(配合b:將光標置于所在單詞的首部)
  • yw? 復制一個單詞(配合p:粘貼)
  • vim快捷鍵補充(插入與編輯模式通用)

  • \rr? 運行程序
  • \rc? 保存并編譯程序(會生成二進制文件)
  • 2.多文件編輯

    我們在兩個或多個文件之間復制粘貼內容時,這個功能會讓我們方便很多。

    使用命令vim name1 name2 name3...(各個文件名之間用空格隔開)可以同時打開多個文件。

    :n:編輯下一個文件;

    :N:編輯上一個文件;

    :files:列出目前vim打開的所有文件。

    示例如下:

    同時用vim打開file.txt和file2.txt文件

    3.多窗口功能

    可以在一個窗口中打開多個文件。

    輸入命令:sp{filename}便可以實現這個功能。如果想要在新窗口啟動另外一個文件,則加入文件名。如果省略文件名,則打開的是同一個文件。

    例如:

    用vim file.txt 先打開一個文件。在一般模式下輸入:sp。就會發現打開的是同一個文件。如果輸入:sp file3.txt。就會變成以下畫面:

    其他的按鍵功能:

    [Ctrl]+w+j:先按下Ctrl不放,再按下w后放開所有的按鍵,再按下j(或向下箭頭鍵),則光標可以移到下方的窗口;

    [Ctrl]+w+k:同上,不過光表移到上面的窗口;

    [Ctrl]+w+q:離開。

    3.代碼著色功能

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

    第一步:創建一個后綴名為python文件的代碼文件

    $ vim test.py

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

    def dayweek(day,month,year):offday = 0for x in range(1,year):if x % 400 == 0 or x % 4 == 0 and x % 100 != 0:offday += 366else:offday += 365if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:m = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30]else:m = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30]for n in range(month):offday += m[n]offday += dayweek = ['日','一','二','三','四','五','六']return week[(offday)%7]

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

    ?

    ?

    總結

    以上是生活随笔為你收集整理的项目实训(树莓派)(十四)树莓派4B下的ubuntu系统下的vim的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。