热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

地图:Eto:在命令模式下探索?-Map:Eto:Exploreincommandmode?

HowcanImap:Eto:Explore?IveinstalledanextensionthatleadstoE464:Ambiguoususeofuser-

How can I map :E to :Explore? I've installed an extension that leads to E464: Ambiguous use of user-defined command if I do :E now, but my fingers won't forget the command!

我如何映射:E到:Explore?我已经安装了一个扩展,它会导致E464:如果我现在这样做的话,用户定义的命令会被模糊的使用,但是我的手指不会忘记这个命令!

I tried map :E :Explore, but that's ugly since it makes accessing the other commands difficult.

我尝试过map:E:Explore,但那很难看,因为它使访问其他命令变得困难。

I tried these:

我试着这些:

cmap :E :Explore
cmap :E^M :Explore^M

(where ^M = control-v + enter) but these don't work unless I hit enter really really fast.

(^ - v + M =输入),但这些不工作,除非我回车真的非常快。

1 个解决方案

#1


32  

:E would normally suffice as is if :Explore were the only defined command that began with an E. You evidently have multiple such commands defined, so :E is ambiguous and results in an error.

如果:Explore是由E开始的唯一定义的命令,那么它就足够了。显然,你已经定义了多个这样的命令,所以E是不明确的,结果是错误的。

:cmap causes immediate literal substitution and thus has unwanted side effects. A slightly better alternative is :cabbrev, which can be used to define abbreviations for command mode:

:cmap会导致直接的文字替换,因此会产生不必要的副作用。更好的选择是:cabbrev,它可以用来定义命令模式的缩写:

cabbrev E Explore

This triggers following EEnter or ESpace. The former is desired because typing :EEnter will invoke :Explore, but the latter again has side effects in command mode.

这将触发EEnter或ESpace。前者是需要的,因为输入:EEnter会调用:Explore,但后者在命令模式下会有副作用。

In order for :E to be properly aliased to :Explore, it must be defined as a separate command:

为了使E能够正确地别名:Explore,它必须被定义为一个单独的命令:

command! E Explore

However, :command E, which lists all defined commands that start with E, reveals that :E and :Explore have different properties. For example, it's impossible to execute :E ~ because :E does not accept any arguments. Also, unlike :Explore, :E does not autocomplete directories.

但是,命令E,它列出从E开始的所有定义的命令,显示:E和:Explore具有不同的属性。例如,不可能执行:E ~因为:E不接受任何参数。另外,不像:Explore,:E不自动完成目录。

To remedy these deficiencies, :E must be defined in exactly the same way as :Explore. Executing :verbose command Explore shows the location of the script in which :Explore is defined; :E can then be defined in the same manner, with the addition of :

为了弥补这些不足,E必须以完全相同的方式定义:探索。执行:verbose命令探索显示了脚本的位置:定义了Explore;:E可以用同样的方式定义,加上 :

command! -nargs=* -bar -bang -count=0 -complete=dir E Explore 

While it's possible to deduce most of these attributes from the information provided by :command Explore, there can still be discrepancies, such as -bar in this case.

虽然可以从以下提供的信息中推断出这些属性的大部分,但是仍然存在差异,比如在这种情况下的-bar。

N.B. If :Explore and :Example are defined, :Exp and :Exa are the shortest unambiguous commands that can be used. Explicitly aliasing :E to one of them, as above, overrides Vim's default behavior and allows for disambiguation. However, :Ex would still be ambiguous.

如果:Explore和:Example被定义,Exp和:Exa是可以使用的最短的、明确的命令。显式别名:E的其中一个,如上所述,重写了Vim的默认行为,并允许消除歧义。然而,Ex仍然是模棱两可的。


推荐阅读
  • 本文详细介绍了在 Ubuntu 16.04 系统上安装和配置 PostgreSQL 数据库的方法,包括如何设置监听地址、启用密码加密、更改默认用户密码以及调整客户端访问控制。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]
  • selenium通过JS语法操作页面元素
    做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 视觉Transformer综述
    本文综述了视觉Transformer在计算机视觉领域的应用,从原始Transformer出发,详细介绍了其在图像分类、目标检测和图像分割等任务中的最新进展。文章不仅涵盖了基础的Transformer架构,还深入探讨了各类增强版Transformer模型的设计思路和技术细节。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 使用Echarts for Weixin 小程序实现中国地图及区域点击事件
    本文介绍了如何使用Echarts for Weixin在微信小程序中构建中国地图,并实现区域点击事件。包括效果展示、条件准备和逻辑实现的具体步骤。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
  • 在Java开发中,如何利用ProcessBuilder类调用外部程序是一个常见的需求。本文将详细介绍ProcessBuilder类的使用方法,并提供示例代码帮助你更好地理解和应用。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
author-avatar
亚瑟女皇韩版欧美风情女装旗舰店
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有