Liunx Vim常用命令

来源:https://www.cnblogs.com/tanggoblin/archive/2023/03/08/17191122.html
-Advertisement-
Play Games

Liunx Vim常用命令 1、打開命令: vi / vim + filename(文件名) 2、退出命令: 強制退出不保存修改的內容 :q! 退出並且保存修改的內容 :wq 強制保存修改的內容然後退出(修改了只讀文件會用到) :wq! 註意:輸入法需要改為英文,中文不生效! 3、游標移動命令 個人 ...


Liunx Vim常用命令

1、打開命令:

vi / vim + filename(文件名)

2、退出命令:

  1. 強制退出不保存修改的內容
    :q!

  2. 退出並且保存修改的內容

    :wq

  3. 強制保存修改的內容然後退出(修改了只讀文件會用到)

    :wq!

註意:輸入法需要改為英文,中文不生效!

3、游標移動命令

  1. 個人比較喜歡上下左右方向鍵,字母 h (左) ,j (下), k(上),l(右)也是可以的

  2. 游標移到行首

    ^

  3. 游標移到行尾

    $

  4. 游標移動到文件最後一行

    shift+g

  5. 游標移動到文件第一行

    gg

註意:不用進入插入模式;

4、控制命令

打開一個內容很多的文件的時候經常用到。

  1. 游標向下移動一頁(向下滾全屏)

    ctrl+f

  2. 游標向上移動一頁(向上滾全屏)

    ctrl+b

  3. 游標向下移動半頁(向下滾半屏)

    ctrl+d

  4. 游標向上移動半頁(向上滾半屏)

    ctrl+u

  5. 游標移動到這個屏幕的最上方那一行的第一個字元

    H

  6. 游標移動到這個屏幕的中央那一行的第一個字元

    M

  7. 游標移動到這個屏幕的最下方那一行的第一個字元

    L

  8. 移動到這個檔案的最後一行(常用)

    G

  9. 移動到這個檔案的第一行,相當於 1G 啊! (常用)

    gg

5、編輯命令

主要是進入編輯狀態,也就是insert狀態

  1. 游標當前位置開始編輯

    i

  2. 游標的下一行開始編輯

    o

  3. 游標的上一行開始編輯

    shift+o

6、刪除命令

  1. 刪除一行,可以帶個數字,如6dd,表示向下刪除6行

    dd

  2. 刪除游標到行尾的內容(也可以使用ctrl+d)

    d$

  3. 刪除游標到行首的內容

    d^

  4. 刪除游標位置的字元(向後刪除)

    x

  5. 刪除游標位置的字元(向前刪除)

    shift+x

註意:刪除命令與插入命令都是編輯文本,不同的是刪除命令可以在命令模式下查看內容的時候直接刪除,無需進入插入模式再進行刪除

7、替換命令

  1. 按esc退出insert狀態再按個r,然後再輸入一個字元,將會替換游標位置的字元

    r

  2. 跟r一樣,只不過是可以替換多個字元

    R

  3. 取消上一步操作

    u

  4. 替換當前行的所有aa將會變成bb

    :s/aa/bb/g 
    
  5. 替換整個文件的,所有aa將會變成bb

    :%s/aa/bb/g 
    
  6. 替換n1到n2行之間所有的aa變成bb

    :n1,n2s/aa/bb/g 
    

8、查找命令

  1. 向下搜索:n
  2. 向上搜索:N,或者 shift+n,或者shift+# /String 從開頭處開始查找(向下開始)
  3. String 從結尾處開始查找(向上開始):
  4. 向後查找下一個:n
  5. 向前查找下一個:N,或者 shift+n,或者 shift+#

9、粘貼複製命令

  1. 複製一個單詞

    yw

  2. 複製一行,和刪除dd一樣可以帶個數字,6yy複製六行(向下複製6行)

    yy

  3. 粘貼到游標位置的下一行

    p

  4. 粘貼到游標位置的上一行

    shift+p

10、同時打開兩個文件

比如:aa.txt ss.txt

打開第一個文件vi aa.txt然後輸入下麵的命令

:sp ss.txt 此時就在同一個視窗打開另外一個 ss.txt

Ctrl+w 進行兩個文件上下視窗切換(需要再按上下方向鍵)

11、其他常用命令

  1. 重新載入文件,再查看日誌文件的時候可以用,不斷在變化的文件。

    :e!

  2. 撤銷

    u

  3. 顯示行號

    :set nu

  4. 跳轉到第n行(按回車才會跳)

    :n

  5. 會在顯示屏的底部顯示文件名字和總的行數,當前游標的位置行號,這個將會改變游標位置的字元的大小寫

    Ctrl+g

  6. 跳到當前命令行里的首位,比如 cd /etc/profile ,這個是一個文件,我想改成vi /etc/profile 就可以按 ctrl+a 游標就會移到cd位置,如果碰到比較長的命令,這個還是非常的實用的

    Ctrl +a

  7. 跳到當前命令行的末尾。和ctrl+a 相反

    ctrl+e

12、其他

高亮顯示搜索:
vim搜索設置高亮

linux vim打開文檔搜索字元串時,設置被搜索到字元串高亮顯示。
有兩種方法:
1、臨時設置:vim打開文檔-->命令行形式輸入 set hlsearch。

缺點:關閉文檔後,下次打開,又需要重新設置一遍。

關閉高亮顯示:nohlsearch
2、永久設置(推薦):在~/.vimrc中配製

vim ~/.vimrc

在文件中加上 set hlsearch / set nohlsearch

然後保存退出便可

優點:一次設置,永久生效


隨筆: Time would heal almost all wounds . If your wounds have not been healed up , please wait for a short while. “時間幾乎會愈合所有傷口,如果你的傷口還沒有愈合,請給時間一點時間”


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

-Advertisement-
Play Games
更多相關文章
  • 序言 閑來無聊,前段時間發現一個.net開源框架:masa framework。經過一些小型項目使用,發現確實挺不錯的。然後我又去閱讀了整個masa framework源碼,特此來記錄整個源碼閱讀的過程。 如有錯誤之處還請指點 MASA Framework簡介 ​ Masa Framework是 m ...
  • 此文大多數來自這篇文章,但是修改了裡面一些錯誤的地方和優化了一些內容,以及增加了桌面安裝部分和其他一些常用軟體安裝(wayland下的輸入法/firefox等) https://zhuanlan.zhihu.com/p/112541071 正文開始: 安裝前的準備 在Windows還沒有被消滅之前, ...
  • Why need the UDS Service 0x10? ECU在正常工作時會處於某一個會話模式下,上電後會自動進入預設會話模式,所以ECU啟動後我們不需要輸入0x10 01來進入該會話模式。ECU的不同會話模式間存在一定的狀態轉換關係規則(特定邏輯)。 初次接觸UDS的話,可能不太理解這個0x ...
  • 前言: Linux伺服器運行了很多應用,在高負載下,伺服器可能會出現性能瓶頸,例如CPU利用率過高、記憶體不足、磁碟I/O瓶頸等,從而導致系統卡頓,服務無法正常運行等問題。所以針對以上問題,可以通過調整內核參數和系統的相關組件,優化應用程式來提高伺服器的性能和穩定性,避免系統崩潰和服務中斷。 Linu ...
  • 1. vmware esxi安裝centos8,開啟內核虛擬化 2. 安裝qemu-system-arrch64 操作: wget https://download.qemu.org/qemu-2.11.0.tar.xz tar xvJf qemu-2.11.0.tar.xz cd qemu-2.1 ...
  • 無論你是後端程式員還是前端程式員,都避免不了和Linux打交道。上篇介紹了Linux常用的20個命令其中的10個,本文繼續介紹剩下的10個命令。 11.man 命令 manual的縮寫,即使用手冊的意思,是Linux下最核心的命令之一,用來列出一份完整的說明 語法格式 : man [參數] 常用參數 ...
  • CentOS7.9 搭建內部yum源伺服器同步阿裡yum源 環境說明: 1、企業內網需求:企業內部許多伺服器是不能連接互聯網,但每台centos主機安裝軟體包時都配置本地yum源很麻煩,也缺少第三方yum源,因此在內網搭建一臺yum源伺服器滿足這一需求,同時網路層面策略只允許此yum源伺服器每周日晚 ...
  • 一、下載安裝兩個版本的JDK 官網下載地址:Java Downloads | Oracle 下載安裝成功後,安裝路徑E:\Java\上 JDK8 有兩個包一個jdk1.8.0_231,一個jre1.8.0_231。JDK17只有一個jdk-17.0.5 二、JDK的環境配置 切換環境變數 在系統變數 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...