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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu vi文本编辑器

發(fā)布時(shí)間:2025/5/22 Ubuntu 132 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu vi文本编辑器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

    • vim
    • vi
        • 1.通過 vi 打開和新建文件
        • 2.異常處理
        • 3. vi 的三種工作模式
          • (1)命令模式
          • (2)末行模式——執(zhí)行 保存、退出等操作
          • (3)編輯模式——正常的編輯文字
        • 4.文本編輯移動(dòng)
          • (1)上、下、左、右
          • (2)行內(nèi)移動(dòng)
          • (3)行數(shù)移動(dòng)
          • (4)屏幕移動(dòng)
          • (5)段落移動(dòng)
          • (6)括號(hào)切換
          • (7)標(biāo)記
            • 標(biāo)記使用方法
        • 5.選中文本(可視模式)
        • 6.撤銷和恢復(fù)撤銷
        • 7.刪除文本
        • 8.賦值、粘貼
        • 9.替換
        • 10.縮排和重復(fù)執(zhí)行
        • 11.查找
          • (1)常規(guī)查找
          • (2)查找并替換
        • 12.插入命令
          • (1)編輯命令和數(shù)字連用
          • (2)利用可視塊 給多行代碼增加注釋
        • 13.末行命令擴(kuò)展
        • 14.分屏命令

vim

vim = vi improved

  • vim 是從 vi 發(fā)展出來的一個(gè)文本編輯器,支持代碼補(bǔ)全、編譯及錯(cuò)誤跳轉(zhuǎn) 等方便 編程的功能特別豐富。

vi

  • vi 是Visual interface 的簡稱,是 Linux 中最經(jīng)典的文本編輯器
  • vi 的特點(diǎn):
    • 沒有圖形界面的功能強(qiáng)大的編譯器
    • 只能是編輯 文本內(nèi)容,不能對(duì)字體、段落進(jìn)行排版
    • 不支持鼠標(biāo)操作
    • 沒有菜單
    • 只有命令

1.通過 vi 打開和新建文件

  • 在終端中輸入vi在后面跟上文件名即可

    vi 文件名

  • 如果文件已經(jīng)存在,會(huì)直接打開該文件

  • 如果文件不存在,會(huì)新建一個(gè)文件

打開文件定位到指定行
可以使用以下命令打開文件

vi 文件名 + 行數(shù)

如果只帶上 + 二不指定行號(hào),會(huì)直接定位到文件末尾

2.異常處理

  • 如果 vi 異常退出,在磁盤上可能會(huì)保存有交換文件
  • 下次再使用 vi 編輯該文件時(shí),會(huì)看到以下屏幕信息,按下字母 d 可以刪除交換文件即可

提示:按下鍵盤時(shí),注意關(guān)閉輸入法

3. vi 的三種工作模式

vi 有三種基本工作模式:

(1)命令模式
  • 打開文件首先進(jìn)入命令模式,是使用 vi 的入口
  • 通過命令對(duì)文件進(jìn)行常規(guī)的編輯操作
  • 在其他圖形編輯器下,通過快捷鍵或者鼠標(biāo)實(shí)現(xiàn)的操作,都在命令模式下實(shí)現(xiàn)
(2)末行模式——執(zhí)行 保存、退出等操作

-要退出 vi 返回到控制臺(tái),需要在末行模式下輸入命令

  • 末行模式是 vi 的出口
(3)編輯模式——正常的編輯文字

末行模式命令

命令英文功能
wwrite保存
qquit退出,如果沒有保存,不允許退出
q!quit強(qiáng)行退出,不保存退出
wqwrite & quit保存并退出
x保存并退出

4.文本編輯移動(dòng)

(1)上、下、左、右
命令功能手指
h向左食指
j向下食指
k向上中指
l向右無名指

(2)行內(nèi)移動(dòng)
命令英文功能
wword向后移動(dòng)一個(gè)單詞
bback向前移動(dòng)一個(gè)單詞
0行首
^行首,第一個(gè)不是空白字符的位置
$行尾
(3)行數(shù)移動(dòng)
命令英文功能
gggo文件頂部
Ggo文件末尾
數(shù)字gggo移動(dòng)到 數(shù)字 對(duì)應(yīng)行數(shù)
數(shù)字Ggo移動(dòng)到 數(shù)字 對(duì)應(yīng)行數(shù)
:數(shù)字移動(dòng)到 數(shù)字 對(duì)應(yīng)行數(shù)
(4)屏幕移動(dòng)
命令英文功能
Ctrl + bback向上翻頁
Ctrl + fforward向下翻頁
HHead屏幕頂部
MMiddle屏幕中間
LLow屏幕底部
(5)段落移動(dòng)
  • vi 中使用 空行來區(qū)分段落
命令功能
{上一段
}下一段
(6)括號(hào)切換
命令功能
%括號(hào)匹配及切換
(7)標(biāo)記
  • 在開發(fā)時(shí),某一塊代碼可能需要稍后處理
  • 此時(shí)先使用 m 增加一個(gè)標(biāo)記,這樣可以在需要時(shí),快速地跳轉(zhuǎn)回來 或者 執(zhí)行其他編輯操作
  • 標(biāo)記名稱 可以是 a ~ z 或者 A ~ Z之間的任意一個(gè)字母
  • 添加了標(biāo)記的 行如果被刪除,標(biāo)記同時(shí)被刪除
  • 如果 在其他行添加了相同名稱的標(biāo)記,之前添加的標(biāo)記也會(huì)替換掉
命令英文功能
mxmark添加標(biāo)記x, x 是 a ~ z 或者 A ~ Z之間的任意一個(gè)字母
‘x直接定位到標(biāo)記 x 所在位置
標(biāo)記使用方法

在目標(biāo)行 輸入命令

m + 標(biāo)記名稱[a ~ z 或者 A ~ Z之間的任意一個(gè)字母]

當(dāng)光標(biāo)切換到其他行輸入

‘ + 標(biāo)記名稱

可以定位到標(biāo)記行所在的位置

5.選中文本(可視模式)

  • 在 vi 中要選擇文本,需要先使用 Visual命令切換到可視模式
  • vi 中提供了三種可視模式,可以方便程序員選擇 選中文本的方式
  • 按 ESC 可以放棄選中,返回到命令模式
命令模式功能
v可視模式從光標(biāo)位置開始按照正常模式選擇文本
V可視行模式選中光標(biāo)經(jīng)過的完整行
Ctrl + v可視塊模式垂直方向選中文本
  • 可視模式下,可以和移動(dòng)命令連用。

ggVG 能夠選中所有內(nèi)容。

6.撤銷和恢復(fù)撤銷

命令英文功能
uundo撤銷上次命令
CTRL + rredo恢復(fù)撤銷的命令

7.刪除文本

命令英文功能
xcut刪除光標(biāo)所在字符,或者選中文字
d(移動(dòng)命令)delete刪除移動(dòng)命令對(duì)應(yīng)的內(nèi)容
dddelete刪除光標(biāo)所在行,可以ndd復(fù)制多行
Ddelete刪除至行尾

如果使用可視模式已經(jīng)選中了一段文本,那么無論使用 d 還是 x,都可以刪除選中文本

  • 刪除命令可以和移動(dòng)命令 連用,以下是常見的組合命令:
dw # 從光標(biāo)位置刪除到單詞末尾 d0 # 從光標(biāo)位置刪除到一行的起始位置 d} # 從光標(biāo)位置刪除到段落結(jié)尾 ndd # 從光標(biāo)位置向下連續(xù)刪除 n 行 d代碼行G # 從光標(biāo)所在行刪除到指定代碼行之間的所有代碼 d'a # 從光標(biāo)所在行 刪除到 標(biāo)記a 之間的所有代碼

8.賦值、粘貼

  • vi 中提供有一個(gè)被賦值文本的緩沖區(qū)
    • 復(fù)制命令會(huì)將選中的文字保存在緩沖區(qū)
    • 刪除命令刪除的文字會(huì)被保存在緩沖區(qū)
    • 在需要的位置,使用粘貼命令可以將緩沖區(qū)的文字插入到光標(biāo)所在位置
命令英文功能
y(移動(dòng)命令)copy復(fù)制
yycopy復(fù)制一行,可以 nyy 復(fù)制多行
ppaste粘貼

提示:

  • 命令d、x 類似于圖形界面的 剪切操作—— CTRL + X
  • 命令 y 類似于圖形界面的復(fù)制操作——CTRL + C
  • 命令 p 類似于圖形界面的粘貼操作——CTRL + V
  • vi 中的文本緩沖區(qū)同樣只有一個(gè),如果后續(xù)做過復(fù)制、剪切操作,之前緩沖區(qū)中的內(nèi)容會(huì)被替換

注意:

  • vi 中的文本緩沖區(qū) 和 系統(tǒng)的剪切板 不是同一個(gè)
  • 所以在其他軟件中使用 CTRL + C 復(fù)制的內(nèi)容,不能在 vi 中通過 p 命令粘貼
  • 可以在編輯模式下使用鼠標(biāo)右鍵粘貼

9.替換

命令英文功能工作模式
rreplace替換當(dāng)前字符命令模式
Rreplace替換當(dāng)前行光標(biāo)后的字符替換模式
  • R 命令可以進(jìn)入替換模式,替換完成后,按下 ESC 可以回到命令模式
  • 替換命令 的作用就是不用進(jìn)入 編輯模式,對(duì)文件進(jìn)行 輕量級(jí)的修改

10.縮排和重復(fù)執(zhí)行

命令功能
>>向右增加縮進(jìn)
<<向左減少縮進(jìn)
.重復(fù)上次命令
  • 縮排命令在開發(fā)程序時(shí),同意增加代碼的縮進(jìn)比較有用
    • 一次性在選中代碼前增加4個(gè)空格,就叫做增加縮進(jìn)
    • 一次性在選中代碼前刪除4個(gè)空格,就叫做減少縮進(jìn)

11.查找

(1)常規(guī)查找
命令功能
/str查找str
  • 查找到指定內(nèi)容之后,使用 Next 查找下一個(gè)出現(xiàn)的位置:
    • n:查找下一個(gè)
    • N:查找上一個(gè)
  • 如果不想看到高亮顯示,可以隨便查找一個(gè)文件中不存在的內(nèi)容即可

單詞快速匹配

命令功能
*向后查找當(dāng)前光標(biāo)所在單詞
#向前查找當(dāng)前光標(biāo)所在單詞
(2)查找并替換
  • 在 vi 中查找和替換命令需要在末行模式下執(zhí)行

  • 命令格式:

    :%s///g

全局替換

  • 一次性替換文件中的所有出現(xiàn)的舊文本

  • 命令格式如下:

    :%s/舊文本/新文本/g

相當(dāng)于以下圖片

可視區(qū)域替換

  • 先選中要替換文字的范圍

  • 命令格式如下:

    :s/舊文本/新文本/g

在選中文字范圍后按下 : 后會(huì)出現(xiàn)’<,’>

出現(xiàn)后無需刪除,在’<,’>后依次輸入要使用的替換命令

:'<,'>s/舊文本/新文本/g

確認(rèn)替換

  • 如果把末尾的 g 改成 gc 在替換的時(shí)候,會(huì)有提示。

    :%s/舊文本/新文本/gc

  • y - yes 替換
  • n - no 不替換
  • a - all 替換所有
  • q - quit 退出替換
  • l - last 最后一個(gè),并把光標(biāo)移動(dòng)到行首
  • ^E 向下滾屏
  • ^Y 向上滾屏
  • 12.插入命令

    • 在 vi 中除了常用的 i 進(jìn)入 編輯模式外,還提供了一下命令同樣可以進(jìn)入編輯模式:
    命令英文功能
    iinsert在當(dāng)前字符前插入文本
    Iinsert在行首插入文本
    aappend在當(dāng)前字符后添加文本
    Aappend在行末添加文本
    o在當(dāng)前行后面插入一空行
    O在當(dāng)前行前面插入一空行
    (1)編輯命令和數(shù)字連用

    如果需要連續(xù)輸入N個(gè)同樣的字符
    例如: ********** 連續(xù) 10個(gè)星號(hào)
    要實(shí)現(xiàn)這個(gè)效果可以在 命令模式下

  • 輸入10,表示要重復(fù) 10次
  • 輸入 i 進(jìn)入編輯模式
  • 輸入 * 要重復(fù)的文本
  • 按下 ESC 返回到命令模式,返回之后 vi 就會(huì)把第 2、3兩步的操作重復(fù) 10 次
  • (2)利用可視塊 給多行代碼增加注釋
    • 在開發(fā)中,可能會(huì)遇到一次性給Python多行代碼增加注釋的情況

    要實(shí)現(xiàn)這個(gè)效果可以在命令模式下

  • 移動(dòng)到要添加注釋i的第1行代碼,按^來到行首
  • 按 CTRL + v 進(jìn)入可視塊 模式
  • 使用 j 向下連續(xù)選中要添加的代碼行
  • 輸入 I 進(jìn)入 編輯模式,并在行首插入,注意:一定要使用 I
  • 輸入 # 注釋符號(hào)
  • 按下 ESC 返回到命令模式,返回之后 vi 會(huì)在之前選中的每一行代碼前插入 #
  • 13.末行命令擴(kuò)展

    末行命令主要是針對(duì)文件進(jìn)行操作的,保存、退出、保存&退出、搜索&替換、另存、新建、瀏覽文件

    命令英文功能
    :e .edit會(huì)打開內(nèi)置的文件瀏覽器,瀏覽要當(dāng)前目錄下的文件
    :n 文件名new新建文件
    :w文件名write另存為,但是仍然編輯當(dāng)前文件,并不會(huì)切換文件
    使用:e 目標(biāo)文件名(包括文件后綴)

    可瀏覽目標(biāo)文件

    提示:切換文件之前,必須保證當(dāng)前這個(gè)文件已經(jīng)被保存

    已經(jīng)學(xué)習(xí)過的末行命令:

    命令英文功能
    :wwrite保存
    :qquit退出,如果沒有保存,不允許退出
    :q!quit強(qiáng)行退出,不保存退出
    :wqwrite & quit保存并退出
    :x保存并退出
    :%s///gc確認(rèn)搜索并替換

    14.分屏命令

    • 使用分屏命令,可以同時(shí)編輯和查看多個(gè)文件
    命令英文功能
    :sp [文件名]split橫向增加分屏
    :vsp [文件名]vertical split縱向增加分屏

    切換分屏窗口
    分屏窗口都是基于 CTRL + w 這個(gè)快捷鍵, w對(duì)應(yīng)的英文單詞是 window

    命令英文功能
    wwindow切換到下一個(gè)窗口
    rreverse互換窗口
    cclose關(guān)閉當(dāng)前窗口,但是不能關(guān)閉最后一個(gè)窗口
    qquit退出當(dāng)前窗口,如果是最后一個(gè)窗口,則關(guān)閉 vi
    oother關(guān)閉其他窗口

    例如:
    切換到下一個(gè)窗口 使用命令

    CTRL + w + w

    互換窗口窗口 使用命令

    CTRL + w + r

    關(guān)閉當(dāng)前窗口 使用命令

    CTRL + w + c

    總結(jié)

    以上是生活随笔為你收集整理的Ubuntu vi文本编辑器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。