Linux-vi/vim編輯器常用命令與用法

来源:http://www.cnblogs.com/MoreThinking/archive/2017/07/13/7161573.html
-Advertisement-
Play Games

vi/vim是什麼? Linux世界幾乎所有的配置文件都是以純文本形式存在的,而在所有的Linux發行版系統上都有vi編輯器,因此利用簡單的文字編輯軟體就能夠輕鬆地修改系統的各種配置了,非常方便。vi就是一種功能強大的文本編輯器,而vim則是高級版的vi,不但可以用不同顏色顯示文字內容,還能進行諸如 ...


vi/vim是什麼?
  Linux世界幾乎所有的配置文件都是以純文本形式存在的,而在所有的Linux發行版系統上都有vi編輯器,因此利用簡單的文字編輯軟體就能夠輕鬆地修改系統的各種配置了,非常方便。vi就是一種功能強大的文本編輯器,而vim則是高級版的vi,不但可以用不同顏色顯示文字內容,還能進行諸如shell腳本、C語言程式編輯等功能,可以作為程式編輯器。

為什麼要學習vi/vim?
  首先所有的Linux發行版系統上都會預設內置vi編輯器,而不一定帶有其他文本編輯器,非常通用;其次,很多軟體的編輯介面都會預設調用vi;第三,vi具有程式編輯的能力;最後,vi程式簡單,編輯速度相當快速。

vi的三種模式及各個模式之間的轉換關係

一般模式常用操作

【h(或向左方向鍵)】 游標左移一個字元
【j(或向下方向鍵)】 游標下移一個字元
【k(或向上方向鍵)】 游標上移一個字元
【l(或向右方向鍵)】 游標右移一個字元

【[Ctrl] + f】 屏幕向下移動一頁(相當於Page Down鍵)
【[Ctrl] + b】 屏幕向上移動一頁(相當於Page Up鍵)

【[0]或[Home]】 游標移動到當前行的最前面
【[$]或[End]】 游標移動到當前行的末尾

【G】 游標移動到文件的最後一行(第一個字元處)
【nG】 n為數字(下同),移動到當前文件中第n行
【gg】 移動到文件的第一行,相當於"1G"
【n[Enter]】 游標向下移動n行

【/word】 在文件中查找內容為word的字元串(向下查找)
【?word】 在文件中查找內容為word的字元串(向上查找)
【[n]】 表示重覆查找動作,即查找下一個
【[N]】 反向查找下一個

【x,X】 x為向後刪除一個字元,相當於[Delete],X為向前刪除一個字元,相當於[Backspace]
【dd】 刪除游標所在的一整行
【ndd】 刪除游標所在的向下n行

【yw】:將游標所在之處到字尾的字元複製到緩衝區中。
【#yw】:複製#個字到緩衝區

【yy】 複製游標所在行到緩衝區。
【nyy】 複製游標所在的向下n行
【p,P】 p為將緩衝區內的字元貼到游標所在位置;P為將已經複製的數據在游標上一行粘貼

註意:所有與“y”有關的複製命令都必須與“p”配合才能完成複製與粘貼功能。

【u】 撤消上一個操作
【[Ctrl] + r】 多次撤消
【.】 這是小數點鍵,重覆上一個操作

一般模式切換到編輯模式的操作

1、進入插入模式(6個命令)
【i】 從目前游標所在處插入
【I】 從目前游標
【a】 從當前游標所在的下一個字元處開始插入
【A】 從游標所在行的最後一個字元處開始插入
【o】 英文小寫字母o,在目前游標所在行的下一行處插入新的一行並開始插入
【O】 英文大寫字母O,在目前游標所在行的上一行處插入新的一行並開始插入
2、進入替換模式(2個命令)
【r】 只會替換游標所在的那一個字元一次
【R】 會一直替換游標所在字元,直到按下[ESC]鍵為止
【[ESC]】 退出編輯模式回到一般模式

一般模式切換到命令行模式
【:w】 保存文件
【:w!】 若文件為只讀,強制保存文件
【:q】 離開vi
【:q!】 不保存強制離開vi
【:wq】 保存後離開
【:wq!】 強制保存後離開
【:! command】 暫時離開vi到命令行下執行一個命令後的顯示結果
【:set nu】 顯示行號
【:set nonu】 取消顯示行號
【:w newfile】 另存為

 


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

-Advertisement-
Play Games
更多相關文章
  • CentOS 6.9 升級MySQL 5.6.36到5.7.18 MySQL 5.6.36 安裝過程:http://www.cnblogs.com/imweihao/p/7156754.html 升級方法很簡單 1、安全關閉資料庫 [root@001 ~]# service mysqld stop ...
  • SELECT request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName FROM sys.dm_tran_locksWHERE resource_type = 'OBJECT' KILL spid 如: ...
  • 1.什麼是鎖 鎖(LOCK)用於管理對共用資源的併發控制。通過建立鎖,可以保護資源(數據)的完整性和一致性。 通過一個經典的資料庫問題(丟失更新)就可以看到鎖的意義: 1)針對同一個資料庫,有表 Student,表結構如下: ID、姓名、年齡 2)用戶A登錄到資料庫中,查詢Student表的數據,此 ...
  • Figure 1 Figure 2 Figure 3 編號位置以刻度尺為起點0.74釐米(2個字元間距),文本縮進以刻度尺為起點2.96釐米(8個字元間距) 以上兩者相減得到的值正好=特殊格式懸掛縮進的值2.22釐米 Figure 4 上圖看到,文本縮進以刻度尺為起點2.96釐米(8個字元間距),段 ...
  • 原文發表於:2010-12-09轉載至cu於:2012-07-21 閑來無事把nginx伺服器升級了,因為沒有經常玩linux,記錄下來以免將來再升級的時候又去查資料。 下載: [root@liuawblizfpws~]#wget http://nginx.org/download/nginx-0. ...
  • Visual Studio 2015:http://tieba.baidu.com/p/3442930798Visual Studio 2013:http://tieba.baidu.com/p/3442929573Visual Studio 2008:http://tieba.baidu.com/ ...
  • 查看當前目錄: pwd 查看文件具體大小: ls -l 返回上一級: cd.. 返回根目錄: cd / 創建一個隱藏文件 vim .test 顯示隱藏文件:ls -a 編輯文件: 1.vim 文件名 2.按i進入插入模式 3.寫完文件之後按esc,再按shift+:鍵,再輸入wq,回車,文件就保存了 ...
  • 最近對linux伺服器特別感興趣,通過自己對已有資源的學習和使用,總結了我踩過的坑,已經如何填坑的 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...