1. 程式人生 > >編輯器之神-vim

編輯器之神-vim

height linu spa 所有 所在 刪除 space 代碼 ges

vi簡介

vi是“Visual interface”的簡稱,它在Linux上的地位就仿佛Edit程序在DOS上一樣。它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要對其進行定制。Vi不是一個排版程序,它不象Word或WPS那樣可以對字體、格式、段落等其他屬性進行編排,它只是一個文本編輯程序。 vi沒有菜單,只有命令,且命令繁多。

Vi有三種基本工作模式:
+  命令模式
+  文本輸入模式
+  末行模式

技術分享

技術分享

命令行模式

任何時候,不管用戶處於何種模式,只要按一下ESC鍵,即可使Vi進入命令模式;我們在shell環境(提示符為$)下輸入啟動Vi命令,進入編輯器時,也是處於該模式下。在該模式下,用戶可以輸入各種合法的Vi命令,用於管理自己的文檔。此時從鍵盤上輸入的任何字符都被當做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之後完成相應的動作。但需註意的是,所輸入的命令並不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會響鈴報警。

文本輸入模式

在命令模式下輸入

  • 插入命令i、
  • 附加命令a 、
  • 打開命令o、
  • 修改命令c、
  • 取代命令r、
  • 替換命令s、

都可以進入文本輸入模式。在該模式下,用戶輸入的任何字符都被Vi當做文件內容保存起來,並將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按鍵ESC即可。

末行模式

末行模式也稱ex轉義模式。在命令模式下,用戶按“:”鍵即可進入末行模式下,此時Vi會在顯示窗口的最後一行(通常也是屏幕的最後一行)顯示一個“:”作為末行模式的提示符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩沖區的內容寫到文件中等)。末行命令執行完後,Vi自動回到命令模式。例如:

:sp newfile

則分出一個窗口編輯newfile文件。如果要從命令模式轉換到編輯模式,可以鍵入命令a或者i;如果需要從文本模式返回,則按Esc鍵即可。在命令模式下輸入“:”即可切換到末行模式,然後輸入命令。

vim基礎操作

vim是從 vi 發展出來的一個文本編輯器 。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富

進入插入模式:

  • i: 插入光標前一個字符
  • I: 插入行首
  • a: 插入光標後一個字符
  • A: 插入行未
  • o: 向下新開一行,插入行首
  • O: 向上新開一行,插入行首

進入命令模式:

ESC:從插入模式或末行模式進入命令模式

移動光標:

  • h: 左移
  • j: 下移
  • k: 上移
  • l: 右移
  • M: 光標移動到中間行
  • L: 光標移動到屏幕最後一行行首
  • G: 移動到指定行,行號 -G
  • w: 向後一次移動一個字
  • b: 向前一次移動一個字
  • {: 按段移動,上移
  • }: 按段移動,下移
  • Ctr-d: 向下翻半屏
  • Ctr-u: 向上翻半屏
  • Ctr-f: 向下翻一屏
  • Ctr-b: 向上翻一屏
  • gg: 光標移動文件開頭
  • G: 光標移動到文件末尾

刪除命令:

  • x: 刪除光標後一個字符,相當於 Del
  • X: 刪除光標前一個字符,相當於 Backspace
  • dd: 刪除光標所在行,n dd 刪除指定的行數 D: 刪除光標後本行所有內容,包含光標所在字符
  • d0: 刪除光標前本行所有內容,不包含光標所在字符
  • dw: 刪除光標開始位置的字,包含光標所在字符

撤銷命令:

  • u: 一步一步撤銷
  • Ctr-r: 反撤銷

重復命令:

  • .: 重復上一次操作的命令

文本行移動:

  • >>: 文本行右移
  • <<: 文本行左移

復制粘貼:

  • yy: 復制當前行,n yy 復制 n 行
  • p: 在光標所在位置向下新開辟一行,粘貼

可視模式:

  • v: 按字符移動,選中文本
  • V: 按行移動,選中文本可視模式可以配合 d, y, >>, << 實現對文本塊的刪除,復制,左右移動

替換操作:

  • r: 替換當前字符
  • R: 替換當前行光標後的字符

查找命令:

  • /: str查找
  • n: 下一個
  • N:上一個

替換命令:

把abc全部替換成123

  • 末行模式下,將當前文件中的所有abc替換成123 :%s/abc/123/g
  • 末行模式下,將第一行至第10行之間的abc替換成123 :1, 10s/abc/123/g

vim裏執行 shell 下命令:

末行模式裏輸入!,後面跟命令

編輯器之神-vim