Vim 安裝和配置、優化


Vim 介紹

Vim 安裝

Vim 配置(CentOS 環境)

  • 編輯配置文件是:sudo vim /etc/vimrc

Vim 基礎快捷鍵

  • 注意
    • 嚴格區分字母大小寫
    • 含有 Ctrl 字眼都表示 Ctrl 鍵盤按鈕
    • 特定符號需要配合 Shift 鍵,比如字母鍵盤區上面的數字區:!@#%%^&*()
    • 要按出冒號鍵 : 也是需要 Shift 的
  • 移動
    • j,下
    • k,上
    • h,左
    • l,右
    • v,按 v 之后按方向鍵可以選中你要選中的文字
    • gg,跳到第 1 行
    • G,跳到最后一行
    • 16G 或 :16,跳到第 16 行
    • $,到本行 行尾
    • 0,到本行 行頭
    • w,到下一個單詞的 開頭
    • e,到下一個單詞的 結尾
    • Ctrl + u,向文件 首翻 半屏
    • Ctrl + d,向文件 尾翻 半屏
    • Ctrl + f,向文件 尾翻 一屏
    • Ctrl + b,向文件 首翻 一屏
    • *,匹配光標當前所在的單詞,移動光標到 下一個 匹配單詞
    • #,匹配光標當前所在的單詞,移動光標到 上一個 匹配單詞
    • ^,到本行第一個單詞頭
    • g_,到本行最后一個單詞尾巴
    • %,匹配括號移動,包括 (、{、[
  • 插入
    • I,在當前 行首 插入
    • A,在當前 行尾 插入
    • i,在當前字符的 左邊 插入
    • a,在當前字符的 右邊 插入
    • o,在當前行 下面 插入一個新行
    • O,在當前行 上面 插入一個新行
  • 編輯
    • 刪除
      • x,刪除 光標后 的 1 個字符
      • 2x,刪除 光標后 的 2 個字符
      • X,刪除 光標前 的 1 個字符
      • 2X,刪除 光標前 的 2 個字符
      • dd,刪除當前行
      • cc,刪除當前行后進入 insert 模式
      • dw,刪除當前光標下的單詞/空格
      • d$,刪除光標至 行尾 所有字符
      • dG,刪除光標至 文件尾 所有字符
      • 3dd,從當前光標開始,刪掉 3 行
      • echo > aa.txt,從 bash 角度清空文件內容,這個比較高效
    • 復制
      • y,復制光標所選字符
      • yw,復制光標后單詞
      • yy,復制當前行
      • 4yy,復制當前行及下面 4 行
      • y$,復制光標位置至 行尾 的內容
      • y^,復制光標位置至 行首 的內容
    • 粘貼
      • p,將粘貼板中內容復制到 光標之后
      • P,將粘貼板中內容復制到 光標之前
    • 其他
      • ddp,交換當前光標所在行和下一行的位置
      • u,撤銷
      • :wq,退出並 保存
      • :q!,退出並 不保存
      • Ctrl + v,進入 Vim 列編輯
      • guu,把當前行的字母全部轉換成 小寫
      • gUU,把當前行的字母全部轉換成 大寫
      • g~~,把當前行的字母是大寫的轉換成小寫,是小寫的轉換成大寫
      • :saveas /opt/setups/text.txt,另存到 /opt/setups/text.txt
  • 搜索
    • /YouMeek,從光標開始處向文件尾搜索 YouMeek 字符,按 n 繼續向下找,按 N 繼續向上找
    • ?YouMeek,從光標開始處向文件首搜索 YouMeek 字符,按 n 繼續向下找,按 N 繼續向上找
  • 替換
    • :%s/YouMeek/Judasn/g,把文件中所有 YouMeek 替換為:Judasn
    • :%s/YouMeek/Judasn/,把文件中所有行中第一個 YouMeek 替換為:Judasn
    • :s/YouMeek/Judasn/,把光標當前行第一個 YouMeek 替換為 Judasn
    • :s/YouMeek/Judasn/g,把光標當前行所有 YouMeek 替換為 Judasn
    • :s#YouMeek/#Judasn/#,除了使用斜杠作為分隔符之外,還可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符,該命令表示:把光標當前行第一個 YouMeek/ 替換為 Judasn/
    • :10,31s/YouMeek/Judasn/g,把第 10 行到 31 行之間所有 YouMeek 替換為 Judasn

Vim 的特殊復制、黏貼

  • Vim 提供了 12 個剪貼板,分別是:0,1,2,3,4,5,6,7,8,9,a,",默認采用的是 ",也就是雙引號,可能你初讀感覺很奇怪。你可以用 Vim 編輯某個文件,然后輸入::reg。你可以看到如下內容:
    • vim
  • 復制到某個剪切板的命令:"7y,表示使用 7 號剪切板。
  • 黏貼某個剪切板內容:"7p,表示使用 7 號剪切板內容進行黏貼

Vim 配置

  • 我個人本地不使用 Vim 的,基本上都是在操作服務器的時候使用,所以這里推薦這個配置文件
    • vim-for-server
    • 在假設你已經備份好你的 Vim 配置文件后,使用該配置文件:curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc
    • 效果如下:
      • vim-for-server
  • 需要特別注意的是,如果你平時粘貼內容到終端 Vim 出現縮進錯亂,一般需要這樣做:
    • 進入 vim 后,按 F5,然后 shift + insert 進行粘貼。這種事就不會錯亂了。
    • 原因是:vim ~/.vimrc 中有一行這樣的設置:set pastetoggle=<F5>

其他常用命令

  • 對兩個文件進行對比:vimdiff /opt/1.txt /opt/2.txt

資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM