Emacs Evil“重复”(点)行为

2024-04-25

我的中有以下行.emacs

(define-key evil-normal-state-map "\M-j" (lambda () (interactive) (evil-next-line 5)))

这使得文件中的导航变得更加容易。例如,与M-j我在下面 5 行,所以我不必按j5次。我对所有人都做同样的事情hjkl。问题是这个命令会污染最后重复在邪恶(点)中,假设我替换了给定行中的一个单词,那么我就这样做M-j去改变下面5行的一个词。如果我按.,它会跳转到下面另外 5 行,而不是像 Vim 中那样替换单词。如果我使用任何hjkl不过,它不会污染最后重复。我怎样才能使我的功能不污染最后重复?

EDIT:我刚刚注意到它实际上并没有发生\M-j and \M-k,但仅与\M-h and \M-l,所以这个问题就更奇怪了。两者都定义为:

(define-key evil-normal-state-map "\M-h" '(lambda () (interactive) (evil-backward-char 5)))

(define-key evil-normal-state-map "\M-l" '(lambda () (interactive) (evil-forward-char 5)))


只需将 lambda 替换为 defun say 即可:(defun my-5-lines-down...)进而(evil-declare-motion 'my-5-lines-down) 在邪恶(可能还有 vim?)中,动作不算是可重复的,所以这应该可以解决问题。或者你可以使用evil-define-motion如果你想控制跳转列表,而不是 defun 。看文档 https://gitorious.org/evil/evil/blobs/raw/doc/doc/evil.pdf用于定义运动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Emacs Evil“重复”(点)行为 的相关文章

  • 我可以在 VIM 或 Perl 中替换单个正则表达式中的多个项目吗?

    假设我有字符串 The Quick Brown Fox Jumps Over the Lazy Dog 我可以用一个正则表达式将其更改为 The Slow Brown Fox Jumps Over the Energy Dog 吗 目前 我
  • 是否可以在没有 GUI 的情况下使用 Vim 的客户端服务器功能?

    我用 Homebrew OS X 编译了 Vim 如下所示 brew install vim with client server And the version请求确实证实了这一点 a gt usr local bin vim versi
  • gvim中的鼠标输入

    标准鼠标输入可以在 vim 中自定义吗 在我的例子中是 vim 插件也是可以接受的选择 我特别感兴趣的是 覆盖 双击某个单词 这样 gvim 就不仅仅是突出显示该单词 而是进行搜索 从而突出显示文件中该单词的所有实例 我在其他编辑器中看到过
  • 如何在 IdeaVIM 中配置 Vim 的 Ctrl + N 和 Ctrl + P 补全?

    在Vim中我们可以使用Ctrl N or Ctrl P完成代码补全 如何在 IdeaVim for IntelliJ 中配置它 Alt and Alt Shift 既可以在普通 IntelliJ 中工作 也可以在安装了 IdeaVim 的情
  • 使用 Vim 作为 HTML 编辑器

    您知道 Notepad 如何具有此功能 当您单击标签 例如 时 它也会自动突出显示结束标签 它叫什么 如何调整 Vim 使其也具有此功能 还有其他方法可以将 Vim 变成强大且高效的 HTML 编辑器吗 我在 vim 中完成所有 HTML
  • 设置自动完成以处理语义

    我在 Emacs 中的自动完成包方面遇到问题 目前我已经启动并运行了 cedet 并具有适当的自动完成功能 但自动完成包有一些奇怪的行为 它不会使用语义 参议员 的数据库 直到我显式访问包含文件并创建 C u M x bovinate 然后
  • gVim 和 gVim easy 有什么区别?

    这个问题是不言自明的 但经过一个小时的搜索 我还没有找到任何资源可以解释其中的差异 在对两者进行了一些研究后 发现 gVim 和 gVim easy 是相同的 gVim Easy 启动并锁定在插入模式 您输入的每个字符都像简单的记事本一样打
  • 为什么在 Vim 的插入模式下粘贴长一行非常慢?

    昨天 当我尝试将 1200 行 每行 80 个字符 粘贴到 Vim 时 我的 Macbook 被卡住了 下载文件而不是粘贴文本要快得多 我认为这个问题可能是互联网运营商允许上传速度比下载速度慢的原因 如果您将其粘贴到终端窗口中 Vim 会认
  • vim 使用外部文件上的行号突出显示行

    我有两个文本文件 一个是我当前正在工作的文件 另一个包含行号列表 我想做的是突出显示第一个文件中行号与后一个文件匹配的行 E g File1 I like eggs I like meat I don t like eggplant My
  • 如何在 Vim 中特定列的所有行中插入特定字符?

    Dates Name Date Battle of the Plains of Abraham September 13 1759 Proclamation Act October 07 1763 Stamp Act March 22 17
  • 如何清空或清除 emacs 迷你缓冲区?

    有时 迷你缓冲区的内容会显示命令的输出 emacs 24 当输出只有一行时 这并不会造成太大的不便 当命令有多行长并且迷你缓冲区使用许多可用于其他用途的显示行时 这会更烦人 有没有办法清除迷你缓冲区的内容 注意 当我M echo usage
  • Vim 中最近的文件历史记录?

    我想访问最近在 GVim 中打开然后关闭的文件 我经常打开和关闭 GVim 我也想访问以前会话中的最新文件 GVim 是否将最近的文件存储在 Word 和许多其他桌面应用程序存储的位置 如何访问它们 至少终端 vim 将前十个文件存储到 v
  • 如何使用 VIM 进行 .Net 开发 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 用于将 PCRE 正则表达式转换为 emacs 正则表达式的 Elisp 机制

    我承认对喜好有很大的偏见PCRE http www pcre org regexps 比 emacs 好得多 如果没有其他原因 当我输入 时 我几乎总是想要一个分组运算符 当然 w 和类似的比其他等价物方便得多 但当然 期望改变 emacs
  • Vim:垂直选项卡列表可以吗?

    是否可以让 vim 的选项卡列表垂直显示在编辑器的左侧 这确实很有帮助 但我还没有找到任何可以做到这一点的插件 我对谷歌很烂吗 我同意兰迪关于选项卡使用的观点 但前段时间我也在寻找在 gvim 中添加垂直制表符的可能性 为此 您必须修改源
  • Vim:设置 ctag 很困难。子目录中的源代码在项目根目录中看不到标签文件

    我今天试图在 Vim 上设置 丰富的 ctags 但很难让它正常工作 我在命令行上使用以下命令生成 ctags 文件 cd myproj ctags R 这会将标签文件放在 myproj 根目录中 然而 当我处理位于根目录中的源代码时 Vi
  • 按文件类型设置 Vim 空白首选项

    在我的工作中 我需要遵循房屋风格进行缩进 如下所示 编码 html 和 ruby 时有 2 个空格 编码 javascript 时使用制表符 建议使用 tabwidth 4 为每个文件类型指定不同的空白首选项的最佳方法是什么 方法有很多 但
  • Vim:无法让病原体加载包

    我在 Stackoverflow 和 github 等上阅读了有关此问题的其他五个问题 但一直无法解决这个问题 此时我完全迷失了 我使用的是 Ubuntu 11 10 和 Vim 7 3 这是我的 vimrc set nocp call p
  • VIM:使用 :normal 命令退出插入模式

    当我使用 normal 命令进入插入模式时 normal i 例如 如何退出插入模式 如果我按 或 VIM 会退出命令模式 并且我无法运行 normal 命令 I put imap
  • Emacs 如何确定要撤消的工作单元

    When you enter the command C Emacs undoes some part of your recent changes to a buffer When you enter C again it undoes

随机推荐

  • displayformatattribute 自定义字符串格式

    我希望能够将视图模型中的属性标记为在 MVC 视图中显示时使用自定义格式进行格式化 我假设我需要自己的显示格式属性并设置显示格式 但我不确定如何设置此显示格式或在哪里设置 如果我想将数字显示为货币 很简单 只需在属性的构造函数中将 Data
  • 无法为 api 路由 laravel 设置 cookie

    使用后端 laravel 和前端 SPA vue js vue cli 3 进行服务 我需要通过 httpOnly cookie 不是 localStorage 进行身份验证 我用tymondesigns jwt auth https gi
  • 如何在主题激活时填充侧边栏上的小部件

    我想做的是在主题激活时使用一些默认小部件预先填充侧边栏小部件区域 if dynamic sidebar sidebar 确实添加了小部件 但它没有显示在小部件部分的侧栏中 并且 if is active sidebar sidebar 如果
  • Symfony2 中的 getEntityManager() 和 getDoctrine()

    这两种说法有什么区别吗 this gt getDoctrine gt getEntityManager gt getRepository this gt getDoctrine gt getRepository 这种差异是否与我遗漏的任何
  • 如何比较 Visual Studio Code 中的不同分支

    如何比较 Visual Studio Code 中的两个不同分支 是否可以 2021年答案 这是分步指南 安装GitLens扩大 GitLens https marketplace visualstudio com items itemNa
  • jScrollPane滚动条问题

    我正在开发一个使用 Wordpress 作为 CMS 的网站 并且我想在我的网站的 div 内使用自定义滚动条 我一直在尝试使用 jScrollPane 插件 但无法使其正常工作 主要代码在我的 header php 文件中 并且有一个类
  • 编辑文档Python-docx标题中的内容

    我正在尝试查找并替换其中的文本标题中的文本框的文档 但搜索了一段时间后 似乎无法通过 python docx 访问标题或 浮动 文本框中的内容 我读了问题here https github com python openxml python
  • 我应该在我的活动中缓存来自 SharedPreferences 的数据吗?

    我正在开发一个基于 GCM 的应用程序 用户可以在其中订阅多个主题 我需要知道用户在两个地方订阅了哪些主题 主要活动 展示Subscribe or Unsubscribe用户界面中的按钮 GCM 侦听器服务 通过以下方式过滤消息并处理 过时
  • 无法在 _app.js 中使用 getStaticProps

    我正在使用 next js 并尝试执行以下操作 获取 app js中与用户数据相关的基本数据 该数据包括标题 用于导航栏 和一些社交链接 用于页脚 在构建时将该数据传递给其他组件 例如页脚和导航栏 用于静态站点生成 为此我已经导出了getS
  • 使用监视器的单车道桥

    在大学里 我从 Gregory R Andrews Foundations of Multithreaded programming 中得到了这个规范的并行编程问题 虽然我有这本书的较新版本和俄语版本 但我发现了一个旧的英语变体并尝试正确传
  • 没有 fflush(stdout) 则输出不打印

    我不明白为什么有时我需要使用fflush 有时不是 我的程序目前出现段错误 我正在使用 print 语句对其进行调试 当程序出现段错误时 stdout不自动刷新缓冲区 我不明白为什么有时需要使用 fflush 而有时需要使用 不是 有时 s
  • 为什么我不能在类方法中使用预定义变量?

    我尝试在类方法中使用预定义变量 例如 PSVersionTable 或 PSScriptRoot 他们失败并显示错误消息 方法中未分配变量 Example Class Foo String Version GetVersion If PSV
  • Git:更改不应该保留在其分支内吗?

    我对使用 Git 还比较陌生 这是我到目前为止所做的 git branch master git status On branch master nothing to commit working directory clean git b
  • ffmpeg 使用 -movflags faststart

    我尝试使用命令 movflags 快速启动 并得到以下错误 Microsoft Windows 版本 6 0 6002 版权所有 c 2006 Microsoft 公司 版权所有 C uploads 1 videos gt ffmpeg i
  • MATLAB 颜色条刻度标记错误?

    我正在绘制 9 个子图 如下图所示 其中一个颜色条代表三个子图 在这里我想将颜色条中的最高值显示为 gt value 令人惊讶的是 当我手动将刻度标签编辑为h TickLabels end gt h TickLabels end 颜色条开始
  • 哪种架构称为非均匀内存访问(NUMA)?

    根据wiki http en wikipedia org wiki Non uniform memory access 非均匀内存访问 NUMA 是一种用于多处理的计算机内存设计 其中内存访问时间取决于相对于处理器的内存位置 但尚不清楚它是
  • 处理数据表中的会话超时(使用服务器端数据源处理)

    我有一个由服务器端 Ajax 数据源支持的数据表表单 它在后端使用 struts 操作来处理请求 获取数据并发送 JSON 响应 服务器端操作需要在身份验证模式下运行 即需要有一个活动会话 处理数据表中会话超时错误的最佳方法是什么 目前它只
  • 用渐变色绘制一个 D3 圆

    如何用渐变颜色画一个圆 比如说 从黄色到蓝色的渐变 通常 要创建黄色圆圈 我们可以使用以下代码 var cdata 50 40 var xscale 40 var xspace 50 var yscale 70 var svg d3 sel
  • 带有版本控制的 json 数据存储

    问题定义 有一个Java服务器存储JSON可以映射到 Java 类的数据 Java 类可能会发生变化 目标是能够更新 Java 类并且仍然能够解码JSON旧版本的数据到新版本的 Java 对象 应该有一个良好的版本控制系统 例如 能够向 J
  • Emacs Evil“重复”(点)行为

    我的中有以下行 emacs define key evil normal state map M j lambda interactive evil next line 5 这使得文件中的导航变得更加容易 例如 与M j我在下面 5 行 所