博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vi中的vi-r_在外壳中使用vi-mode
阅读量:2528 次
发布时间:2019-05-11

本文共 2059 字,大约阅读时间需要 6 分钟。

vi中的vi-r

作为更大的开源社区的参与者,更具体地说,作为的成员,我有机会与很多人见面并讨论各种有趣的技术主题。 我最喜欢的一个是“命令行”或 ,因为了解人们如何熟练使用shell可以使您深入了解他们的想法,他们喜欢的工作流程以及某种程度上使他们打勾的东西。 许多开发人员和系统操作员在Internet上公开共享他们的“点文件”(shell配置文件的通用语),这导致了一个有趣的协作机会,使每个人都可以从经验丰富的命令行老手那里学习技巧。以及共享常见的快捷方式和提高工作效率的方法。

在这里,我将通过演示Shell的vi模式为您介绍一个。

在庞大的计算和操作系统生态系统中,有 。 但是,在Linux世界中,事实上的标准已成为并且在撰写本文时,它是所有主要Linux发行版上安装的默认Shell。 因此,这就是我今天要讨论的外壳。 不过要注意的是,bash在其他UNIX风格的操作系统上也是一个相当流行的选项,因此它可能距离您不远(对于Windows用户而言,总是有 )。

在探索外壳程序时,要做的第一件事是在外壳程序中键入命令,并且通常会得到输出,如下所示:

$      
echo
"Hello World!"
Hello World
!

这是常见的做法,可能是每个阅读此书的人都做过的事情。 新手和新手都可能没有意识到的是, shell的默认输入模式是 ,这意味着您将在命令上执行的所有行编辑功能都将使用 。 (对于那些对事物的细节感兴趣的人,线编辑功能实际上是由 。)

例如,如果您键入echo“ Hello Wrld!”。 并且意识到您想快速跳回一个单词(以空格分隔)来解决该拼写错误,而无需按住左箭头键,那么您将同时按下Alt + b键,光标将向后跳转到W。

$      
echo
"Hello Wrld!"
              ^
        Cursor is here.

仅使用提供给外壳用户的许多Emacs键盘组合之一来完成此操作。 还有更多的功能可用于各种用途,例如复制文本,粘贴文本,删除文本以及使用快捷方式编辑文本。 使用复杂的键盘组合并将它们提交到内存可能看起来很愚蠢,但是当使用更长的命令或从shell历史记录中调用命令但又想在再次执行命令之前进行一些编辑时,它们可能会非常强大。

尽管如果您熟悉Emacs文本编辑器或以其他方式发现它们易于使用,Emacs按键绑定都很好,但是有些人则更习惯使用“ vi风格”的键盘绑定,因为它们花在了vi上文本编辑器(通常这些天通常通过或 )。 bash shell(再次通过GNU Readline)能够为我们提供此功能。 为了启用它,运行命令$ set -o vi

就像魔术一样,您现在处于vi模式,并且可以使用vi样式的快捷键轻松进行行编辑,以便复制文本,删除文本以及跳到文本行中的不同位置。 这是不是在Emacs的模式的能力方面非常不同的,但它是如何你互动与外壳来执行这些动作的改变,这是你的特定偏好以待功能强大的选择。

让我们看一下与前面相同的示例,但是在上下文中,一旦您进入shell的vi模式,您就处于INSERT模式,这意味着您可以像以前一样键入命令,但是现在可以按键盘上的Esc键,您将进入正常模式,在这里您可以自由浏览并修改文本。

查看与前面相同的示例,如果您键入了echo“ Hello Wrld!”。 并意识到您想跳回一个单词(再次用空格分隔)来修正该拼写错误,然后您将按Esc键从INSERT更改为NORMAL模式。 然后,您可以键入B (对于在家中跟随的用户,请按Shift + b ),这将使光标向后移动,就像以前一样。 (有关vi模式的更多信息,请转到 。):

$      
echo
"Hello Wrld!"
              ^
        Cursor is here.

现在,对于在那里的vi / vim / nvim用户来说,这是一个有趣的“啊哈!” 当您意识到可以随时关闭真正的键盘快捷键的可能性,而不仅仅是在编辑器中编写代码或文档之时。 如果这对您来说是新事物,并且您想了解更多,那么我建议您浏览此 ,看看是否可以使用vi样式编辑文本。

如果喜欢在此模式下与外壳进行交互,则可以通过在主目录中编辑〜/ .bashrc文件并在底部添加以下行来永久设置该设置。

设置-o vi

对于emacs模式用户,希望这是对Shell的“另一面”的快速而有趣的了解。 归根结底,我认为每个人都应该使用使他们工作效率最高的任何编辑器和shell行编辑模式,如果这是vi模式,那么本文对您来说是新闻,那么恭喜您! 现在继续前进,提高生产力。

骇客入侵...

翻译自:

vi中的vi-r

转载地址:http://jzpzd.baihongyu.com/

你可能感兴趣的文章
day7
查看>>
iphone移动端踩坑
查看>>
vs无法加载项目
查看>>
Beanutils基本用法
查看>>
玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
查看>>
《BI那点儿事》数据流转换——百分比抽样、行抽样
查看>>
哈希(1) hash的基本知识回顾
查看>>
Leetcode 6——ZigZag Conversion
查看>>
dockerfile_nginx+PHP+mongo数据库_完美搭建
查看>>
Http协议的学习
查看>>
【转】轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
【转】在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持--不错
查看>>
设计模式那点事读书笔记(3)----建造者模式
查看>>
tar命令
查看>>
cnblog之初来乍到
查看>>
在win10中解决 你要以何方式打开此 .xlsx
查看>>
ajax hash缓存
查看>>
LeetCode——remove-duplicates-from-sorted-list
查看>>
Android工具HierarchyViewer 代码导读(1) -- 功能实现演示
查看>>
(十四)Struts2 验证框架
查看>>