1、vi 和vim最大的区别就是编辑一个文本时,vi不会显示颜色,而vim会显示颜色。显示颜色更易于用户进行编辑。其他功能没有什么区别。

CentOS系统上没有这个命令,请这样安装它  yum install -y vim-enhanced

#vim +n fliename vim进入文件filename时把光标定位到第n行


[root@zekLinux ~]# vim /etc/init.d/iptables

[root@zekLinux ~]# vi !$

vi /etc/init.d/iptables

[root@zekLinux ~]# vim +10 !$

vim +10 /etc/init.d/iptables

!$表示上一条命令最后一个参数。

#rpm -qf `which vim`或#yum provides vim


2、vim三种模式 一般模式、编辑模式、命令模式

一般模式下移动光标

h或向左方向键     光标向左移动一个字符

j或向下方向键     光标向下移动一个字符

k或向上方向键     光标向上移动一个字符

l或向有方向键     光标向右移动一个字符

Ctrl+f或pageUP    屏幕向前移动一页

Ctrl+b或pageDn  屏幕向后移动一页

Ctrl+d  屏幕向前移动半页

Ctrl+u          屏幕向后移动半页

n空格             按下数字n按空客后光标向右移动n个字符,如果该行字符数小于n,                           则光标将继续从下行开始向右移动一直到n。

0或shift+6        移动到本行行首

shift+4           即$移动到本行行尾

H                 光标移动到当前屏幕的最顶行

M                 光标移动到当前屏幕的中央那行

L                 光标移动到当前屏幕的最低行  

G                 光标移动到文本末行

nG(n是数字)       移动到该文本的第n行

gg                移动到该文本的首行

n回车             光标向下移动n行




一般模式下删除、复制粘贴

x,X       x向后删除一个字符,X向前删除一个字符X

nx/nX      向后/向前删除n个字符

dd         删除/剪切光标所在行

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

yy         复制光标所在行

nyy        复制光标所在行起向下一共n行

p          从光标所在行向下粘贴已复制或剪切的内容

shift+p    从光标所在行向上粘贴已复制或剪切的内容

v          按v后移动光标选中指定字符,然后进行复制粘贴操作

u          还原上一步操作

Ctrl+r     反撤销


进入编辑模式

i 当前字符前插入字符

I 在当前行行首插入字符

a 在当前字符后插入字符

A 在当前行行末插入字符

o 在当前行下插入新的一行

O 在当前行上插入新的一行


命令模式

ESC 退出编辑模式回到一般模式

:w   保存

:w! 强制保存,在root用户下即使文本只读也可以完成保存

:q   退出vim

:q!  强制退出所有改动不生效

:wq  保存并退出

:set nu    显示行号

:set nonu  不显示行号


一般模式下查找与替换

/word                向光标之后寻找一个字符串名为word的字符串,当找到第一个word后,按                     “n”继续搜索后一个,按shift+n往上搜索前一个。      

?word               向光标之前寻找一个字符串名为word的字符串,当找到第一个word之后,                     按"n”继续找前一个,按shift+n往上搜索后一个。

:n1,n2s/word1/word2/g 在n1和n2行之间查找word1这个字符串并替换为word2,可以把/换为#

:1,$s/word1/word2/g   从第一行到行末查找word1并替换为word2

:1,$s/word1/word2/gc  加c作用是,在替换前需要用户确认。


:1,100s//etc/sysconfig//11111/g此命令不能执行改为:1,100s/\/etc\/sysconfi\//11111/g或:1,100s#/etc/sysconfig/#11111#g或:1,100s$/etc/sysconfig/$11111$即可执行


:nohl  去除高亮模式