打开vim编辑器 vim

    技术2024-06-12  175

    vi程序是功能强大的文本编辑器。 Sun Microsystems的共同创始人William Joy最初在1976年为Berkeley Software Distribution(BSD)UNIX的早期版本编写了vi编辑器。 有传言说比尔在周末写了vi,但他说这一说法是不正确的。 该程序是用UNIX扩展行编辑器中的visual命令命名的, 例如简称。

    vi编辑器是一个功能非常强大的编辑器,具有许多甚至不存在的功能。 Vi是模式编辑器,这意味着当在程序上放置其他设置时,程序会产生不同的结果。 vi中有三种不同的模式: 命令,插入 (或输入 )和行。 在插入模式下操作时,文本将被写入正在编辑的临时文件中。 在正常模式下,相同的击键会触发编辑器中嵌入的命令。 要进入插入模式,只需按I键。 要退出命令模式,请按Escape键。 (我将在本文后面详细解释线路模式。)

    例如,在插入模式下,如果您键入字符串10dd ,那么该字符串将被写入临时文件,如图1所示。

    图1.在插入模式下键入dd

    但是,如果处于命令方式,则字符串10dd将从当前光标所在的位置开始,从临时文件中删除10行,如图2所示。

    图2.在命令模式下键入dd

    另一个例子是光标移动。 在命令模式下,键H,J,K和L分别向左,向下,向上和向右移动光标,如图3所示。在插入模式下,将改为显示这些字母。

    图3. vi中的光标移动

    通常,UNIX用户使用vi或由Richard Stallman于1976年编写的另一个称为Editor Macros(Emacs)的编辑器。但是,许多用户选择vi,因为它重量轻,启动速度更快且使用的内存更少。

    什么是Vim?

    Vim的,或经过改进的vi,是布莱姆·米勒在1991年写的VI的扩展版本的编辑器最初被设计为Amiga计算机,但很快通过UNIX在1992年第六一样蔓延时,Vim是基于命令模式和插入模式作为文本用户界面(TUI)-如图4所示。

    图4. Vim TUI

    但是,它确实提供了一个名为gVim的图形用户界面(GUI),如图5所示。

    图5. Vim GUI

    Vim命令

    Vim中的内部命令类似于vi编辑器中的内部命令。 表1提供了Vim中的光标移动命令。

    表1.用于实现光标移动的Vim命令
    命令 行动 H 向左移动光标 j,加号(+),输入或返回 向下移动光标 k,减号(-) 向上移动光标 升 向右移动光标 } 将光标移到当前段落的末尾 { 将光标移到当前段落的开头 ) 将光标移到当前句子的末尾 ( 将光标移到当前句子的开头 ^ 移至当前行中的第一个非空白字符 $ 移至当前行的末尾 0(零) 移至当前行的开头 w或W 移至下一个单词的开头 b或B 移至上一个单词的开头 Ë 移至下一个单词的末尾 H 移至屏幕的第一行 中号 移至屏幕中间 大号 移至屏幕的最后一行 G 移至文件末尾 gg 移至档案开头 :n 移至第n行

    表2显示了删除文本的Vim命令。

    表2.用于删除文本的Vim命令
    命令 行动 d 删除所选区域 dd 删除整个当前行 10日 从当前行开始删除10行 dw 从当前位置开始删除单词 D b 向后删除当前光标位置左侧的单词 dl 删除当前光标位置的字符 dh 删除当前光标位置左侧的字符 d0(零) 从当前光标位置到行首删除文本 D | d $ 删除从当前光标位置开始的整行 X 删除光标当前位置的字符 X 删除光标当前位置之前的字符

    表3提供了其他一些有用的Vim命令。

    表3.常见的Vim命令
    命令 行动 h 进入插入模式并在当前光标位置插入 一世 进入插入模式并在当前行的开头插入 一个 进入插入模式并在光标后追加 一个 进入插入模式并追加到当前行的末尾 C 更改所选区域 C 从光标的当前位置开始更改整行 Ø 在光标当前所在的行下方创建一个新的空白行,并将光标移动到新空白行的开头 Ø 在光标当前所在的行上方创建一个新的空白行,并将光标移至新空白行的开头 [R 在光标的当前位置替换单个字符 [R 替换从光标当前位置开始到退出插入模式时结束的多个字符 <Esc> 退出插入或可视模式 >或<Tab> 向右缩进所选区域 < 向左缩进所选区域 v 开始突出显示字符 V 开始突出显示整行 y 提取/复制当前行到内存 10年 将当前行开始的10行提取/复制到内存中 p 将文本拖出或删除; 如果拉了字符( yw dw或D ),则将字符放在光标的当前位置之后。 如果拉了线,则将线放在光标的当前行下方。 P 与p相同,但是将字符放在光标当前位置之前或光标当前行上方的行中 ü 撤消上一次更改 <Ctrl> R 重做 / <模式> 搜索找到的下一个图案,并将光标放在找到的图案的开头 ?<模式> 搜索找到的上一个图案,并将光标放在找到的图案的开头 ñ 重复上一次搜索 ñ 重复上一次搜索,但反转搜索方向 !<cmd> 在Vim会话之外执行<cmd>

    线路模式

    尽管命令和插入模式已被广泛使用,但行模式同样强大,但有时无法完全理解或使用。 行模式进入行编辑器,使您可以处理单行或多行命令。 考虑到vi是用ex编辑器命名的,因此仅适合于行模式将您带入ex编辑器。

    进入行模式,从指令模式,简单地键入一个冒号( : )。 然后,光标将移动到窗口的左下角。 当您继续输入时,所有文本都会出现在窗口底部的冒号之后。 当您单击Enter时 ,将评估并执行线路模式命令。 如果您决定不执行以行模式输入的行,请单击“ 转义”以返回命令模式。

    使用编辑器的行模式时,请记住两种命令样式。 首先,当您键入命令时,vi或Vim将按原样执行该命令。 如果执行的命令与修改数据有关,则当前行将成为目标。 但是,使用第二种方法,您可以提供行号来处理指定的行。 要输入的线条,在冒号之后,输入线的数字或范围行处理的,用逗号分隔的开始和结束范围( , )。

    例如,仅处理第23行,该命令将以:23开头。 如果要修改2319到3819行,请输入:2319,3819 。 要处理从第45行的起始位置到文件末尾的命令,请将最后一行参数替换为美元符号( $ ),即:45,$ 。

    以下命令只是可以在行模式下执行的命令的开始:

    :w <file name> :将文件写入磁盘。 如果提供了参数,编辑器将尝试将数据写入<文件名>。

    注意:如果提供参数并且<文件名>存在,则编辑器将不会覆盖现有文件的数据。

    :w! <file name> :w! <file name> :将文件写入磁盘并覆盖文件中的所有数据。 :<x>,<y> w <file name> :将<x>至<y>行写入<文件名>。 :q :尝试退出编辑器而不保存。

    注意:如果数据已被修改,则编辑器将在文件被保存之前退出,或者您不保存即退出。

    :q! :退出编辑器,而不尝试将文件写入磁盘。 :n :如果要编辑多个文件,请开始编辑编辑列表中的下一个文件。 :e <file name> :编辑<文件名>。 :e# :如果要编辑两个文件,请在文件之间切换。 :s/<str1>/<str2>/ :用当前行的<str2>替换第一次出现的<str1>。 :1,$ s/<str1>/<str2>/g :从第1行开始,并在整个文件中继续,将<str1>全局替换为<str2>。 :r <file name> :将:r <file name>读入当前的编辑器会话。 :<x>,<y> d :删除<x>至<y>行。 :<x>,<y> y :从 <x>到<y>抽线。

    vi和Vim之间的区别

    尽管vi和Vim确实具有相同的外观和感觉,但是它们肯定具有差异。 以下只是这两个强大的文本编辑器之间的一些区别:

    vimscript: Vim使用内部脚本语言vimscript,允许复杂的脚本向编辑器添加扩展功能。 除了vimscript之外,Vim还支持Perl,Python,Ruby,Tcl和其他语言。 vimdiff: Vim软件包捆绑了一个称为vimdiff的有用命令。 使用vimdiff ,您可以将多个文件彼此相邻显示,类似于sdiff ,如图6所示。
    图6. vimdiff的示例
    编辑压缩文件:为了节省系统空间,管理员经常压缩日志文件或其他大文件。 它永远不会失败:文件被压缩,然后有人问您:“嘿,您能看看两个月前的日志吗?” Vim可以编辑压缩的文件,而不是解压缩文件,然后用vi对其进行编辑。 Vim可以处理用bzip2,gzip和zip压缩的编辑文件。 编辑归档文件: Vim还可以编辑tar串联的文件。 编辑.tar文件时,Vim显示一个方便的屏幕,使您可以选择存档中要编辑的文件, 如图7所示。 完成文件编辑后,只需正常保存并退出文件( :wq ),Vim返回显示,从而允许您在存档中选择另一个文件进行编辑,或者可以从选择窗口( :q )退出。 。
    图7.使用Vim选择要在归档文件中编辑的文件

    在图8所示的示例中,使用tar命令将四个ASCII文本文件存档,然后使用Vim选择存档中的第二个文件进行编辑。

    图8.通过Vim编辑档案中的文件
    分割窗口: gVim允许您从现有文件中打开多个窗口以及动态创建新文件,而不是在编辑多个文件时在一个窗口之间来回切换,如图9所示。
    图9.在Vim中拆分窗口
    语法要点:调试某人的shell脚本或其他编辑器最初未编写的代码可能感觉像是一项繁重的任务。 值得庆幸的是,Vim帮助减轻了编辑他人代码时的一些麻烦。 使用Vim,可以对代码块进行颜色填充,从而使在Shell脚本以及其他编程语言中的调试变得更加容易,如图10所示。
    图10.语法突出显示
    上一个光标位置:编辑文件时,有时必须退出文件并执行其他任务。 但是,当您准备返回文件时,您就忘记了上次退出的地方! 不用担心:Vim在退出文件时会记住最后一个光标位置。 这在修改几千行的文件时非常有用。 多次撤消/重做操作:过去,vi仅允许您在编辑文件时撤消上一次更改。 这是一个很好的开始,但需要增加。 有时,在编写脚本或其他代码时,看起来不错的主意并不是解决问题的最佳方法,因此您必须能够撤消对文件所做的最后10次更改。 Vim允许您执行此操作。 可视模式: Vim允许使用“可视”模式选择某些文本块。 使用此模式,您可以在正在编辑的文件中选择任意数量的文本,然后使用单个命令来影响突出显示的文本。 例如,如果必须删除一段文本的中间,只需键入v进入可视模式,将光标移动到要修改的文本中,然后键入d删除突出显示的文本。

    如何获得Vim?

    既然您已经看到了vi和Vim之间的一些增强和区别,您可能会说:“我想要Vim!在哪里得到的?” 好消息:Vim已被移植到几种不同的操作系统。

    以下是一些已移植到Vim的平台:

    阿米加 艾克斯 BSD 西格温 IBM OS /2® 的Linux Apple Mac OS和Mac OS X Microsoft®MS-DOS® 通过WindowsVista®通过MicrosoftWindows®95 Microsoft Windows CE OpenVMS

    Windows上的Vim

    因此,您在上一节中看到了Vim可用于Windows,现在您说:“我可以在Windows上使用Vim吗?我想要!” 你真幸运!

    只需从Vim网站下载已移植到Windows的Vim的最新版本(当前为7.1版)。 最简单的方法是下载自动安装的可执行文件,然后执行该文件并按照步骤进行操作。 安装后,可以右键单击文件,单击“ 用Vim编辑” (如下图11所示,然后violà!现在在Windows中的Vim中编辑文件!

    图11.在Windows中用Vim编辑文件

    现在,您已经在Windows计算机上安装了Vim,可以享受Vim背后的天才,而不必理会Windows中的所有其他文本编辑器。

    结论

    vi编辑器开始为UNIX中的文本编辑器铺平道路,而Vim沿着这条道路继续发展。 阅读本文后,我希望您了解了有关Vim编辑器的一些新知识,如何使用其许多功能来使您的生活更轻松,并欣赏作为编辑器这样简单的概念如何被证明是稳定而强大的UNIX世界以及现在大多数其他操作系统中的应用程序。 我相信,如果您不太使用Vim,那么在了解了编辑器的来龙去脉之后,您将同意没有其他编辑器可以进行比较。


    翻译自: https://www.ibm.com/developerworks/aix/library/au-speakingunix_vim/index.html

    相关资源:微信小程序源码-合集6.rar
    Processed: 0.015, SQL: 9