加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在vim中别名命令

发布时间:2020-12-15 16:56:56 所属栏目:安全 来源:网络整理
导读:Vim是我的首选文本编辑器,当我编程,因此我总是遇到一个特别恼人的问题。 经常,当我快速需要保存缓冲区并继续一些其他杂项任务,我做典型 :w 然而,我 – 似乎是超过50%的时间 – 总是设法利用这一点:w。当然,vim喊我,因为W是一个无效的命令 E492: Not
Vim是我的首选文本编辑器,当我编程,因此我总是遇到一个特别恼人的问题。

经常,当我快速需要保存缓冲区并继续一些其他杂项任务,我做典型

:w

然而,我 – 似乎是超过50%的时间 – 总是设法利用这一点:w。当然,vim喊我,因为W是一个无效的命令

E492: Not an editor command: W

我的问题是如何可以一个别名冒号命令在vim。特别是,你能举例说明如何别名W到W。

我知道将密钥映射到某些命令的过程。不幸的是,这不是我要找的。

要使完成保持不变,请尝试使用
cnoreabbrev W w

,它将用w替换命令行中的W,但是只有当它既不跟随也不在字符字符之前,则:W< CR>将被替换为:w< CR&gt ;,但是:不会写。 更新 这里是我现在写的:

cnoreabbrev <expr> W ((getcmdtype() is# ':' && getcmdline() is# 'W')?('w'):('W'))

作为功??能:

fun! SetupCommandAlias(from,to)
  exec 'cnoreabbrev <expr> '.a:from
         .' ((getcmdtype() is# ":" && getcmdline() is# "'.a:from.'")'
         .'? ("'.a:to.'") : ("'.a:from.'"))'
endfun
call SetupCommandAlias("W","w")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读