常用vi編輯器命令行

来源:https://www.cnblogs.com/Arvin66-lyh/archive/2019/04/18/10731042.html
-Advertisement-
Play Games

游標控制: 內容編輯: A:當前行的尾部追加內容 i:游標前插入內容 l:游標後插入內容 o:在滑鼠所在行的下麵添加內容 O:在滑鼠所在行的上面添加內容 ESC:推出編輯模式 Ctrl-T:移動到下一個tab Backspace:向後移動一個字元 Ctrl-U:刪除當前 cw:刪除游標所在的字元,然 ...


游標控制:

h     游標向左移
j
游標向下移
k
游標向上移
l(or spacebar)
游標向右移
w 向前移動一個單詞
b 向後移動一個單詞
e 向前移動一個單詞,且游標指向單詞的末尾
移到當前句子的首部
移到下一個句子的首部
{ 移到當前段的首部
} 移到下一段的首部
[[ 移到當前區段的首部
]] 移到下一區段的首部
0 移到當前行的首部
$ 移到當前行的尾部
^ 移到當前第一個非空白字元的地方
+or RETURN 移動到下一行的第一個字元 
- 移動到上一行的第一個字元
n|  移動到當前行的字元n的地方
H 移動到當前屏幕的首部
M 移動到當前屏幕的中部
L 移動到當前屏幕的尾部
nH 移動到當前屏幕首部下的n行
nL 移動到當前屏幕尾部上的n行
Ctrl-F 移動到下一屏
Ctrl-B 移動到上一屏
Ctrl-D 向下移動半屏
Ctrl-U 向上移動半屏
   
z RETURE 刷新屏幕,調整屏幕,使當前的游標在刷新後的屏幕首部
z. 刷新屏幕,調整屏幕,使當前的游標在刷新後的屏幕中部
z- 刷新屏幕,調整屏幕,使當前的游標在刷新後的屏幕尾部
Ctrl-L 刷新屏幕,不調整屏幕位置
Ctrl-R 刷新屏幕,不調整屏幕位置
/text 向下搜索text
/ 重覆上次的內容向下搜索一次
?text 向上搜索text
重覆上次搜索的內容向上搜索一次
n 重覆上次的搜索,向下搜索
N 重覆上次的搜索,向下搜索
/text/+n 移動到text所在行的下麵n行
?text?-n 移動到text所在行的上面n行
   
nG 移動到n行
:n 移動到n行
G 移動在最後一行

內容編輯:

A:當前行的尾部追加內容

i:游標前插入內容

l:游標後插入內容

o:在滑鼠所在行的下麵添加內容

O:在滑鼠所在行的上面添加內容

ESC:推出編輯模式

Ctrl-T:移動到下一個tab

Backspace:向後移動一個字元

Ctrl-U:刪除當前

cw:刪除游標所在的字元,然後進入編輯模式

cc:刪除游標所在的行,然後進入編輯模式

C:刪除從游標所在位置到行尾的字元,然後進入編輯模式

dd:刪除當前行

ndd:刪除第n行

D:刪除當前行游標所在位置的字元

dw:刪除游標所在的字元

d}:刪除當前段剩餘的字元

d^:刪除游標前到行首的字元

c/pat:刪除游標後面到第一匹配字元間的內容

dn:刪除游標後面到下一個匹配字元間的內容

dfa:刪除當前行游標到匹配字元間的內容

dta:刪除當前行游標到匹配字元間的內容(匹配的字元也將被刪)

dL:刪除從游標到屏幕的最後一行之間的內容(匹配的字元不被刪)

dG:刪除從游標到文件末尾之間的內容

J:連接上下行的內容

p:在游標後面插入buffer中的內容

P:在游標前面插入buffer中的內容

rx:用x替換字元

Rtext:用text從游標開始出進行替換

u:撤銷最後的改變

U:還原當前行的內容

x:向後刪除游標所在位置的字元

X:向前刪除游標前面的字元

nX:刪除前面的n個字元,游標所在的字元將不會刪除

.:還原最後一次的改變

~:反轉字母的大小寫

y:拷貝當前行到新的buffer

yy:拷貝當前行

“xyy:拷貝當前行的buffer名為x的buffer

ye:拷貝當前單詞的末尾

 

文件操作:

:w  寫文件
:w! 寫文件,忽略警告信息
:w!file 覆蓋文件,忽略警告信息
:wq 寫文件之後退出編輯
:q 退出編輯器
:q! 強制退出編輯器
:w file 把文件的內容寫到另一個文件
ZZ 退出編輯器,如果文件有改動,則保存再推出
:x 退出編輯器,如果文件有改動,則保存再推出
:n1,n2w file 把n1行到n2行間的內容寫到文件file
:n1,n2 >>file 把n1行到n2行間的內容追加到文件file
:e file2 在當前文件的命令行模式下編輯file2
:e! 重新從磁碟載入文件
:e# 交替編輯文件
   
:n 編輯下一行
:n! 編輯下一行(忽略警告)
   
:r file 在游標後面插入文件
:r !command 在當前行的後面,插入運行命令後的內容
   

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 以前做MES項目遇到過這個情況,一個項目有7到8個大模塊,生產、質量、物耗、電子看板、設備等,每個模塊都有大量業務,這樣使用mvc結構如果所有模塊放在一個目錄中,那麼勢必會產生很多問題,各模塊代碼不好管理,每個模塊不能單獨發佈,這時候如果能夠將每個模塊單獨成一個項目,那麼感覺會方便很多。 可能很多人 ...
  • 飛凌 FET6818核心板 解壓編譯器: tar zxvf arm-cortex_a9_eabi-4.7-eglibc-2.18.tar.gz -C/opt 設置預設編譯環境: vi /etc/profile 在打開的profile文件中加入編譯器路徑: export PATH=/opt/arm-c ...
  • -(void) animationAlert:(UIView *)view { CAKeyframeAnimation *popAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform"]; popAnimation.dura... ...
  • 1、安裝yum yum update 2、安裝nginx源: yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum repolis ...
  • useradd 創建用戶,更改用戶信息 1.工作原理流程 使用此命令式,若不加任何參數選項,直接跟用戶名,那麼系統會首先讀取/etc/login.defs(用戶定義文件)和/etc/default/useradd(用戶預設配置文件)文件中所定義的參數和規則,然後進行添加用戶的操作,同時還會讀取/et ...
  • 我選擇安裝的ubuntu18.04.1因為我的顯卡是Amd RX470 ,Amd官方所相容的版本是18.04.1, 跳過的坑:用18.04.2 18.04.3 安裝amdgpu驅動各種報錯 0X:下載鏡像文件ubuntu-18.04.1-desktop-amd64.iso 鏈接:https://pa ...
  • 首先,導入包管理的公鑰。 Ubuntu包管理工具(即dpkg和apt)要求發行商使用GPG密鑰簽署包,從而確保包的一致性和真實性。 然後,創建MongoDB的數據源文件 更新數據源。 更新中有些地址連不上。 安裝MongoDB 報錯:Unable to locate package mongodb- ...
  • service mysqld start ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...