天天看點

linux文本編輯工具——vim

1. vim簡介

vim是從vi發展出來 ,第一個版本由布萊姆·米勒在1991年釋出 ,它基于VIM許可證,相容GPL。

Vim 的全名為 Vi IMproved 意思為VI改良版;vim與vi不同點為,vim可以用顔色直覺顯示,友善檢視;

2. 安裝vim

安裝vim的指令:yum install -y vim-enhanced

檢視安裝vim的包    rpm -qf /usr/bin/vim    

<code>[root@localhost ~]</code><code># rpm -qf /usr/bin/vim</code>

<code>vim-enhanced-7.2.411-1.8.el6.i686</code>

如果沒安裝包,查詢要安裝的包的名字

使用格式為:vim filename

vim +n filename    n為數字,可以定位到檔案的第n行;

3. vim的三種模式:

一般模式

在這個模式下,可以:上下移動光标,删除某個字元,删除某行,複制、粘貼一行或者多行。

一般模式下的光标移動

h或者向左方向鍵

光标向左移動一個字元

l或者向右方向鍵

光标向右移動一個字元

k或者向上方向鍵

光标向上移動一個字元

j或者向下方向鍵

光标向下移動一個字元

Ctrl+f或pageup鍵

螢幕向前移動一頁

Ctrl+b或pagedown鍵

螢幕向後移動一頁

數字0或者Shift + 6

移動到本行行首

Shift + 4

移動到本行行尾

gg

移動到首行

G

移動到尾行

nG(n是任意數字)

移動到第n行

shift+6    移動到非空白字元的行首    

數字 0 則是本行行首,不管是否是空白字元;

一般模式下的删除、複制和粘貼

x,X        

x向後删除一個字元,X向前删除一個字元

nx        

向後删除n個字元

dd

删除/剪切光标所在的那一行

ndd(n為數字)

删除/剪切光标所在行起向下一共n行

yy        

複制光标所在行

p        

從光标所在行向下粘貼已經複制或者粘貼的内容

P        

從光标所在行向上粘貼已經複制或者粘貼的内容

nyy        

從光标所在行算起向下複制n行

u        

還原上一步操作

v        

按v後移動光标會選中指定字元,然後可以複制、粘貼等

删除一個詞語    dw

複制一個詞語    yw

全選文本依次按以下字母    gg shift+v G

全文複制依次按以下字母    gg shift+v G Y  

編輯模式

一 般模式下,是不可以修改某一個字元的,隻能到編輯模式了。從一般模式進入編輯模式,隻需你按一個鍵即可(i, I, a, A, o, O, r, R)。當進入編輯模式時,會在螢幕的最下一行出現“INSERT或REPLACE”的字樣(如果你的CentOS有支援中文,那麼會顯示“插入”)。從編 輯模式回到一般模式隻需要按一下鍵盤左上方的ESC鍵即可。

i         

在目前字元前插入

I         

在光标所在行行首插入

a         

在目前字元後插入

A         

在目前行行尾插入

o         

在目前行的下一行插入新的一行

O         

在目前行的上一行插入新的一行

在一般模式下,輸入 “:” 或者 “/” 即可進入指令模式。在該模式下,我們可以搜尋某個字元或者字元串,也可以儲存、替換、退出、顯示行号等等。

指令模式下查找和替換

/word      

向光标之後尋找一個字元串為word,按n向後繼續搜尋

?word      

向光标之前尋找一個字元串為word,按n向前繼續搜尋

:n1,n2s/word1/word2/g      

在n1,n2行之間查找word1并替換為word2,不加g則隻替換每行的第一個word1

:1,$s/word1/word2/g      

  替換文檔中所有的word1為word2,不加g隻替換每行的第一個word1

$    代表行尾

s    代表替換

g    代表全局

1,$    也可以用 % 代替;

:nohl    去掉***高亮顯示的字元

:1,30s/\/etc\/init.d/abc/g    如果替換字元裡面有/的話,需要用轉義字元 \ 轉義

:1,30s#/etc/init.d#abc#g    或者用#号分隔

:1,30s@/etc/init.d@abc@g    或者用@号分隔

查找某個詞語在全文出現了多少次

/name    之後按 n 鍵往下人工數

:%s/name/$/gn = :%s/name/name/gn    全文搜尋,替換名字不變,意思為不替換,加 n 統計數字;

指令模式其他功能

:w      

  儲存文本

:q      

  退出vim

:w!      

  強制儲存,在root使用者下即使文本隻讀也可以完成儲存

:q!      

  強制退出,所有改動不生效

:wq     

   儲存并退出

:set nu      

  顯示行号

:set nonu      

  不顯示行号

:n     直接跳轉到第n行,相當于 nG

:wq    内容不更改強制儲存并退出,會更改mtime和ctime;

:x     内容不更改儲存退出,不會更改mtime和ctime;

本文轉自 15816815732 51CTO部落格,原文連結:http://blog.51cto.com/68686789/1689130

繼續閱讀