修改 emacs 向前单词/向后行为(就像 vi/vim 中一样)

2023-11-24

实现与 vim 中的单词来回导航相同的行为的最简单方法是什么?在vim中,当你按“w" 它将光标向前移动一个单词,其中单词由一系列字母、数字和下划线组成,或者由一系列其他非空白字符组成,并用空格(空格、制表符、eol)分隔。另一方面,在 emacs 中它会跳过直到下一个单词的末尾,并且该单词是在语法表中按模式定义的。

例如:光标位于以下行的开头,显示了当您执行此操作时 vim 将光标放置在何处forward-word ("w“) 手术:

opt1.arg = opt2.arg
^   ^^   ^ ^   ^^  ^

在 emacs 中它是这样的:

opt1.arg = opt2.arg
^   ^   ^      ^   ^

这确实取决于一个人的喜好,但我更喜欢 vim 风格,我想知道在 emacs 中拥有相同风格的最简单方法是什么。我想我并不是唯一一个从 vim 切换到 emacs 的人,所以也许有人已经有了一个解决方案,最适合kill-word and backward-kill-word还有:)

我知道你可以通过组合得到类似的东西M-f, M-b等等,但这不是重点。我也不想开始讨论哪种方法更好 - Topis 在here.


你实际上可以使用'viper-forward-word

(require 'viper)
(global-set-key (kbd "M-f") 'viper-forward-word)
(global-set-key (kbd "M-b") 'viper-backward-word)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

修改 emacs 向前单词/向后行为(就像 vi/vim 中一样) 的相关文章

  • Pymacs 助手在 30 秒后未启动

    我见过其他关于此的问题 但没有一个得到真正的回答 而且没有一个是我的问题 我有一个新系统 emacs 23 1 Centos 6 2 我认为 我下载了最新的 pymacs 并安装了它 但是 我得到 error Pymacs helper d
  • 在 Emacs Paredit 中交换括号和方括号

    如何在 paredit 模式下定义交换括号和方括号的命令 所以任务就是把它变成这样 例如 blah a b c 进入这个 blah a b c 使用 paredit 模式 移至表达式的开头 a 进而 C M SPC
  • Emacs:当光标位于右括号时匹配括号

    之前有人问过 Emacs 当光标位于其上时突出显示匹配的括号 而不是其后 https stackoverflow com questions 16399530 emacs highlight matching paren when curs
  • 让 Emacs ansiterm 和 Zsh 更好地发挥作用

    我一直在尝试在 emacs 会话中使用 Zsh 而无需 emacs 重新映射所有 Zsh 键 我发现 ansi term 对此非常有效 但是我仍然遇到一些问题 我输出了很多垃圾字符 我可以用以下方法修复它 Setup proper term
  • emacs 临时文件的 .gitignore 正则表达式

    我正在尝试 gitignore emacs 临时 自动保存文件 我在用着 在我的 gitignore 中 But git add A在子文件夹中运行仍然给我 new file make collections py new file nor
  • 将字符定义为单词边界

    我已经定义了 字符在乳胶模式下充当单词组成部分 我对结果非常满意 唯一困扰我的是像这样的序列 alpha beta被视为单个单词 当然 这是预期的行为 有没有办法让 emacs 将特定字符解释为单词 starter 这样 它将始终被视为其后
  • 从 ADF Faces JSF 1.2 中的托管 bean 构造函数导航

    是否可以从托管 bean 的构造函数导航到另一个页面 视图 如果发生任何异常 我希望进行此重定向 我尝试了很多方法 Try 1 getFacesContext responseComplete getFacesContext getAppl
  • 如何在 SwiftUI 中使用带条件检查的按钮进行导航

    Since 导航按钮不再可用 我如何检查条件导航链接为了导航到另一个视图 NavigationLink destination Dashboard userName self userId password self password is
  • Jetpack 导航:如何从一个嵌套图的子级导航到另一个嵌套图的子级?

    导航结构 MainActivity nav root HomeFragment AuthNestedGraph nav auth BeforeOtpFragment home OtpFragment ProfileNestedGraph n
  • 将子目录添加到加载路径

    我希望能够自动加载它们 而不是单独指定插件目录中的每个子目录 为此 我将以下内容包含到我的 emacs 文件中 let base emacs d plugins normal top level add subdirs to load pa
  • emacs 去掉 shell 中的所有 ansi 颜色代码

    我在 OS X 上使用 emacs 24 但遇到了一个奇怪的问题 我看不到任何颜色代码 Emacs 似乎只是忽略它们 我的动机是查看 C 项目的 cmake llvm 和 googletest 框架的彩色输出 我想在编译模式下查看颜色 但是
  • Emacs 正则表达式:什么 \< 和 \> 可以做 \b 不能做的事情?

    正则表达式反斜杠 GNU Emacs 手册 http www gnu org software emacs manual html node emacs Regexp Backslash html说 lt 匹配单词的开头 gt 匹配单词末尾
  • 在 Emacs 中,如何更改迷你缓冲区完成列表窗口?

    我想为迷你缓冲区完成列表设置一个特定的窗口 目前 我有 3 个窗口采用此配置 在这种情况下 我想使用左下窗口作为迷你缓冲区完成列表 目前 它似乎是随机的一个窗口 大多数时候它喜欢使用最右边的窗口 它太薄了 无法在我不必水平滚动的情况下显示完
  • 现代 UI WPF 导航

    我正在使用现代 ui wpf 并尝试从 CheckLogin xaml 页面导航到 MainWindow xaml 页面 它们位于解决方案根目录中 我在 CheckLogin xaml 中写了这样的内容 BBCodeBlock bbBloc
  • android 想要导航到多个目的地吗?

    有什么办法可以导航到多个目的地吗 就像你可以在谷歌地图上做的那样 您可能知道 您可以使用以下未记录的方式导航到目的地 startActivity new Intent Intent ACTION VIEW Uri parse google
  • Emacs 启动时出现 24 错误

    我已经使用 emacs snapshot 一段时间了 但最近它崩溃了很多 所以我切换到 Emacs 24 但是一旦我安装并启动它 它就开始显示错误并且不会在我的 init el 中加载任何内容 当我在调试模式下运行它时 我得到了这个 Deb
  • 在 Android 中使用 Fragment 时处理后按

    我在应用程序中使用 Android 滑动菜单和导航抽屉 并且在应用程序中使用片段而不是活动 当我打开抽屉时 单击一个项目会出现一个片段 我使用以下代码从一个片段移动到另一个片段 Fragment fragment null fragment
  • 如何使用 jQuery 检测浏览器是否关闭

    我需要使用 jQuery 检测浏览器是否被关闭 如果是这样 则执行一个事件 我的网站上有一个聊天功能 很像 Facebook 可以让用户在导航到网站结构中的其他页面时保持登录状态 但如果他们单击 则需要将他们从聊天中注销 这样他们就不会在线
  • Emacs 是否具有单词和行补全功能(如 Vim 的插入模式补全功能)?

    Vim 完成单词和行CTRL X P and CTRL L 有一个名为 Company mode 的 Emacs 插件 但该插件会干扰 Emacs 中的许多内容并导致冲突 与全局 linum 和 yasnippets 我知道我可以在 Ema
  • 如何让Emacs显示与实际存储的不同的字符?

    我想使用Elisp为Emacs实现动态文本替换 仅替换显示 不替换实际存储的文件 例如 在 LaTeX 文档中 我想输入 alpha 然后让 Emacs 将其显示为 因此更容易阅读 但在结果中 tex文件 我还想要 alpha 代替 被拯救

随机推荐

  • 目录在 github 上显示为灰色文件夹,但不跟踪其内容。为什么?

    我有一个目录 ui kit 它在 github 上显示为灰色文件夹 它不可点击 这是 gitignore的全部内容 Fleetwit docs uploads env prj pui Logs logs log Node node modu
  • R 中“str”报告的第二列是什么?该列中的“atomic”是什么意思?

    Using str survey OM 我的数据框上表明我的所有数值数据都是atomic 如果我使用class survey OM perc OM 它返回numeric 我一直以为第二栏str显示了数据的类别 但看起来并不那么简单 所以我的
  • 如何设置windbg自动下载所有符号?

    一般来说 我对编程和调试很陌生 我花了很多时间离线 没有互联网 并且正在阅读 Windows 调试内部 一书 但时不时地 我发现自己需要一个 pdb 文件 我做了一些挖掘 发现了这个网址 http msdn microsoft com en
  • 跨域 AJAX 预检失败来源检查

    这似乎不起作用 ajax url http localhost 3000 foo json data foo bar headers HTTP X CUSTOMHEADER foobar xhrFields withCredentials
  • 对本地文件系统的 AJAX 请求在 Chrome 中不起作用? [复制]

    这个问题在这里已经有答案了 我正在努力使用 jQuery 从 XML 动态创建 UI 我的 jQuery 在 Firefox 中工作 但在 Chrome 中不起作用 它给了我这个控制台错误 仅协议方案支持跨源请求 http data chr
  • 从网页程序获取所有图像|爪哇

    目前我需要一个给定 URL 的程序 返回网页上所有图像的列表 ie 标志 png 图库1 jpg 测试 gif 在我尝试编写代码之前是否有可用的开源软件 语言应该是java 谢谢 菲利普 只需使用一个简单的 HTML 解析器 like jT
  • 禁用“Owl carousel”中特定元素(项目)的拖动 - jquery

    我使用 OWL Carousel jQuery 插件 http www owlgraphic com owlcarousel 在我的小项目中 我创建了可通过此插件拖动的小脚本 现在我想禁用特定元素 项目 中的拖动 但我不知道该怎么做 HTM
  • 为 maven-processor-plugin 编写注释处理器

    我有兴趣为 maven processor plugin 编写一个注释处理器 我对 Maven 比较陌生 处理器 Java 源代码应该位于项目路径中的哪个位置 例如 src main java 以便正确编译它 但最终不会成为我的工件 JAR
  • sendmsg() 中的辅助数据如何工作?

    sendmsg 允许将辅助数据发送到另一个套接字 我想知道这是如何运作的 辅助数据是否与普通消息一起打包 如果是这样 远程接收套接字如何知道如何解析它 远程接收客户端如何检索这些辅助数据 辅助数据不会在线发送 永远不会 对于 Unix 域套
  • WPF 数据绑定和验证规则最佳实践

    我有一个非常简单的 WPF 应用程序 在其中使用数据绑定来允许编辑一些自定义 CLR 对象 我现在想在用户单击 保存 时进行一些输入验证 然而 我读过的所有 WPF 书籍并没有真正为这个问题投入任何篇幅 我看到您可以创建自定义验证规则 但我
  • 如何将系统环境变量传递给app.yaml?

    是否可以 这是我的app yaml runtime nodejs8 env variables NODE ENV production PORT 8080 API KEY API KEY API KEY 就像一个占位符 当我跑步时API K
  • django 中的多数据库支持

    从一些论坛我了解到Django在较低级别添加了多数据库支持 但尚未添加较高级别的api 谁能告诉我如何在 Django 中实现多个数据库连接 有谁知道 Django 何时将完全 正式支持多个数据库连接 如果您只需要多个连接 您可以执行以下操
  • ValueError:只能比较相同标签的系列对象python

    df df1 loc df1 CUST ACCT KEY df2 CUST ACCT KEY 当我执行上述命令时 出现以下错误 ValueError 只能比较相同标签的系列对象 我究竟做错了什么 两列的 dtypes 均为int64 Pan
  • `go mod tidy` 无法下载私有 GitHub 存储库

    这是回应 not found github com me email protected invalid version git ls remote q origin in tmp gopath pkg mod cache vcs ea2b
  • 浮点误差的确定性有多大?

    我知道浮点计算存在准确性问题 并且有很多问题可以解释原因 我的问题是 如果我运行相同的计算两次 我是否可以始终依赖它产生相同的结果 哪些因素可能会影响这个 计算之间的时间 CPU当前状态 硬件不同 语言 平台 操作系统 太阳耀斑 我有一个简
  • 在 JavaScript 中,在循环内使用 wait 会阻止循环吗?

    采用以下循环 for var i 0 i lt 100 i let result await some slow async function do something with result Does await阻止循环 或者是i继续递增
  • 如何在 iOS 14 中使用 PHAuthorizationStatusLimited

    为了获取照片的创建日期 因此在显示 PHPickerViewController 之前使用 requestAuthorizationForAccessLevel PHAccessLevel level PHAccessLevelReadWr
  • Java 中的内核绕过网络[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 有谁知道如何在 Java 中绕过内核吗 任何地方你好世界或者这是火箭科学 如果您使用 S
  • 使用 CSS 将字段集居中

    我试图将包含登录 用户名 和 密码 字段的字段集居中到页面的中心 这是我所拥有的 fieldset border 1px solid rgb 255 232 57 width 400px float left 我希望字段集在窗口中居中 无论
  • 修改 emacs 向前单词/向后行为(就像 vi/vim 中一样)

    实现与 vim 中的单词来回导航相同的行为的最简单方法是什么 在vim中 当你按 w 它将光标向前移动一个单词 其中单词由一系列字母 数字和下划线组成 或者由一系列其他非空白字符组成 并用空格 空格 制表符 eol 分隔 另一方面 在 em