详讲vim编辑器

  vi编辑器是unix系统最初的非图形化编辑器。它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。其中vim(vi improved)是vi的增强版。

  vim编辑器在内存缓冲区中处理数据。只要键入vim命令(或vi,如果这个别名或者链接文件存在的话)和要编辑的文件的名字就可以启动vim编辑器,如图所示:

  通常认为,vi有3种使用模式,分别为一般模式、编辑模式和命令模式。在每种模式下面,用户都可以分别执行不同的操作。例如,在一般模式下,用户可以进行光标位置的移动、删除字符,以及复制等;在编辑模式下,用户可以插入字符或者删除字符等;在命令模式下,用户可以保存文件或者退出编辑器等。下面将分别介绍这3种模式的使用方法。

  1. 一般模式

    当用户刚刚进入vi编辑器的时候,当前的模式就是一般模式。一般模式是3个模式中功能最为负责的模式,一般的操作都在该模式下完成。vi提供了许多关于光标移动的功能键,如表所示:

                                                         光标移动快捷键

        操作快捷键                                             说明
向下移动光标向下方向键、j键或者空格键每按1次键,光标向正下方移动1行
向上移动光标向上方向键,k键或者backspace键每按1次键,光标向正上方移动1行
向左移动光标向左方向键或者h键每按1次键,光标向左移动1个字符
向右移动光标向右方向键或者l键每按1次键,光标向右移动1个字符
移至下1行行首回车键每按1次键,光标会移动到下1行行首
移至上1行行首-键每按1次键,光标会移动到上1行行首
移至文件最后1行G键将光标移动到文件最后1行行首

                                                                                     文本操作快捷键

    操作                               快捷键                                                         说明
右插入a在当前光标所处位置的右边插入文本
左插入i在当前光标所处位置的左边插入文本
行尾追加A在当前行的末尾追加文本
行首插入I在当前行的开始插入文本
插入行O或者o

O键在当行的上面插入1个新行,o键将在当前行的下面插入1个新行

覆盖文本R覆盖当前光标所在的位置以及后面的若干文本
合并行J

将当前光标所在的行与下面的1行合并为1行   

                      注意:除了J键之外,其他的所有快捷键都会导致vi编辑器从一般模式切换到编辑模式,I键的功能是在当前行的开始位置插入文本,不包括空白字符。

                      使用文本快捷键进入的编辑模式后,可以通过Esc键返回到一般模式。

                                                                                                   文本复制和粘贴快捷键

           操作快捷键                                                                       说明
复制行yy将当前行复制到缓冲区,如果想定义多个缓冲区,可以使用ayy、byy以及cyy语法。其中yy前面的字符表示缓冲区的名称,可以是任意单个字母。这样的话,可以将多个单独的行复制到多个缓冲区,各个缓冲区相互之间不受影响
复制多行nyy将当前行以及下面的n行复制到缓冲区,其中n表示一个整数。与yy命令相似,用户也可以使用anyy或者bnyy等语法来命名缓冲区。
复制单词yw复制从光标当前位置到当前单词词尾的字符
复制多个单词nyw其中n是一个整数,表示从光标当前位置开始,复制后面的n个单词
复制光标到行首y^从当前光标所处的位置开始,复制到当前行的行首
复制光标到行尾y$从当前光标所处的位置开始,复制到当前行的行尾
粘贴到光标后面的位置p将缓冲区的字符串插入点当前光标所处位置的后面。如果定义了多个缓冲区,则使用ap方式来粘贴,其中字母a表示缓冲区的名称
粘贴到光标前面的位置P将缓冲区的字符串插入点当前光标所处位置的前面。如果定义了多个缓冲区,则使用aP方式来粘贴,其中字母a表示缓冲区的名称

                                                  删除文本快捷键

           操作   快捷键                                                         说明
删除当前字符x删除光标所在的位置的字符
删除多个字符nx删除从光标所在位置开始,后面的n个字符
删除当前行dd删除光标所处的整个行
删除多个行ndd删除包括当前行在内的n行
撤销上一步操作u撤销刚刚执行的操作
撤销多个操作U撤销针对当前行的所有操作

    2. 编辑模式

        从一般模式进入编辑模式需要按字母i就可以,退出编辑模式按esc键即可,在编辑模式下,用户可以使用上、下、左、右4个方向键移动光标,使用backspace键和del来删除光标前面的字符,还可以在光标所在的位置插入字符。在编辑模式下,用户不能使用h、j、k和l这4个键移动光标,也不能使用x键删除字符。因为在编辑模式下,这些字母都被当做是正常的字母。

    3. 命令模式

       在命令模式下,用户主要完成文件的打开、保存、将光标跳转到某行,以及显示行号等操作。vi命令模式需要从一般模式进入,当前用户在一般模式下,按冒号键“:”之后,会在vi界面编辑的底部出现命令提示符,如图所示:

      当出现如上图所示的命令提示符之后,用户就可以输入vi命令,例如保存文件等,如下表所示:

                                              常用的vi命令

      操作     命令                                                                                   说明
打开文件:e打开另一个文件,将文件名作为参数
保存文件:w保存文件,即将文件的改动写入磁盘。如果将文件另存为其他文件名,则可以将新的文件名作为参数
退出编辑器:q退出vi编辑器
直接退出编辑器:q!不保存修改,直接退出vi编辑器
退出并保存文件:wq将文件保存后退出vi编辑器
跳至指定行:n、:n+或者:n-:n表示跳到行号为n的行,:n+表示向下跳n行,:n-表示向上跳n行
显示或者隐藏行号:set nu或者:set nonu:set nu表示在每行的前面显示行号;:set nonu表示隐藏行号
替换字符串

:s/old/new、:s/old/new/g

、:n,m s/old/new/g或者:%s/old/new/g

:s/old/new表示用字符串new替换当前行中首次出现的字符串old;:s/old/new/g表示用字符串new替换当前行中所有的字符串old;:n,m s/old/new/g表示用字符串new替换从n行到m行所有的字符串old;:%s/old/new/g表示用字符串new替换当前文件中所有的字符串old

设置文件格式:set fileformat=unix将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。其中fileformat可以取unix或者dos等值

       注意:进入命令模式后,只用:e命令打开另外一个文件。由于vi只能同时编辑一个文件,所以在打开另外一个文件的同时,当前打开的文件将被关闭。

    4. 文本的搜索

        vi的文本搜索是在一般模式下进行的,但是它的使用方法与其他一般模式下的功能有所区别,甚至可以将该项功能单独成为搜索模式,用户可以在一般模式下使用反斜线“/”快捷键进入文本搜索模式,如图所示:

        当进入搜索模式后,用户可以在提示符后面输入要搜索的字符串,然后按回车键。如果要搜索的文本出现了很多次,可以使用斜线键,然后按回车键,或者使用n键(表示下一个next)继续向下搜索下一个出现的位置;使用N键向上搜素前一个出现的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值