天天看點

Linux學習筆記(四):編輯器 vim

      • 1. gedit編輯器(了解)
      • 2. sublime編輯器(熟悉)
      • 3. Vim編輯器(掌握)
        • 3.1 vi簡介
          • 3.1.1 指令行模式
          • 3.1.2 文本數入模式
          • 3.1.3 末行模式
        • 3.2 vim基礎操作
            • 進入插入模式
            • 進入指令模式
            • 移動光标
            • 删除指令
            • 撤銷指令
            • 重複指令
            • 文本行移動
            • 複制粘貼
            • 可視模式
            • 替換操作
            • 查找指令
            • 替換指令
            • vim裡執行shell指令

1. gedit編輯器(了解)

gedit是一個Linux環境下的文本編輯器,類似windows下的寫字闆程式,在不需要特别複雜的程式設計環境下,作為基本的文本編輯器比較合适。

Linux學習筆記(四):編輯器 vim

2. sublime編輯器(熟悉)

Linux學習筆記(四):編輯器 vim

sublime Text是一個代碼編輯器(sublime Text 2是收費軟體,但可以無限期試用)

sublime Text是由程式員Jon Skinner于2008年1月份所開發出來,它最初被設計為一個具有豐富擴充功能的Vim。

Sublime Text具有漂亮的使用者界面和強大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可以自定義綁定,菜單和工具欄。sublime Text的主要功能包括:拼寫檢查,書簽,完整的Python API,Goto功能,即時項目切換,多選擇,多視窗等。

sublime是一個跨平台編輯器,同時支援Windows、Linux、Mac OS X等作業系統。

3. Vim編輯器(掌握)

3.1 vi簡介

vi(Visual interface),可以執行輸出、删除、查找、替換、塊操作等衆多文本操作,而且使用者可以根據自己的需要對其進行定制。vi不是一個排版程式,它不想word或WPS可以對字型、格式、段落等其他屬性進行編排,它隻是一個文本編輯程式。vi沒有菜單,隻有指令,且指令繁多。

vi有三種基本工作模式:
  • 指令模式
  • 文本輸入模式
  • 末行模式
Linux學習筆記(四):編輯器 vim
3.1.1 指令行模式

任何時候,不管使用者處于何種模式,隻要按一下ESC鍵,即可使vi進入指令模式;在shell環境(提示符為$)下輸入啟動vi指令,進入編輯器時處于指令模式。

在指令模式,使用者可以輸入各種合法的vi指令,用于管理文檔。從鍵盤上輸入任何字元都當做編輯指令來解釋,若輸入的字元是合法的vi指令,則vi在接受使用者指令之後完成相應的動作。

注:所輸入的指令并不在螢幕上顯示出來,若輸入的字元不是vi的合法指令,vi會響鈴警報。

3.1.2 文本數入模式

在指令模式下輸入插入指令i、附加指令a、打開指令o、修改指令c、取代指令r或替換指令s都可以進入文本輸入模式。

在該模式下,使用者輸入的任何字元都被vi當做檔案内容儲存起來,并将其顯示在螢幕上。

在文本輸入模式下,若想切換但指令模式,按鍵ESC即可。

3.1.3 末行模式

末行模式也稱ex轉義模式。在指令模式下,按鍵“:”鍵即可進入末行模式,此時vi會在顯示視窗的做後一行顯示一個“:”作為末行模式的提示符,等待使用者輸入指令。末行指令執行完後,vi自動回到指令模式。

3.2 vim基礎操作

vim是從vi發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等友善程式設計的功能特别豐富。

進入插入模式

i:插入光标前的一個字元

I:插入首行

a:插入光标後的一個字元

A:插入行末

o:向下新開一行,插入行首

O:向上新開一行,插入行首

進入指令模式

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

移動光标

h:左移

j:下移

k:上移

l:右移

H:光标移動到螢幕最上一行行首

M:光标移動到中間行

L:光标移動到螢幕最後一行行首

G:移動到指定行,行号,如:20G,移動到第20行

gg:光标移動到檔案開頭

G:光标移動到檔案末尾

w:向後一次移動一個字

b:向前一次移動一個字

Ctr-d:向下翻半屏

Ctr-u:向上翻半屏

Ctr-f:向下翻一屏

Ctr-b:向上翻一屏

{:按段移動,上移

}:按段移動,下移

删除指令

x:删除光标後一個字元,相當于Del

X:删除光标前一個字元,相當于Backspace

dd:删除光标所在行,n(數字) dd 删除指定行數

D:删除光标後本行所有内容,包括光标所在字元

d0:删除光标前本行所有内容,不包含光标所在字元

dw:删除光标開始位置的字,包含光标所在字元

撤銷指令

u:一步一步撤銷

Ctr-r:反撤銷

重複指令

“.” :重複上一次操作的指令

文本行移動

“>>”:文本行右移

“<<”:文本行左移

複制粘貼

yy:複制目前行

10 yy:複制10行

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指令

末行模式裡輸入!,後面跟指令

繼續閱讀