打开vim编辑器 vim/_新的和改进的Vim编辑器

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

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

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

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

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

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

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

图3. vi中的光标移动
vi中的光标移动

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

什么是Vim?

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

图4. Vim TUI
Vim TUI

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

图5. Vim GUI
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 dwD ),则将字符放在光标的当前位置之后。 如果拉了线,则将线放在光标的当前行下方。
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的示例
    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中拆分窗口
    在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编辑文件

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

结论

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


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值