zoukankan      html  css  js  c++  java
  • PHP面试系列 之Linux(三)---- Vi/Vim编辑器

    vi 是 unix 家族下最功能强大的文字编辑器,而 vim 則是 vi 的加强版,

    编辑模式

     指令說明
    * i 在游標位置進入編輯模式
      I 在游標行的第一個非空白字元進入編輯模式
    * a 在游標位置後進入編輯模式
    * A 在游標行的最後一個字元進入編輯模式
    * o 向下新增一行,並進入編輯模式
      O 向上新增一行,並進入編輯模式
      cc 刪除游標行,並進入編輯模式
    * [ESC] 取消指令或退出編輯模式

    游标移动

     指令說明
    * gg 移到第一行
    * G 移到最後一行
    * 行數 → G 移動到第 n 行
      0 移動到該行最前面
      $ 移動到該行最後面
      字數 → [Space] 向右移動 n 個字元
    * 行數 → [Enter] 向下移動 n 行

    标记与复制

     指令說明
    * v 開始字串標記
    * V 開始行標記
    * v → [Ctrl]-V 開始區塊標記
    * d 刪除標記的內容
    * y 複製標記的內容
    * yy 複製游標行
      yG 複製游標行到最後一行
      y1G 複製游標行到第一行
      y$ 複製游標處到最後一個字元
      y0 複製游標處到第一個字元
    * p 在下一行貼上複製或刪除的內容
      P 在上一行貼上複製或刪除的內容
    * [Ctrl]-R → 0 在下一行貼上複製或刪除的內容,適用於編輯模式及指令行

    搜尋與取代

     指令說明
    * /搜尋字串 向下搜尋字串
      /c搜尋字串 向下搜尋字串,不分大小寫
    * * 將游標移到字串上,直接按 "*" 也可以做向下搜尋
      ?搜尋字串 向上搜尋字串
      ?c搜尋字串 向上搜尋字串,不分大小寫
    * :set ic 搜尋時不分大小寫
    * :set noic 搜尋時要分大小寫
    * n 繼續下一個搜尋結果
    * N 繼續上一個搜尋結果
    * :起始行,終止行s/搜尋字串/取代字串/gic 從第 n 行到第 n 行取代字串 (後面的 g: 整行全部 i: 不分大小寫 c: 詢問)
    * :1,$s/搜尋字串/取代字串/gic 全部取代字串 (後面的 g: 整行全部 i: 不分大小寫 c: 詢問)

    刪除

     指令說明
    * dd 刪除游標行
    * 行數 → dd 刪除 n 行
    * dG 刪除游標行到最後一行
      d1G 刪除游標行到第一行
    * d$ 刪除游標處到最後一個字元
      d0 刪除游標處到第一個字元

    檔案功能

     指令說明
    * :w 存檔 (加 ! 表示強制存檔)
    * :w 檔案名稱 另存新檔
    * :q 退出 vi (加 ! 表示不存檔強制退出)
    * :wq 存檔並退出 vi
    * :x 存檔並退出 vi
      :w !sudo tee % 當你編輯好檔案要存檔時,卻發現沒有寫入檔案的權限! 用這會指令可以讓你直接以 root 的權限存檔
    * :e 檔案名稱 編輯其它檔案
    * :e! 還原至檔案編修前的狀態
      :r 檔案名稱 讀入檔案內容,並加到游標行的後面
    * :n 切換到下一個開啟的檔案
    * :N 切換到上一個開啟的檔案
    * :set nu 顯示行號
    * :set nonu 取消行號顯示
    * :files 列出所有開啟的檔案
    * :Ex 開啟檔案瀏覽器
    * :Ex 路徑 於指定路徑開啟檔案瀏覽器
      :Hex 分割水平視窗後,再開啟檔案瀏覽器
      :Vex 分割垂直視窗後,再開啟檔案瀏覽器
      :Tex 新增頁籤後,再開啟檔案瀏覽器
      :Hex 路徑 分割水平視窗後,再於指定路徑開啟檔案瀏覽器
      :Vex 路徑 分割垂直視窗後,再於指定路徑開啟檔案瀏覽器
      :Tex 路徑 新增頁籤後,再於指定路徑開啟檔案瀏覽器

    視窗分割

     指令說明
    * :new 新增水平分割視窗
    * :new 檔案名稱 新增水平分割視窗,並在新增的視窗載入檔案
    * :vnew 新增垂直分割視窗
    * :vnew 檔案名稱 新增垂直分割視窗,並在新增的視窗載入檔案
      :sp 新增水平分割視窗,並在新增的視窗載入目前的檔案
      :sp 檔案名稱 新增水平分割視窗,並在新增的視窗載入檔案
      :vsp 新增垂直分割視窗,並在新增的視窗載入目前的檔案
      :vsp 檔案名稱 新增垂直分割視窗,並在新增的視窗載入檔案
    * [Ctrl]-W → [方向鍵] 切換視窗
    * :only 僅保留目前的視窗

    頁籤

     指令說明
    * :tabe 新增頁籤
    * :tabe 檔案名稱 新增頁籤,並在新頁籤載入檔案
      :tabc 關閉目前的頁籤,等同 :q
      :tabo 關閉所有頁籤
      :tabn 移至下一個頁籤
      :tabp 移至上一個頁籤
    * gt 移至下一個頁籤
    * gT 移至上一個頁籤
    * :tabfirst 移至第一個頁籤
    * :tablast 移至最後一個頁籤
    * :tabm 頁籤編號 移至特定編號的頁籤 (編號從 0 開始)
      :tabs 列出所有頁籤

    其它指令

     指令說明
    * J 將游標行與下一行合併
    * u 還原指令
    * [Ctrl]-R 重做指令
    * [Ctrl]-N 自動補齊曾輸入過的單字
    * . 重覆上一個指令
      ! 命令 執行 linux 指令,並顯示執行結果
      TOhtml 將目前編輯的檔案轉換成 HTML 原始碼 (會新增一個水平分割視窗)

    檔案瀏覽器操作

    請先以 :Ex 相關指令進入檔案瀏覽器

     指令說明
    * - 到上層目錄
    * d 建立目錄
    * D 刪除目錄
    * R 重新命名
    * s 切換排序方式
      r 切換升冪/降冪排序
      i 切換檔案的排列方式
    * / 搜尋字串
      x 執行檔案
    * o 新增水平視窗
    * v 新增垂直視窗

    vim 的設定檔

    通常我會編輯 /etc/vimrc,在檔案最後加入:

    " 顯示列號
    set number
    " 語法高亮度顯示
    syntax on
    " 標記搜尋到的字串
    set hlsearch
    " 自動縮排
    set autoindent
    " 顯示說明
    set ruler
    " 顯示編輯狀態
    set showmode
    " 設定註解的顏色
    highlight Comment ctermfg=cyan
    " 設定搜尋到的字串顏色
    highlight Search term=reverse ctermbg=4 ctermfg=7
    " 設定 tab 鍵的字元數
    set tabstop=4

    转自:访问

  • 相关阅读:
    docker 原理之 mount namespace(下)
    docker 原理之 namespace (上)
    十种世界顶级思维方式
    Go 标准库 net
    斐波拉契序列的 Go 实现
    channel 是怎么走上死锁这条路的
    hello world 的并发实现
    使用链表和切片实现栈和队列
    非暴力沟通-读后感
    CCS
  • 原文地址:https://www.cnblogs.com/zqunor/p/8536813.html
Copyright © 2011-2022 走看看