vi常用命令

vi命令

vi    文件名-->这样就进入了一般模式

一般模式按i   o    a   R进入编辑模式,从编辑模式按Esc退回一般模式。
一般模式按: /  ?进入命令行模式。

一般模式光标移动方法
h        光标向左移动一个字符                      j           光标向下移动一个字符
k        光标向上移动一个字符                      l           光标向右移动一个字符
0        这是数字0,移动光标到光标所在这一行的最前面的字符  

$              移动光标到光标所在这一行的最后面的字符
H             将光标移动到当前屏幕的最上方那一行                                  

L             将光标移动到当前屏幕的最下方那一   行
G             移动到这个文件的最后一行                                                        

nG          n为数字,移动到这个文件的第n行
gg           移动到这个文件的第一行,相当于1G                                   

n<enter>      n为数字,  光标从当前屏幕向下移动n行
注:  如果想进行多次移动的话,例如向下移动30行,可以使用30j的组合键.

翻页

ctrl+f     向下移动一页                                    ctrl+b     向上移动一页

一般模式的搜索与替换
/word     n:向下搜索;N:向上搜索
?word     n:向上搜索;N向下搜索
替换:

:/%/s/old/new/g      将旧内容old替换为新内容new

:/%s/old//g               将旧内容替换为空,即删除

一般模式:删除   复制   与  粘贴
x  X        在光标所在的行中, x  为向后删除一个字符(相当于del),X   为向前删除一个字符(相当于退格�)
nx           n为数字,连续向后删除n个字符.
dd          删除光标所在的那一整行
ndd       n为数字,从光标所在的位置开始,向下删除n行
d1G       删除光标所在位置到这个文件第一行的所有数据
dG         删除光标所在位置到最后一行的所有数据
yy,Y       复制光标所在的那一行
nyy,nY        复制光标所在位置向下的n行.
y1G       复制光标所在行到第一行的所有数据
yG         复制光标所在行到最后一行的所有数据
y0          复制光标所在的那个字符到该行行首的所有数据
y$         复制光标所在的那个字符到该行行尾的所有数据
p  P       p 为将已复制的数据粘贴到光标所在行的下一行,P 为将已复制的数据粘贴到光标所在行的上一行.
u           取消上一步的操作,可持续取消到文件打开 时的状态,并不是上次文件保存的状态.

U:         取消当前光标所在行的所有操作.
ctrl+r      取消u取消的操作
.             就是小数点,  意思就是重复前一个操作.

进入编辑模式:

i    I           i   为从当前光标前处插入                                     I   为在当前光标所在行的行首插入.
a  A          a   为从当前光标所在的下一个字符处开始插入        A  为从光标所在行的行尾处开始插入
o  O         o  为在当前光标所在行的下一行处插入新的一行。  O   为在当前光标所在行的上一行插入新的一行.
r   R          替换   r会替换光标所在的那一个字符          R 会一直替换光标所在的文字,直到按下Esc键为止

Esc         退出编辑模式,回到一般模式中

命令行模式
:w        将编辑的数据写入硬盘文件中
:w!       若文件属性为"只读"时,强制写入该文件,不过,能不能写入与该文件的权限有关.
:q         退出不保存(离开vi)
:q!        若修改过文件,使用!   为强制离开不存储文件.      注:   !   在vi中,!常常具有强制的意思
:wq      保存文件并退出vi        :wq!  则为强制保存并退出vi
:e!        将文件还原到最原始的状态
ZZ       若文件没有更改,则不存储离开,若文件已经更改,则存储后离开
:w    filename       将编辑的文件另存为一个新文件.
:r      filename      在编辑的文件中,读入另一个文件中的数据, 即将filename这个文件的内容加到光标所在行的后面.
:n1、n2  w   filename      将n1到n2之间的内容存储成filename文件
:!    command                 可暂时离开vi到命令行模式下执行command的显示结果. 例如:   :!    ls     /home   即可   在vi中查看/home中以ls输出的文件信息
:set     nu            显示行号,
:set     nonu        取消显示行号







 

本文出自 “�n零的博客” 博客,转载请与作者联系!

你可能感兴趣的:(linux,命令,职场,vi,休闲)