天天看點

菜鳥學Linux 第019篇筆記 vim編輯器使用

菜鳥學Linux 第019篇筆記 vim編輯器使用

vim編輯器

文本編輯器、字處理器

ASCII

nano, sed, vi vim

vi: Visual Interface

Vim: VI iMproved (vim - Vi IMproved, a programmers text editor)

一個全屏編輯器、模式化編輯器

vim模式:

編輯模式(指令模式)

輸入模式

末行模式

模式轉換:

編輯-->輸入

i 在目前光标字元前,轉為輸入模式;

a 在目前光标字元後,轉為輸入模式;

o 在目前光标所在行下方插入行,并轉為輸入模式;

I 在目前光标行首,轉為輸入模式;

A 在目前光标行尾,轉為輸入模式;

O 在目前光标所在行上方插入行,并轉為輸入模式;

esc鍵 從輸入退出到編輯

輸入-->末行

: 進入末行模式

n,md 删除n行到m行

set nu 顯示行号

! com 執行指令

esc鍵 退出到編輯(有時需要連敲兩下)

輸入--末行 兩才之間不可直接轉換,需借助編輯模式;

一、打開或者建立檔案(打開預設處于編輯模式)

# vim /path/somefile 如果此目錄下沒有該檔案則建立該檔案,有則打開該檔案

# vim +num 打開檔案,并定位于第num行

# vim + 打開檔案,定位至最後一行

# vim +/PATTERN 打開檔案,定位至第一次被/PATTERN

二、關閉檔案

1.末行模式關閉檔案

:q 退出(如已經編輯,會提示無法退出)

:wq 儲存并退出

:!q 強型退出(不儲存退出)

:w 儲存

:w! 強行儲存(需管理者權限)

:x =:wq

2.編輯模式下退出

Ctrl+z, (這樣隻是臨時退出vim編輯器,類似windows最小化,使用fg可以調用出來)

三、移動光标

1.逐字元移動光标

h left

l right

j down

k up

#方向 移動#個方向 #表示數字

2.逐單詞跳轉

w 移動到下一個單詞首

e 移動到目前單詞或下一個單詞尾

b 移動至目前或前一個單詞的詞首

也支援#方向 移動多個詞#表示數字

3.行内跳轉

0 表示跳到行首

^ 表示行首(移動到行首第一個非空字元)

$ 行尾

4.行間跳轉

#G 跳轉至第幾行

G 最後一行

末行模式直接給出行号回車也可以跳轉

四、翻屏

Ctrl+d 向下翻半屏

Ctrl+u 向上翻半屏

Ctrl+f 向下翻一屏

Ctrl+b 向上翻一屏

五、編輯指令

x 删除單個字元,支援前邊加數字,表示向後删除多少個字元

六、删除指令 d

d 指令要和跳轉指令一起使用

dd 删除目前光标所在行,支援加數字。

dw 删除詞 de db

七、粘貼指令 p P

P(大寫) 如果删除或複制為整行内容,則粘貼至光标所在行的上方

如果删除或複制非整行内容,則粘貼至光标所在字元的前面

p(小寫) 如果删除或複制為整行内容,則粘貼至光标所在行的下方

如果删除或複制非整行内容,則粘貼至光标所在字元的後面

八、複制指令 y

用法同d

九、修改 先删除内容,再轉換為輸入模式

c  用法同d指令

十、替換 r

r 替換單個字元

R 進入替換模式(可以替換多個字元)

十一、撤消編輯操作 u

u 撤消前一次操作,可連續使用,也可加數字直接撤消N步

ctrl+r 還原此前的一次撤消操作

十二、重複執行前一次的編輯操作

.

十三、可視化模式

v 按字元選取

V 按矩形選取

十四、查找 末行模式

/pattern 從目前光标向下查找

?pattern 從目前光标向上查找

n下一個 N向上跳

十五、查找并替換 末行模式

ADDR,ADDR2s@pattern@替換内容@gi

十六、如何打開多個檔案

vim file1 file2 file3

:next  切換至下一個檔案

:prev  切換至前一個檔案

:last  切換至最後一個檔案

:first 切換至第一個檔案

退出多個檔案 :qa 全部退出(quit all)

十七、分屏顯示一個檔案

Ctrl+w, s 水準拆分視窗

Ctrl+v, v 垂直拆分視窗

在視窗間切換光标

Ctrl+w, arrow(上下左右)

:qa 關閉所有視窗

十八、分視窗編輯多個檔案

vim -o file1 file2 水準分割顯示

vim -O file1 file2 垂直分割顯示

十九、将目前檔案中的部分内容另存為另外一個檔案

末行模式下使用w指令

:ADDR,ADDR,w /path/filename

二十、将其它檔案中的部分内容讀取到目前檔案

:r /path/filename

二十一、跟shell互動

:! command

二十二、進階話題(配置後僅對目前vim程序有效)

1、顯示或取消顯示行号

:set nu 顯示

:set nonu 取消

2、忽略或區分大小寫

:set ignorecase

:set ic 忽略

:set noic

3、自動縮進

:set autoindent

:set ai

:set noai

4、查找到的文本高亮顯示或取消

:set hlsearch

:set nohlsearch

5、文法高亮

:syntax on

:syntax off

二十三、vim配置檔案

/etc/vimrc 全局配置檔案

~/.vimrc 目前使用者生效(配置放到使用者家目錄下,如果沒有該檔案自行建立)

二十四、自學vim方式

vimtutor 此指令執行後會看到一個vim自學教程,打開後可以進行自學

 前提:你得會英文哦,,!!努力吧!!

小提示:如果vim在編輯文檔時,遠端連接配接突然中斷,然後重新連接配接用vim打開該檔案時,會有

提示swap裡有之前編輯過的該文檔,如果想繼續之前的,直接按照想對應的英文選擇

選項進入,然後儲存後,重新打開還會有,這時就需要切換到該檔案目錄下找到與所

編輯文檔名相對應的隐藏檔案名.name.swp将此檔案删除即可.

(切記要儲存)

本文轉自Winthcloud部落格51CTO部落格,原文連結http://blog.51cto.com/winthcloud/1865111如需轉載請自行聯系原作者

Winthcloud

繼續閱讀