Vi常用命令

来源:互联网 发布:lua for windows 5.2 编辑:程序博客网 时间:2024/04/28 11:50

模式切换:

i  在光标之前插入

I 在光标所在行的行首插入

a 光标位置向后移动一位后在光标之前插入

A 在光标所在行的行尾插入

o 在光标所在行的下一行增加一个新行插入

O 在光标所在行的上一行增加一个新行插入

r 修改光标之后的一个字符后返回命令模式

R 修改光标之后的值,原来的值会被新键入的覆盖掉。

退出编辑模式:

ESC键

进入底部命令行模式:

:

光标的移动:

在命令模式下   键盘上的上下左右箭头控制移动

在命令模式下   h 光标前移一个字符

            l  光标后移一个字符

            j 光标下移一行

            k 光标上移一行

在命令模式下  0  或者^(6上面的键)  移动光标到当前行行首

                   $(4上面的键)移动光标到当前行行尾。

                   e 向后移动一个单词,b 向前移动一个单词

                   nl   光标向后移动n个字符  (n代表数字)

                  gg或者:0  移动文件到第一行

                  G  移动文件到最后一行

                  nG或者:n移动到第n行

                  ‘’单引号键按两次:回到光标上次的位置

                   m[单个字母]  表示光标所在的行,以后可以’[单个字母]跳转到该行

删除:

命令模式下,Delete 删除光标后的一个字符

                 x 删除光标之后的一个字符

                 nx删除光标之后的n个字符

                 X 删除光标前的一个字符

                 nX删除光标前的n个字符

                 dd 删除光标所在行

                 ndd 删除光标所在行及向下的行一共n行

复制粘贴:

                 yy 复制光标所在的行

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

                p 将已复制的数据粘贴到光标下一行

                P 将已复制的数据粘贴到光标上一行

复制与移动行:

语法:

       :x,ycoz

       :x,ymz

说明:

1      x,y,z都是行号。x,y是源行,z是目标行号。

2      源行x,y被复制或移动,插入到z行的下面。

3      :m删除原始行,:co不删除原始行。

例子:

1      :2co4        复制第2行,插入到第4行下面

2      :2,4co8            复制第2行到第4行,插入到第8行下面

3      :2m4        移动第2行,插入到第4行下面

4      :2,4m8             移动第2行到第4行,插入到第8行下面。

撤销和重做:

                u 撤销上一步操作

                U 恢复当前行(即一次撤销对当前行的全部操作)

                nu撤销前n不操作

                CTRL+r  重做刚才撤销的操作

                 .   重复前一个动作,相当于将上次执行的命令输入一遍执行

查找和替换:

:/some   向前查找some   N上一个匹配项,n下一个匹配项

:?some  向后搜索some   N上一个匹配项,n下一个匹配项

*     将光标当前指向的字符串作为目标字符串搜索

%    搜索与({[匹配的括号

 

CTRL+g  显示光标所在行的行号

显示行号                     :set nu

取消显示行号               :set nonu

设置自动缩进              :set ai

取消自动缩进               :set noai

文件操作:

vi file  用vi编辑file文件,如果file不存在,则创建file。

vi –R file(view file) 以只读的方式打开文件file

vi a b c 编辑a b c 多个文件

:n下一个文件

:N 上一个文件

:w  将更改保存到原文件 保存

:w file 将数据写入到指定文件  另存为

:w >>file 将数据追加到指定文件

:r filename 将filename的内容追加到当前光标所在行的后面

:n1,n2 w filename 将n1到n2行的数据存储在filename中

:q 退出文件:q!  不保存数据,强制退出

:wq  保存更改并退出

Shift+ZZ  退出vi

ZQ 无条件退出

0 0
原创粉丝点击