• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    vi和vim编辑器常用命令有什么区别? 学vi和vim编辑器看这一篇就够了

    发布者: 404号房间 | 发布时间: 2025-6-20 18:35| 查看数: 114| 评论数: 0|帖子模式

    在Linux如果系统中需要编辑文件,一般可以使用vi和vim编辑器编辑文件。它们都是多模式编辑器,区别在于vim是vi的升级版本,它不仅与vi的所有指令兼容,还具有一些新的特性。这篇文章将带你一起学习vi和vim编辑器相关知识点。
    vim for mac(文本编辑器) v8.0 苹果电脑最新版

    • 类型:开发软件
    • 大小:21.5MB
    • 语言:英文软件
    • 时间:2018-03-12
    查看详情对于java零基础对新手来说,学习vi和vim编辑器首先要知道的是两者的概念:vi是linux下标准的纯字符界面文本编辑器。由于不是图形界面,相关操作必须通过键盘输入命令完成,需要记住一些常用的操作命令
    1. 推荐阅读:<a href="https://www.jb51.net/softjc/927234.html" target="_blank">超详细的Vim编辑器vim命令大全 强烈建议收藏!</a>
    复制代码
    vim是vi的升级版,与vi完全兼容,vim也可以作为vi完全使用。vim在vi的基础上添加了语法着色等一些功能。
    一、vi与vim的区别

    1、多级撤消
    在vi编辑器中,按u只能撤消上次命令,而在vim里可以无限制的撤消。
    2、易用性
    vi编辑器只能运行于unix中,而vim不仅可以运行于unix,还可用于windows、mac等多操作平台。
    3、语法加亮
    vim可以用不同的颜色来加亮你的代码。
    如下两图对比:
    vi main.c

    vim main.c

    4、可视化操作
    vim不仅可以在终端运行,也可以运行于windows、 mac os、 windows。
    5、对vi完全兼容
    可以把vim当成vi来使用。
    小结:vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。
    二、VI模式

    1、命令行模式 (command mode/一般模式)
    任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动vi命令,进入编辑器时,也是处于该模式下。
    在该模式下,用户可以输入各种合法的vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,vi会响铃报警。
    2、文本输入模式 (input mode/编辑模式)
    在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令行模式下,按”ESC”键即可。
    3、末行模式 (last line mode/指令列命令模式)
    末行模式也称转义模式。
    vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。在vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。vi有一个专门的“转义”命令,可访问很多面向行的Ex命令。
    在命令模式下,用户按“:”键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,vi自动回到命令模式。
    三、VIM模式

    1、正常模式 (Normal-mode)
    启动vim后默认处于正常模式(即命令行模式)。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。
    2、插入模式 (Insert-mode)
    在正常模式中按下i, a, o, I,A,O键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。
    3、命令模式 (Command-mode)
    在正常模式中,按下:(英文冒号)键,会进入命令模式。
    在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。
    4、可视模式 (Visual-mode)
    在正常模式中按下v,V,<ctrl>+v,可以进入可视模式。
    可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。
    四、VI与VIM的常用命令

    注:由于VI与VIM在命令上几乎相同,所以这里那VIM为例。
    1、模式转换
    1. 正常-->输入:以下这几个参数实现的功能都是转为输入模式,只不过转换后的光标所在的位置不同(感兴趣可以试一试,虽然意义不大!)i:在当前光标所在字符的前面,转为输入模式;
    2. a:在当前光标所在字符的后面,转为输入模式;
    3. o:在当前光标所在行的下方,新建一行,并转为输入模式;
    4. I:在当前光标所在行的行首,转为输入模式;
    5. A:在当前光标所在行的行尾,转为输入模式;
    6. O:在当前光标所在行的上方,新建一行,并转为输入模式;
    7. 输入-->正常:
    8. [code]ESC
    复制代码
    正常-->末行:英文冒号)末行-->正常:ESC,ESC[/code]注意:输入模式和末行模式之间不能直接切换。
    2、关闭文件(末行模式)
    1. :q退出;:q!不保存退出;
    2. :w保存;
    3. :w!强行保存;
    4. :wq保存退出
    5. :wq!强制保存并退出
    复制代码
    注意:在正常模式下按组合键shift zz可以保存并退出
    3、移动光标(正常模式)
    1)逐字符移动:
    1. h: 左;l: 右;
    2. j: 下;
    3. k: 上;
    4. #h: 移动#个字符
    复制代码
    2)以单词为单位移动
    1. w: 移至下一个单词的词首;e: 跳至当前或下一个单词的词尾;
    2. b: 跳至当前或前一个单词的词首;
    3. #w: 移动#个单词
    复制代码
    3)行内跳转:
    1. 0: 绝对行首;^: 行首的第一个非空白字符;
    2. $: 绝对行尾
    复制代码
    4)行间跳转
    1. #G:跳转至第#行;gg: 第一行;
    2. G:最后一行
    复制代码
    5)末行模式
    1. .: 表示当前行;$: 最后一行;
    2. #:第#行;
    3. +#: 向下的#行
    复制代码
    4、翻屏(正常模式)
    1. Ctrl+f: 向下翻一屏;Ctrl+b: 向上翻一屏;
    2. Ctrl+d: 向下翻半屏;
    3. Ctrl+u: 向上翻半屏
    复制代码
    5、复制字符
    1)正常模式 复制:
    1. yy:复制当前行nyy:复制当前行至下面的n行
    复制代码
    粘贴:
    1. <strong>p:粘贴到光标的后面</strong>
    2. <strong>P:粘贴到光标的前面</strong>
    复制代码
    2)可视模式 复制:
    1. y:复制当前行ny:复制当前行至下面的n行
    复制代码
    粘贴:
    1. p:粘贴到光标的后面P:粘贴到光标的前面
    复制代码
    6、删除字符(正常模式)
    1. x: 删除光标所在处的单个字符;#x: 删除光标所在处及向后的共#个字符;
    2. d$或D:从当前光标处删除至行尾;
    3. d^:从当前光标处删除之行首;
    4. dd: 删除当前光标所在行;
    5. #dd: 删除包括当前光标所在行在内的#行;
    复制代码
    注:dd相当于剪切操作,如果你dd之后按p或者P可以进行粘贴。
    7替换字符
    1. r:替换单个字符(按完r在按你要替换的字符即可)R:替换多个字符(从你要替换的位置开始替换,直至你退出正常模式)
    复制代码
    8、撤销编辑操作:u
    1. u:撤消前一次的编辑操作;#u:直接撤消最近#次编辑操作; 温馨提示:连续u命令可撤消此前的n次编辑操作;
    复制代码
    9、将另外一个文件(/path/sunhui.txt)的内容填充在当前文件夹中
    1. :r /path/sunhui.txt :填充到当前文件所在光标的后面
    复制代码
    10、修改vim配置文件
    1. vim~/.vimrc:修改当前用户的vim配置文件 vim /etc/vimrc:修改所有用户的vim配置文件 例:在当前用户的vim配置文件中添加显示行数的命令 vim~/.vimrc:在末行添加setnu即可
    复制代码
    11、拓展(末行模式)
    1)显示或取消显示行号
    1. :set nu //显示:set number //显示:set nonu //取消
    复制代码
    2)设置语法高亮
    1. :syntax on //开启:syntax off //关闭
    复制代码
    3)分屏
    1. :vsp xxx.x //将两个文件垂直分屏 :ctrl+w w//切屏
    复制代码
    注:该特性当前有效,如果想要永久有效需修改配置文件

    来源:https://www.jb51.net/softjc/970866.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表