vi与vim的区别以及常用命令

芝士年糕
• 阅读 229

最近在使用3A服务器,经常修改配置文件,但是在网上看教程的时候,发现有人使用vi,也有人使用vim,但这两者到底有什么区别呢,下面为大家介绍,如果有需要服务器的,可以后台私信我 一、vi与vim的区别 1、多级撤消 在vi编辑器中,按u只能撤消上次命令,而在vim里可以无限制的撤消。 2、易用性 vi编辑器只能运行于unix中,而vim不仅可以运行于unix,还可用于windows、mac等多操作平台。 3、语法加亮 vim可以用不同的颜色来加亮你的代码。 如下两图对比: vi main.c

vi与vim的区别以及常用命令

vi与vim的区别以及常用命令

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后默认处于正常模式(即命令行模式)。不论位于什么模式,按下键(有时需要按两下)都会进入正常模式。 2、插入模式 (Insert-mode) 在正常模式中按下i, a, o, I,A,O键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。 3、命令模式 (Command-mode) 在正常模式中,按下:(英文冒号)键,会进入命令模式。 在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。 4、可视模式 (Visual-mode) 在正常模式中按下v,V,+v,可以进入可视模式。 可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。 四、VI与VIM的常用命令 注:由于VI与VIM在命令上几乎相同,所以这里那VIM为例。 1、模式转换 正常–>输入:以下这几个参数实现的功能都是转为输入模式,只不过转换后的光标所在的位置不同(感兴趣可以试一试,虽然意义不大!) i:在当前光标所在字符的前面,转为输入模式; a:在当前光标所在字符的后面,转为输入模式; o:在当前光标所在行的下方,新建一行,并转为输入模式; I:在当前光标所在行的行首,转为输入模式; A:在当前光标所在行的行尾,转为输入模式; O:在当前光标所在行的上方,新建一行,并转为输入模式; 输入-->正常: ESC 正常-->末行::(英文冒号) 末行-->正常: ESC,ESC

注意:输入模式和末行模式之间不能直接切换。 2、关闭文件(末行模式) :q 退出;:q! 不保存退出;:w 保存;:w! 强行保存;:wq 保存退出:wq! 强制保存并退出

注意:在正常模式下按组合键shift zz可以保存并退出 3、移动光标(正常模式) 1)逐字符移动: h: 左;

    l: 右;

    j: 下;

    k: 上;

    #h: 移动#个字符

2)以单词为单位移动 w: 移至下一个单词的词首;

    e: 跳至当前或下一个单词的词尾;

    b: 跳至当前或前一个单词的词首;

    #w: 移动#个单词

3)行内跳转: 0: 绝对行首;

    ^: 行首的第一个非空白字符;

    $: 绝对行尾

4)行间跳转 #G:跳转至第#行;

    gg: 第一行;

    G:最后一行

5)末行模式 .: 表示当前行;

    $: 最后一行;

    #:第#行;
    +#: 向下的#行 

4、翻屏(正常模式) Ctrl+f: 向下翻一屏; Ctrl+b: 向上翻一屏; Ctrl+d: 向下翻半屏; Ctrl+u: 向上翻半屏

5、复制字符 1)正常模式

    复制:

    yy:复制当前行
    nyy:复制当前行至下面的n行

    粘贴:

    p:粘贴到光标的后面
    P:粘贴到光标的前面

2)可视模式

    复制:

    y:复制当前行
    ny:复制当前行至下面的n行

    粘贴:

    p:粘贴到光标的后面
    P:粘贴到光标的前面 

6、删除字符(正常模式) x: 删除光标所在处的单个字符; #x: 删除光标所在处及向后的共#个字符; d$或D:从当前光标处删除至行尾; d^:从当前光标处删除之行首; dd: 删除当前光标所在行; #dd: 删除包括当前光标所在行在内的#行;

注:dd相当于剪切操作,如果你dd之后按p或者P可以进行粘贴。 7、替换字符 r:替换单个字符(按完r在按你要替换的字符即可)

R:替换多个字符(从你要替换的位置开始替换,直至你退出正常模式)

8、撤销编辑操作:u u:撤消前一次的编辑操作;

#u:直接撤消最近#次编辑操作;

温馨提示:连续u命令可撤消此前的n次编辑操作;

9、将另外一个文件(/path/sunhui.txt)的内容填充在当前文件夹中 :r /path/sunhui.txt :填充到当前文件所在光标的后面 1 10、修改vim配置文件 vim ~/.vimrc:修改当前用户的vim配置文件 vim /etc/vimrc:修改所有用户的vim配置文件 例:在当前用户的vim配置文件中添加显示行数的命令 vim ~/.vimrc:在末行添加 set nu 即可

11、拓展(末行模式) 1)显示或取消显示行号 :set nu //显示 :set number //显示 :set nonu //取消 2)设置语法高亮 :syntax on //开启 :syntax off //关闭 3)分屏 :vsp xxx.x //将两个文件垂直分屏 :ctrl+w w //切屏

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
vim介绍 、 vim颜色显示和移动光标 、vim一般模式下移动光标 、vim一般模式下复制、剪切和粘贴
vim是什么vim是什么?在之前接触Linux,编辑网卡配置文件的时候我们用过了vi,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。如果系统中没有vim,需要安装一下:yuminstallyvimenhanced安装完了之后就可以正常使用了。我们使用vi和vim打开/e
Wesley13 Wesley13
2年前
vi 编辑器
Linux下的文本编辑器有很多种,vi是最常用的,也是各版本Linux的标配注意,vi仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像Windows下的word有排版功能Vim是Viimproved的缩写,是vi的改进版。在Linux中,vi被认为是事实上的标准编辑器,因为:所有版本
Stella981 Stella981
2年前
Linux学习:vim程序编辑器
本次记录vim这款文本编辑器的使用方法及它有哪些使用实例等。基本概念在Linux环境中,配置文件对整个系统来说具有举足轻重的作用,而对于其都是以ASCII的纯文本形式存在,而利用文本编辑器就能够达到方便修改配置的目的。vi是UNIX操作系统和UNIXLike操作系统中最通用的全屏幕纯文本编辑器。而Linux中的vi编辑器叫v
Stella981 Stella981
2年前
Linux中vim编辑器常用命令、文件查找、磁盘挂载、用户管理
Vim介绍Vim是全屏幕纯文本编辑器,是vi编辑器的升级版。vim不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在UNIX和Linux中,而vim可以跨平台运行在Windows,MACOS中。vim号称“编辑器之神”,具有无可匹敌的可扩展性。大部分Linux系统中,默认都会安装vim,在L
Wesley13 Wesley13
2年前
VIM编辑器和VI编辑器的区别
vi和vim的区别_写在前面:这个两个“东西“着实让我烦恼一阵子,但是自己一直没当回事,但是遇到了好几次再决定彻底把他们搞的明白,一下是我通过查找资料了解到的关于这两个编辑器的区别和联系,希望对大家有所帮助!_它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
Stella981 Stella981
2年前
Linux中vim文本编辑器的介绍和使用方法
vim主要模式介绍,vim命令模式。确保系统已经安装了VIM工具\root@panda~\rpmqf\whichvim\\root@panda~\rpmqf\whichvi\扩展:问:vi和vim是同一个软件包安装的吗?答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完
Wesley13 Wesley13
2年前
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴 5.5 进入编辑模式 5.6 vim命令
vim命令vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。vim有三个模式:一般模式,编辑模式,命令模式。系统最小化安装时没有安装vim命令,需要自己使用yum进行安装:root@cham2~yuminstallyvimenhanced
Stella981 Stella981
2年前
CentOS安装vim及基本配置
新装的CentOS系统,默认只安装了vi,没有安装vim,vim以来下面三个包vimenhancedvimminimalvimcommon1.查看本机已存在的包rpm qa|grep vim2.根据上面命令,安装缺失的包
Stella981 Stella981
2年前
Linux
初识vi/vim文本编辑器1.vi和vim相同,都是文本编辑器,在vi模式下可以查看文本,编辑文本,是Linux最常用的命令,vi模式下分为三部分,第一部分一般模式,在一般模式中可以进行搜索字符等按键操作,按下i,o,a任意一个字符就可以进入编辑模式,按ESC回到一般模式,编辑模式下可以对
Stella981 Stella981
2年前
Linux基本命令 vim命令(二)
LinuxVim显示行号在命令模式下输入":"进入编辑模式后执行setnu命令即可显示每一行的行号,如果想要取消行号,则再次输入":setnonu"即可。如果希望每次打开文件都默认显示行号,则可以编辑Vim的配置文件。每次使用Vim打开文件时,Vim都会到当前登录用户的宿主目录(用户配置文件所在地)中读取.vi