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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vi 命令使用详解

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vi 命令使用详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.三種工作模式

1.命令模式——通過命令對文件進行常規操作

  • 打開文件時進入命令模式 (vi的入口)
  • 通過命令對文件進行常規操作,如定位、翻頁、復制、粘貼、刪除等在圖形界面下通過鼠標或快捷鍵實現的的操作。

2.末行模式——執行保存、退出等操作

  • 若要退出vi返回控制臺,需在末行模式下輸入命令 (vi的出口)

3.編輯模式——正常編輯文字

三種模式的轉換:
命令模式->編輯模式: i;編輯模式->命令模式:Esc;
命令模式->末行模式: :;末行模式->命令模式:Esc;

關閉文件:
末行模式下,輸入wq(即保存后退出)

除了i進入編輯模式外,還提供了以下命令:

命令英文功能常用
iinsert在當前字符前插入文本常用
Iinsert在行首插入文本較常用
aappend在當前字符后添加文本\
Aappend在行末添加文本較常用
o\在當前行后面插入一空行常用
O\在當前行前面插入一空行常用

2.末行模式命令

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

3.命令模式命令

3.1上、下、左、右(因為大佬認為應該把手指集中在一個區域)

命令功能手指
h向左食指
j向下食指
k向上中指
t向右無名指

3.2行內移動

命令英文功能
wword向后移動一個單詞
bback向前移動一個單詞
0\行首
^\行首,第一個不是空白字符的位置
$\行尾

3.3行數移動

命令英文功能
gggo文件頂部
Ggo文件末尾
數字gggo移動到數字對應行數
數字Ggo移動到數字對應行數
:數字\移動到數字對應行數

3.4屏幕移動

命令英文功能
Ctrl+bback向上翻頁
Ctrl+fforward向下翻頁
HHead屏幕頂部
MMiddle屏幕中間
LLow屏幕底部

3.5段落移動

  • vi中使用空行來區分段落
  • 在程序開發中,通常一段功能相關的代碼會寫在一起(之間沒有空行)
命令功能
{上一段
}下一段

3.6括號切換

命令功能
%括號匹配及切換

3.7標記

  • 在開發時,某一塊代碼可能需要稍后處理,此時先使用m增加一個標記,可以在需要時快速地跳轉回來
  • 標記名稱可以是a~z或A~Z之間地任意一個字母
  • 添加了標記的行如果被刪除,標記同時被刪除
  • 如果在其他行添加了相同標記名稱的標記,之前添加的標記會被替換
    例如:
命令英文功能
mxmark添加標記x
'x\直接定位到標記所在位置

3.8選中文本(可視模式)

命令模式功能
v可視模式從光標位置開始按照正常模式選擇文本
V可視行模式選中光標經過的完整行
Ctrl+v可視塊模式垂直方向選中文本
  • Esc可以放棄選中,回到命令模式
  • 可視模式下,可以和移動命令連用,例如:ggVG能過選中所有內容

3.9撤銷和恢復撤銷

命令英文功能
uundo撤銷上次命令
Ctrl+rredo恢復撤銷的命令

3.10刪除文本

命令英文功能
xcut刪除光標所在字符
d(移動命令)delete刪除移動命令對應的內容
dddelete刪除光標所在行,可以ndd復制多行
Ddelete刪除至行尾
  • 如果使用可視模式已選中了一段文本,d和x都可以刪除選中文本。
  • 命令d、x類似與圖形界面的剪切操作(Ctrl+x)。

刪除命令可以和移動命令連用,以下是常見的組合:

  • dw從光標位置刪除到單詞末尾
  • d0從光標位置刪除到一行的起始位置
  • d}從光標位置刪除到段亂結尾
  • ndd從光標位置向下連續刪除n行
  • d代碼行G從光標所在行刪除到指定代碼行之間的所有代碼
  • d‘a從光標所在行刪除到標記a之間的所有代碼

3.11復制粘貼

命令英文功能
y(移動命令)copy復制
yycopy復制一行,可以nyy復制多行
ppaste粘貼
  • vi中的文本緩沖區和系統的剪貼板不是同一個(即在其他軟件中使用Ctrl+c復制的內容,不能再vi中通過p粘貼)
  • 可以在編輯模式下使用鼠標右鍵粘貼

3.12替換

命令英文功能工作模式
rreplace替換當前字符命令模式
Rreplace替換當前行光標后的字符替換模式
  • R可以進入替換模式,替換完成后,按Esc可以返回命令模式
  • 替換命令的作用就是不用進入編輯模式,對文件進行輕量級的修改

3.13縮排和重復執行

命令功能
>>向右增加縮進
<<向左增加縮進
.重復上次命令
  • 縮排命令在開發程序時,統一增加代碼的縮進比較有用
  • 在可是模式下,縮排命令只需要使用一個>或<

3.14查找

常規查找

命令功能
/str查找str
n查找下一個
N查找上一個
  • 如果不想看到高亮現實,可以隨便查找一個文件中不存在的內容即可

單詞快速匹配

命令功能
*向后查找當前光標所在單詞
#向前查找當前光標所在單詞

3.15查找并替換
需要在末行模式下執行:%s///g

3.15.1全局替換
:%s/舊文本/新文本/g
3.15.2可視區域替換
先選中要替換文字的范圍
:%s/舊文本/新文本/g
3.15.3確認替換
:%s/舊文本/新文本/gc
會出現提示:
y-yes 替換
n-no 不替換
a-all 替換所有
q-quit 退出替換
l-last 最后一個,并把光標移動到行首
^E 向下滾屏
^Y 向上滾屏

4.拓展

4.1連續輸入N個同樣的字符
例如:輸入10個*

  • 命令模式下,輸入10
  • i進入編輯模式
  • 輸入*
  • Esc返回命令模式
  • 4.2末行命令拓展

    命令英文功能
    :e.edit會打開內置的文件瀏覽器,瀏覽當前目錄下的文件
    :n 文件名new新建文件
    :w. 文件名write另存為,但是仍然編輯當前文件,并不會切換文件

    切換文件之前,必須保證當前這個文件已經被保存!

    4.3分屏命令

    命令英文功能
    :sp[文件名]split橫向增加分屏
    :vsp[文件名]verdical split豎向增加分屏

    切換分屏窗口都是基于Ctrl+w這個快捷鍵,w對應的英文如下:

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

    總結

    以上是生活随笔為你收集整理的vi 命令使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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