首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux vi和vim的区别

Linux中的vivim都是文本编辑器,但它们之间存在一些重要的区别。

基础概念

vi (Visual Editor):

  • vi是一个非常基础且功能强大的文本编辑器,广泛用于Linux和Unix系统中。
  • 它具有模式化的操作方式,包括命令模式、插入模式和可视模式。

vim (Vi Improved):

  • vimvi的一个增强版本,保留了vi的大部分特性,并添加了许多新功能和改进。
  • 它支持更多的文件格式、语法高亮、多级撤销/重做、宏录制等功能。

优势

vim的优势:

  1. 增强的功能: 支持语法高亮、自动缩进、多级撤销/重做、宏录制等。
  2. 更好的用户体验: 提供了更多的快捷键和命令,使得编辑更加高效。
  3. 跨平台支持: 可以在多种操作系统上运行,包括Windows和MacOS。
  4. 插件系统: 支持丰富的插件,可以通过安装插件来扩展功能。

类型

vi和vim的类型:

  • vi通常被视为一个基础的文本编辑器,适合简单的文本编辑任务。
  • vim则被视为一个高级文本编辑器,适合复杂的编程和文本处理任务。

应用场景

vi的应用场景:

  • 当你需要一个轻量级的、快速启动的编辑器时。
  • 在资源受限的环境中,如嵌入式系统。

vim的应用场景:

  • 当你需要进行复杂的编程或文本编辑任务时。
  • 需要语法高亮、自动补全、宏录制等高级功能时。

遇到的问题及解决方法

常见问题:

  1. 无法保存文件: 可能是因为权限问题或文件被锁定。
    • 解决方法: 确保你有足够的权限,或者使用sudo命令以管理员身份编辑文件。
  • 语法高亮不显示: 可能是因为没有启用语法高亮功能。
    • 解决方法: 在vim中输入:syntax on命令启用语法高亮。
  • 宏录制无效: 可能是因为宏录制过程中出现了错误。
    • 解决方法: 检查宏录制过程中的每一步操作,确保没有误操作。

示例代码

在vim中启用语法高亮:

代码语言:txt
复制
:syntax on

在vim中录制宏:

  1. 进入命令模式并按q键,然后按一个字母(例如a)开始录制宏。
  2. 执行你想要录制的操作。
  3. 再次按q键结束录制。
  4. 使用@a播放宏。

示例:

代码语言:txt
复制
:q a  # 开始录制宏到寄存器a
# 执行一些编辑操作
:q    # 结束录制
@a    # 播放宏

通过这些信息,你应该能够更好地理解vivim之间的区别,并在实际使用中选择合适的工具。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux vim dd命令_vim命令和vi的区别

大家好,又见面了,我是你们的朋友全栈君。 Vim是从vi发展而来的文本编辑器,可以用颜色或底线等方式来显示一些特殊的信息。Vim是Linux中必不可少的工具,搭建网站修改配置文件时经常用到。...本教程介绍Vim的模式和常用操作。 背景信息 Vim的各个模式介绍如下表所示: 模式 作用 模式转换 普通模式 (Normal Mode) 在该模式下,您可以复制、粘贴、删除字符或行。...Vim的常用操作包括以下三种: 插入 替换 删除 插入 基本命令: i:在当前字符的左边插入。 I:在当前行的行首插入 。 a:在当前字符的右边插入。 A:在当前行的行尾插入。...运行vim example.conf命令打开文件,进入普通模式。 运行/AllowOverride None找到目标。 移动光标至None的首字母。 按R进入替换模式。 输入All和一个空格。...Listen 12.34.56.78:80 Listen 80 示例二:在配置文件example.conf中,将#Listen 12.34.56.78:80行和下一行的内容删掉。

4.8K10
  • Linux的vi命令用法大全_vim命令和vi的区别

    大家好,又见面了,我是你们的朋友全栈君。 linux下使用vi编辑是很方便的,但是具体要怎么做呢?下面由学习啦小编为大家整理了linux下vi的相关命令,希望对大家有帮助!...1.linux vi命令的基本观点 基本上vi能够分为三种形态,区分是命令方式(command mode)、插入方式(Insert mode)和底行方式(last line mode),各方式的功用区分如下...2、linux vi命令的基本操作 a) 进入vi 在系统提示符号输入vi及文件称号后,就进入vi全屏幕编辑画面: $ vi myfile 不过有一点要特别留意,就是您进入vi之后,是处于「命令行方式(...d) 退出vi及保管文件 在「命令行方式(command mode)」下,按一下「:」冒号键进入「Last line mode」,比如: : w filename (输入 「w filename」将文章以指定的文件名..., 不存盘强迫退出vi) 3、linux vi命令行方式(command mode)功用键 1).

    2.7K20

    Linux-vi和vim

    文章目录 vi和vim 模式 一般模式 编辑模式 命令模式 快捷键 vi和vim ---- Vi是unix/linux操作系统中最经典的文本编辑器,只能是编辑字符,不能对字体、段落进行排版;它既可以新建文件...Vim是从 Vi 发展出来的一个文本编辑器,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计代码补全、编译及错误跳转等方便编程的功能特别丰富,vim适用于coding。...模式 ---- vi/vim共分为三种模式,分别是一般模式、编辑模式、命令模式,转换关系如下: 一般模式 在一般模式下,可以使用快捷键(列在文章末尾): 就不一一演示了 输入指令vim filename...command 暂时离开 vi 到指令行模式下执行 command 的显示结果 :!...ls /home 即可在 vi 当中察看 /home 底下以 ls 输出的档案信息 快捷键 ----

    7.9K20

    Linux Vi和Vim编辑器

    # Linux Vi和Vim编辑器 # vi和vim的基本介绍 Linux系统会内置vi文本编辑器 Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计...代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 # vi和vim常用的三种模式 # 正常模式 以vim打开一个档案就直接进入一般模式了(这是默认的模式)。.... # 命令行模式 输入esc 再输入:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!...new" :% s/old/new/g 在整个文件范围内替换所有的字符串"old"为"new" :s /old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 # vi和vim...[命令行下: set nu和:set nonu] 编辑/etc/profile文件,在一般模式下,使用快捷键到该文档的最末行[G]和最首行[gg] 在一个文件中输入"hello",在一般模式下,然后又撤销这个动作

    2.7K40

    linux之vi,vim命令

    vim 是对 vi 的扩展,文中的很多操作是 vi 通用的 vi 是区分大小写的命令的,也就是说 g与G 是不同的命令 在不同模式下,快捷键是不一样的 模式分 一般模式 编辑模式 指令模式 一般模式用于文件内部操作...vim 自动缩进 cindent :set cindent vim 可以很好的识别出 C 和 Java 等结构化程序设计语言,并且能用 C 语言的缩进格式来处理程序的缩进结构 smartindent...:set smartindent 在这种缩进模式中,每一行都和前一行有相同的缩进量,同时这种缩进形式能正确的识别出花括号,当遇到右花括号(}),则取消缩进形式。...:reg 注意两个特殊的寄存器:* 和 + 这两个寄存器是和系统相通的,前者关联系统选择缓冲区,后者关联系统剪切板 通过它们可以和其他程序进行数据交换 若寄存器列表里无 * 或 + 寄存器,则可能是由于没有安装...vim 的图形界面所致 sudo apt-get install vim-gnome 设置 vim 永远显示行号 修改 vim 的配置文件加入 set nu vi ~/.vimrc 然后输入 set

    21.7K20

    Linux之vi和vim编辑器

    F 同f,反向查找 4.2.3 撤销和重做 指令 说明 u 撤销(Undo) U 撤销对整行的操作 Ctrl + r 重做(Redo),即撤销的撤销。...4.2.5 拷贝,剪贴和粘贴 指令 说明 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。...ddp 交换当前行和其下一行 xp 交换当前字符和其后一个字符 ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴 :1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。...:syntax 列出已经定义的语法项 :syntax clear 清除已定义的语法规则 :syntax case match 大小写敏感,int和Int将视为不同的语法元素 :syntax...case ignore 大小写无关,int和Int将视为相同的语法元素,并使用同样的配色方案 5.

    2K11

    Vi 和 Vim 的使用

    Vi (Visual Interface)是 Linux下基于Shell 的文本编辑器,Vim (Visual Interface iMproved)是 Vi的增强版本,扩展了很多功能,比如对程序源文件的语法高亮...不管是 Vi 还是 Vim,我们习惯上都管它叫 Vi,但实际上用的更多的是 Vim。 在你的系统里用 alias命令看一下 vi,可以发现用到的其实是vim。...$alias vi alias vi='vim' 所有的Linux系统里会内建 Vi,它就像 Windows里的记事本,我们一般修改系统的配置文件都要用到它,所以虽然第一次用会可能不太习惯,但是我们还是要学会使用它...比如用 Vi打开一个hello.c的文件,命令如下: $vi hello.c 因为 Vi 是完全基于 Shell 的,它和 Windows下的编辑器不同,分为三种模式: ?...Vi 可以支持的命令非常的多,这里列出几个比较常用的供大家参考: 1、 替换 ? 如果/g 和 /c 要合并使用,可以写成 /gc 2、保存/退出 ? 3、其他命令 ?

    93840

    linux 之 vi,vim 命令

    vim 是对 vi 的扩展,文中的很多操作是 vi 通用的 vi 是区分大小写的命令的,也就是说 g与G 是不同的命令 在不同模式下,快捷键是不一样的 模式分 一般模式 编辑模式 指令模式 一般模式用于文件内部操作...vim 自动缩进 cindent :set cindent vim 可以很好的识别出 C 和 Java 等结构化程序设计语言,并且能用 C 语言的缩进格式来处理程序的缩进结构 smartindent...:reg 注意两个特殊的寄存器:* 和 + 这两个寄存器是和系统相通的,前者关联系统选择缓冲区,后者关联系统剪切板undefined通过它们可以和其他程序进行数据交换 若寄存器列表里无 * 或 + 寄存器...,则可能是由于没有安装 vim 的图形界面所致undefinedsudo apt-get install vim-gnome 设置 vim 永远显示行号 修改 vim 的配置文件加入 set nu vi...set shiftwidth=n 设置自动语法高亮 syntax on 原文链接:https://rumenz.com/rumenbiji/linux-vi-vim.html

    7K01

    linux中vi,vim操作技巧

    撤销与重做 在使用 Vim 或其他编辑器的时候,你可能经常需要对某些修改进行撤销或重做。在 Vim 中,你可以切换到正常模式,按 u 来撤销操作,按 Ctrl+r 来重做。...把外部文件读入vim 我开始使用vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。...> vim rumenz.txt :read readme.md 把命令的结果读入vim 切换到正常模式,然后输入:read !command 即可把command的结果输入到vim中。...> vim rumenz.txt :read !pwd 切换到上次修改的位置 想知道你在文件中做的最后一次修改是在什么位置?切换到正常模式,输入 g; 来即可切换到上次修改的位置。...切换到当前行的行首或者行尾 正常模式,输入$跳到当前行的行尾。输入0跳到当前行的行首。 vim中以16进制查看文件 正常模式下,输入:%!

    4.6K10

    linux中vi,vim操作技巧

    把外部文件读入vim 我开始使用vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。...> vim rumenz.txt :read readme.md 把命令的结果读入vim 切换到正常模式,然后输入:read !command 即可把command的结果输入到vim中。...vim rumenz.txt:read !pwd 切换到上次修改的位置 想知道你在文件中做的最后一次修改是在什么位置?切换到正常模式,输入 g; 来即可切换到上次修改的位置。...切换到当前行的行首或者行尾 正常模式,输入$跳到当前行的行尾。输入0跳到当前行的行首。 vim中以16进制查看文件 正常模式下,输入:%!.../rumenbiji/linux-vi-vim-skills.html 微信公众号:入门小站

    2.6K00

    Linux中vi与vim编辑操作

    基本操作 1.1 vi的三种模式 1.命令模式 2.编辑模式 3.末行模式(命令模式下,按“:”即可进入末行模式) 默认情况下,VI编辑器是命令模式,需要在里面写东西的时候需要进入编辑模式 命令模式到编辑模式...command】 暂时离开vi到命令行下执行一个命令后的显示结果 【:set nu】 显示行号 【:set nonu】 取消显示行号 【:w newfile】 另存为 1.2 插入和移动光标命令.../错误和编辑间切换 这不是什么难事,只是个小技巧 比如vim test.c 编辑了一个程序后,退出,用gcc -o test.o test.c 命令编译,发现有警告或者错误,又要用vim test.c命令来修改...gcc -o test.o test.c就可以实现编译,编译的警告和错误都会显示,此时不会退出vim,按enter即可回到vim。 3....、方括号和大括号 set ruler " 在状态栏显示光标的当前位置(位于哪一行哪一列) set guifont=Consolas:h15 " 设置字体和字体大小

    3.1K20

    《vi和vim》 学习手记(1)

    O`Reilly 系列图书,广受好评,我也特地买了其中的几本,望有所收获。...第一部分  基础与高级的vi 行编辑器:ed 或 ex 全屏编辑器:vi 或 emacs UNIX分 商用系统 以及 源代码可用的相似系统。...商用系统包括 Solaris AIX HP-UX 相似系统:gnu/linux    bsd衍生系统 i : 插入 cw 更改字词 vi命令特点: 字母大小写有区别 输入时不会显示在屏幕上 不需要在命令后加上...enter键 ZZ 保存成常规unix文件 ls 列出目录中的文件 :w 保存文件但不离开vi :q 退出 :wq 保存并退出 == ZZ :e!...将恢复上一次存储的文件内容 :q! 离开所编辑的文件并回到unix提示符下 有了这两个命令,上次存在缓冲区里面的编辑动作都消失了。

    76680

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

    一、vi与vim的区别 1、多级撤消 在vi编辑器中,按u只能撤消上次命令,而在vim里可以无限制的撤消。...2、易用性 vi编辑器只能运行于unix中,而vim不仅可以运行于unix,还可用于windows、mac等多操作平台。 3、语法加亮 vim可以用不同的颜色来加亮你的代码。...小结:vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。...vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。在vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。...可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。 四、VI与VIM的常用命令 注:由于VI与VIM在命令上几乎相同,所以这里那VIM为例。

    2.5K20

    linux-vi、vim基本操作-常见指令

    vi和vim编辑器 参考:第4章 Vim编辑器与Shell命令脚本(这本书是免费的在线书,写的超级好,通俗易懂?)...vi 和 vim 类似于windows的文本编辑器 所有的Linux系统都内置有vi文本编辑器 vim可以看做是 vi 增强版,具有程序编辑能力,支持语法高亮,代码补全,编译及错误跳转等功能,因此被广泛使用...如果Linux中没有vim这个命令,可以手动下载: yum install vim vi ?...vi 和 vim 的三种常见模式 正常模式 正常模式下,我们可以使用快捷键对文本进行操作,比如:复制 yy 粘贴 p 以vim打开文档,直接进入的就是一般模式,这个模式下,我们可以使用键盘上的 ↑ ↓...,来完成比如:保存、离开、显示行号等功能(具体指令后面会说) 例子: 使用vim编写一个hello world程序 三种模式间的切换 ?

    2K30

    linux vim查看下一页,Linux下vi和vim模式相互切换「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。...vi和vim 常用的三种模式: 1,正常模式 在这种模式下,可以使用【上下左右】按键来移动光标,也可使用【删除字符】【删除整行】来处理档案内容,也可使用【复制、粘贴】来处理文件数据。...3,命令行模式 在这种模式下,可以提供相关指令,完成读取、存盘、替换、离开vim、显示行号等动作。...下图为vi和vim模式的相互切换: 三种模式中常用得快捷键(【快捷键】): 1,拷贝当前行 【yy】,拷贝当前行向下3行【3yy】,粘贴【p】,在一般模式下可操作; 2,删除当前行【dd】,删除当前行向下...3行【3dd】; 3,在文件中查找某个关键字【命令行模式下,/关键字,回车查找,输入n查找下一个】; 4,设置文件的行号【:set nu】,取消文件行号【:set nonu】,都在命令模下可操作; 5,

    1.3K10
    领券