zoukankan      html  css  js  c++  java
  • Linux vi命令快操作汇总

    第一部份:一般指令模式可用的按钮說明,游标移动、复制粘贴、搜寻取代等

    一、移动游标的方法
    h 或 向左方向鍵(←)    游标向左移动一个字节
    j 或 向下方向鍵(↓)      游标向下移动一个字节
    k 或 向上方向鍵(↑)     游标向上移动一个字节
    l 或 向右方向鍵(→)    游标向右移动一个字节

    [Ctrl] + [f] 屏幕『向下』  移动一页,相当于 [Page Down]按鍵 (常用)
    [Ctrl] + [b] 屏幕『向上』  移动一页,相当于 [Page Up] 按鍵 (常用)
    [Ctrl] + [d] 屏幕『向下』  移动半页
    [Ctrl] + [u] 屏幕『向上』  移动半页

    n<space>       那个 n 表示『數字』,例如 20 。按下數字后再按空白鍵,游标會向右移动這一列的 n 个字节。
    0 或功能鍵[Home]   這是數字『 0 』:移动到這一列的最前面字节處 (常用)
    $ 或功能鍵[End]      移动到這一列的最后面字节處(常用)

    H   游标移动到這个屏幕的最上方那一列的第一个字节
    M   游标移动到這个屏幕的中央那一列的第一个字节
    L   游标移动到這个屏幕的最下方那一列的第一个字节

    G   移动到這个文档的最后一列(常用)
    nG   n 為數字。移动到這个文档的第 n 列。例如 20G 則會移动到這个文档的第 20 列(可配合 :set nu)
    gg   移动到這个文档的第一列,相当于 1G 啊! (常用)
    n<Enter>   n 為數字。游标向下移动 n 列(常用)

    二、搜寻与取代
    /word   向游标之下寻找一个名稱為 word 的字串。
    ?word   向游标之上寻找一个字串名稱為 word 的字串。
    n      這个 n 是英文按鍵。代表『重复前一个搜寻的动作』。
    N     這个 N 是英文按鍵。与 n 剛好相反,為『反向』進行前一个搜寻动作。
    :n1,n2s/word1/word2/g   n1 与 n2 為數字。在第 n1 与 n2 列之間寻找 word1 這个字串,並將該字串取代為 word2 『:100,200s/vbird/VBIRD/g』。(常用)
    :1,$s/word1/word2/g     從第一列到最后一列寻找 word1 字串,並將該字串取代為 word2 !(常用)
    :%s/one/two/g        同上
    :1,$s/word1/word2/gc     同上,取代前显示提示字节給使用者确认 (confirm) 是否需要取代!(常用)

    三、刪除、复制与粘贴
    x, X   在一列字当中,x 為向后刪除一个字节;X 為向前刪除。
    nx n   為數字,連續向后刪除 n 个字节。
    dd     刪除游标所在的那一整列(常用)
    ndd   n 為數字。刪除游标所在的向下 n 列。
    d1G   刪除游标所在到第一列的所有资料
    dG    刪除游标所在到最后一列的所有资料
    d$    刪除游标所在處,到該列的最后一个字节
    d0    那个是數字的 0 ,刪除游标所在處,到該列的最前面一个字

    yy    复制游标所在的那一列(常用)
    nyy   n 為數字。复制游标所在的向下 n 列,例如 20yy 則是复制 20 列(常用)
    y1G   复制游标所在列到第一列的所有资料
    yG   复制游标所在列到最后一列的所有资料
    y0   复制游标所在的那个字节到該列行首的所有资料
    y$   复制游标所在的那个字节到該列行尾的所有资料
    p, P   p 為將已复制的资料在游标下一列粘贴,P 則為貼在游标上一列!
      舉例來說,我目前游标在第 20 列,且已經复制了 10 列资料。
      則按下 p 后, 那 10 列资料會貼在原本的 20 列之后,亦即由 21 列開始貼。
      但如果是按下 P 呢? 那么原本的第 20 列會被推到變成 30 列。 (常用)

    c     重复刪除多个资料,例如向下刪除 10 列,[ 10cj ]
    u     復原前一个动作。(常用)
    [Ctrl]+r   重做上一个动作。(常用)
    .     不要懷疑!這就是小數點!意思是重复前一个动作的意思。
    如果你想要重复刪除、重复粘贴等等动作,按下小數點『.』就好了! (常用)

    第二部份:一般指令模式切換到編輯模式的可用的按钮說明

    一、進入插入或取代的編輯模式
    i, I   i 為『從目前游标所在處插入』, I 為『在目前所在列的第一个非空白字节處開始插入』。 (常用)
    a, A   a 為『從目前游标所在的下一个字节處開始插入』, A 為『從游标所在列的最后一个字节處開始插入』。(常用)
    o, O   o 為『在目前游标所在的下一列處插入新的一列』; O 為在目前游标所在處的上一列插入新的一列!(常用)
    r, R   r 只會取代游标所在的那一个字节一次;R會一直取代游标所在的文字,直到按下 ESC 為止;(常用)
    [Esc] 退出編輯模式,回到一般指令模式中(常用)

    第三部份:一般指令模式切換到指令列模式的可用按钮說明

    :e!   将文档还原成原始状态
    :w   將編輯的资料寫入硬盘文档中(常用)
    :w!   若文档屬性為『只读』時,強制写入該文档。不過,到底能不能写入, 還是跟你對該文档的文档权限有关啊!
    :q   退出 vi (常用)
    :q!   若曾修改過文档,又不想保存,使用 ! 为強制離開不保存文档。
        注意一下啊,那个感叹号 (!) 在 vi 当中,常常具有『強制』的意思~
    :wq   保存退出,若為 :wq! 則為強制保存退出 (常用)
    ZZ   這是大写的 Z 喔!若文档沒有更动,則不保存離開,若文档已經被更动過,則保存后離開!
    :w [filename]   將編輯的资料保存成另一个文档(類似另存新檔)
    :r [filename]   在編輯的资料中,讀入另一个文档的资料。亦即將 『filename』 這个文档內容加到游标所在列后面
    :n1,n2 w [filename]   n1,n2是数字。將 n1 到 n2 的內容保存成 filename 這个文档。
    :! command      暂时离开 vi 到指令列模式下執行 command 的显示結果!例如
    『:! ls /home』  即可在 vi 当中察看 /home 底下以 ls 輸出的文档資訊!

    :set nu       显示行號,設定之后,會在每一列的字首显示該列的行號
    :set nonu   与 set nu 相反,為取消行號!

    第四额外部分:
    ctrl + z   后台运行编辑文本进程
    fg       使用此命令调出后台运行的

  • 相关阅读:
    【leetcode_easy】530. Minimum Absolute Difference in BST
    【leetcode】521. Longest Uncommon Subsequence I
    【leetcode】520. Detect Capital
    【leetcode】509. Fibonacci Number
    【leetcode】507. Perfect Number
    第2章 GNS3和PacketTracer网络模拟器(1)_GNS3概述
    第1章 计算机网络和协议(4)_网络性能指标
    第1章 计算机网络和协议(3)_TCP/IP协议
    第1章 计算机网络和协议(2)_OSI参考模型
    第1章 计算机网络和协议(1)_网络的概念
  • 原文地址:https://www.cnblogs.com/helloworldPC/p/6889871.html
Copyright © 2011-2022 走看看