2

写在前面:作为常年与服务器、Linux打交道的后端开发RD,基本的vi操作是一定要运用非常熟练的;本篇文章就记录了一些日常工作中最常用的的指令,希望能和大家共同学习共同进步~

一、vi与vim的区别
vim是vi的升级版本,它兼容vi的所有指令,并提供一些新特性,如以不同颜色标识语法等;(之后会总结一些vim的常用功能~)

二、vi的三种模式

模式 功能
一般模式 通过vi打开文件后的默认模式,在此模式下可以方便地移动光标,执行复制、剪切、删除、粘贴等操作;
编辑模式 在一般模式按下【i、I、o、O、a、A、r、R】等字符即可进入编辑模式(最常使用【i】在光标处开始编辑、【o】在光标下一行插入新行,并跳转至新行开始编辑),编辑模式下可以编辑文件,按下【ESC】可退出到一般模式;
命令行模式 在一般模式按下【:、/、?】字符即可进入命令行模式,命令行模式下可以保存修改、离开vi、查找字符、替换字符,按下【ESC】可退出到一般模式;

三、最常用指令

1、移动指令

指令 功能 简介 编者按
k/j/h/l 上下左右移动光标 一般模式下,可以使用【k/j/h/l】代替方向键上下左右移动光标,多次相同移动指令可使用数字+指令执行,如【30j】即代表向下移动光标30次; 刚开始使用这四个键会很难记、很不适应,但习惯后的确会更方便、更极致;
Ctrl+f 向下翻页 一般模式下,可以使用组合键【Ctrl+f】向下翻页; 适用于vi浏览多页数据
Ctrl+b 向上翻页 一般模式下,可以使用组合键【Ctrl+b】向上翻页; 适用于vi浏览多页数据
0 移动光标到行首 一般模式下,可以使用数字【0】移动光标到行首; 非常常用;
$ 移动光标到行尾 一般模式下,可以使用符号【$】移动光标到行尾; 非常常用;
G 移动光标到文件最后一行 一般模式下,可以使用大写字母【G】移动光标到文件最后一行,【nG】代表移动光标到文件的第n行; 非常常用,比如直接跳到日志文件末尾查看最新的日志;
gg 移动光标到文件第一行 一般模式下,可以使用【gg】移动到文件第一行; 非常常用;

2、查找替换指令

指令 功能 简介 编者按
/关键字 从光标位置向下查找关键字 一般模式下,可以通过符号【/】进入命令行模式,再键入要查找的关键字,按下【回车】即可自动将光标移动到向下第一个关键字处;结合【n】沿之前方向继续查找(此处为继续向下)、【N】沿之前反向继续查找(此处为继续向上); 非常常用,比如通过关键字查找日志;
?关键字 从光标位置向上查找关键字 一般模式下,可以通过符号【?】进入命令行模式,再键入要查找的关键字,按下【回车】即可自动将光标移动到向上第一个关键字处;结合【n】沿之前方向继续查找(此处为继续向上)、【N】沿之前反向继续查找(此处为继续向下);
:1,$s/word1/word2/gc 从第一行到最后一行查找word1并替换为word2,并在替换前提示用户确认 一般模式下,可以通过符号【:】进入命令行模式,再键入【1,$】代表从第一行到最后一行,$也可以用具体的行号代替,最后的参数【c】代表替换前提示用户确认; 一般来说,除非确认要全局替换的情况,还是推荐加上参数【c】确保替换无误;

3、剪切、删除、复制、粘贴指令

指令 功能 简介 编者按
x 删除(剪切)光标位置处的字符 在一般模式下,可以使用小写字母【x】代替【Del】删除(剪切)光标位置的字符; 非常常用,较使用【Del】更方便;在vi指令中,删除一般都可以做为剪切使用;
dd 删除(剪切)光标所在行 在一般模式下,可以使用【dd】删除(剪切)光标所在行操作;可使用【ndd】删除连续的n行; 非常常用;
yy 复制光标所在行 在一般模式下,可以使用【yy】复制光标所在行;可使用【nyy】复制连续的n行; 非常常用;
p 将已复制的数据粘贴在光标下一行 在一般模式下,可以使用【p】将已复制的数据粘贴在光标下一行; 非常常用;

4、重复操作与撤销操作指令

指令 功能 简介 编者按
u 撤销前一个操作 在一般模式下,可使用【u】撤销之前的操作 非常常用;
Ctrl+r 恢复前一个被撤销的操作 在一般模式下,可以使用【Ctrl+r】恢复【u】撤销的操作 【u】的反向操作;
. 重复之前的操作 在一般模式下,使用符号【.】可以方便地重复之前的删除、粘贴操作 非常常用;

5、命令行模式常用指令

指令 功能
:w 保存文件
:q 退出文件
:wq 保存并退出文件
:q! 强制退出,不保存
:set nu 设置行号
:set nonu 取消设置行号
:数字 移动光标到第n行

leeon
301 声望12 粉丝

加油!


引用和评论

0 条评论