2019-11-01

                        SAIL-IMX6中vi 的基本使用教程


vi,Unix&Linux下最基本的编辑器,功能强大使用简单,是用户的必备利器。


模式:


1. 命令模式(默认,通过命令对文件内容进行编辑)


   vi //在当前目录创建空文件


   vi filename //打开指定文件


   vi -o|O f1 f2 //打开多个文件,o|O表示水平|垂直分隔


    通过vi打开文件后自动进入命令模式,此模式下所有输入都是命令


2. 插入模式(像windows中的普通编辑器一样使用)


    命令模式下按iaoIAO任一键进入插入模式,esc回到命令模式


    i在光标前插入文本


    I在光标所在行前插入


    a在光标后插入文本


    A在光标所在行未插入


    o在光标所在行下插入新行


    O在光标所在行上插入新行


3. 编辑模式(通过命令对文件或文件内容进行编辑)


    命令模式下按“:”进入编辑模式,esc或enter执行操作后回到命令模式


4. 视图模式(属于命令模式)


   vV进入视图模式,执行字符选中


    例:按"H"或"L"移动光标选中字符,通过yd进行复制剪切


常用命令


    【定位命令】


   hjkl:光标[左下上右]移动,同方向键


   0:移至行首


   ^:非空白行头


   $:移至行尾


   Enter:移至下行首


   H:移至屏幕上端


   M:移至屏幕中央


   L:移至屏幕下端


   C-F:下一页(C-F表示Ctrl+Shift+F)


   C-B:上一页


   gg:移至第一行


   G:移至文件末尾


   [n]G:移至文件第n行


   :n移至文件第n行




    【删除命令】


   x:删除光标处字符


   nx:光标所在处后n个字符


   X:删除光标前字符


   dd:剪切光标所在行


   ndd:剪切当前行以下n行


   dG:删除光标所在行到文件末尾


   D:删除光标所在处到行尾


   :n1,n2d删除n1行到n2行之间的内容




    【复制&粘贴】


   yy/Y:复制当前行


   nyy,nY:复制当前行下边的n行


   nyh,nyl:复制光标前/后的n个字符


   p,P:将已经选择复制或被删除的行粘贴到当前行下或行上




    【搜索&替换】


   r:取代光标所在处字符


   R:从光标所在处开始替换字符,至到按esc结束


   s:替换(删除)光标所在处字符,并进入文本输入方式


   S:替换(删除)光标所在行,按esc结束


   :/string    //从上向下搜索字符串


   :?string    //从下向上搜索字符串


    通过按键n移到下一个结果:


    n//时向下,?时向上搜索


    N//时向上,?时向下搜索


   :%s/old/new/g    //把所有old替换为new,g不会询问,c会询问虽否替换


   :%s/old//g    //把所有old删除


   :n1,n2s/old/new/g    //在一定范围内替换指定字符串


    例:连续行注释


   :n1,n2s/^/#/g     //^表示行首


   :n1,n2s/^/#//g    //将行首'#'替换为空,即删除


   :n1,n2s/^////g    //转义符,使用"//"注释


    替换:ab asmmail [email protected]//输入a时回车或空格,vi自动换成b


   unab//取消




    【撤消】


   u:撤消上一步操作(最多可撤消到文件打开时)。


   U:撤消当前行的所有操作。


   ctrl+r:取消撤消




    【保存退出】


   :w保存


   :w newfilename另存为


   :w!强制保存   //!只针对文件所有者和管理员


    :wq保存&退出   //快捷键ZZ


   :q退出


   :q!强制退出


   :wq!强制保存&退出


   :x保存退出


   :x!强制保存&退出




    【其它】


   :set nu/number    //设置行号


   :set nonu    //取消行号


   :set ic    //区分大小写


   :set noic    //取消区分大小写


   :vsp    //垂直分窗


   :sp    //水平分窗


   C-W p/w    //切换到上/下一个窗口


   :r filename把指定文件内容导入进来(光标所在位置)。


   :! cmd运行cmd命令


   :r !date将命令结果导入到文件中


   :map快捷键 触发命令


   map ^P I#    //使用ctrl+p注释本行(使用ctrl+v+[p]输入"^[P]")


   map ^B 0x    //取消注释


   unmap


vi配置:


通过vi配置文件设置vi默认环境。


例:设置vi默认显示行号


cd ~   //回到当前账户家目录下


vi .vimrc   //vi配置文件,默认不存在,家目录中,针对当前用户


i//进入编辑模式


set nu


map ^P I#


……


:wq

以上我是在基于sail-imx6q开发板的linux上实现的,小伙伴们也可以在此开发板上检验一下。

你可能感兴趣的:(2019-11-01)