如何在 vim 中标记自定义命令的视觉选择?

2024-03-26

我想做这样的事情:我选择一段文本,然后按 Ctrl-B,所选文本被 ** 或我选择的其他符号包围。我在想,如果我能以某种方式标记选择的开始和结束位置,我可以将 Ctrl-B 映射到视觉模式下的某个组合键,在这些标记上移动并放置所需的文本。

我怎样才能这样做呢?


无需定义您自己的映射 - Tim Pope 的环绕.vim https://github.com/tpope/vim-surround就是为这种事情而生的!该插件提供了映射,可以轻松删除、更改和添加文本周围的环境。

In your case, after you've made your selection in visual mode, just type S*, and your code will be surrounded by asterisks.

Surround commands work with standard motions, and in normal mode as well. If you want to change the surrounding characters (say, from * to '), you can do cs*'.

The README https://github.com/tpope/vim-surround#surroundvim涵盖了许多值得尝试的通用案例。

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

如何在 vim 中标记自定义命令的视觉选择? 的相关文章

  • 如何解决Vim中`UltiSnips`插件的TAB键映射冲突

    我已将映射键设置如下 Easy indent for code blocks nmap
  • 使用 vim 处理文本文件中的 \r \n ^M ​​^@

    当我将 excel 文件中的数据行保存为制表符分隔的 txt 文件 然后在 VIM 中打开这些文件时 我发现 excel 中曾经的多行文件现在是 VIM 中的单行文件 可以使用一些替换命令在 VIM 中分隔 行 s M r n g 此后 线
  • .vimrc 控制键映射不起作用

    我的 vimrc 中有以下映射 用于映射控制键 1 2 3 用于切换选项卡 我在 ubuntu 11 10 中使用 gnome 终端 控制键映射似乎不起作用 谁能告诉我我做错了什么 VIM Vi 改进版 7 3 154 map
  • 在 VIM 中切换语法高亮的隐藏属性

    我目前有一个解析日志文件的语法文件 与以下内容非常相似 这是针对 syslog 的 syn match syslogText syn match syslogFacility 1 nextgroup syslogText skipwhite
  • VIM:在窗口左侧显示 3 个字符边框

    Context 我正在使用 NERDTree 插件 让我烦恼的一件事是 NERDTree 本身和我的代码之间的视觉垂直边界 我发现阅读我的代码有点烦人 我当前的设置如下所示
  • vim 中更有用的状态栏? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 cscope 在头文件和实现文件之间切换的 Vim 脚本

    我目前使用的是A vim http vim wikia com wiki Easily switch between source and header file在头文件和实现文件之间交换的插件 该脚本的局限性在于 它仅在两者位于同一文件夹
  • 如何只在当前行进行搜索和替换?

    I see 如何在特定行中搜索和替换 https stackoverflow com questions 17319557 search and replace in vim in specific lines 按行号指定 以及如何使用当前
  • 通过 Homebrew 安装 Vim,并支持 Python 和 Python3

    我想在 Vim 中启用 Python 自动完成功能 所以也许这不是问题 这是我观察到的 First 虚拟环境 https github com kennethreitz python guide blob master docs dev v
  • Vim:如何交换两个字符?

    有没有快速更改的命令 Cnotrol to Control While in normal mode with your cursor on top of the first character to swap you can type x
  • 如何在vim中的相同行数前面插入多行?

    假设我有两个文本块 其中之一在我的剪贴板中 one two three 另一个位于我正在 vim 中编辑的文件中 AAA BBB CCC 如何在第二个块前面插入第一个块以获得以下结果 oneAAA twoBBB threeCCC 我希望有一
  • 设置快捷方式以替换 VIM 中轻松选择的字符串

    我有很多 php html 文件 其中包含许多应该使用 gettext 国际化的字符串 因此 我必须遍历每个文件 找到 消息 字符串并将每个字符串替换为 I use vim and would like to setup a shortcu
  • VIM:有没有一种简单的方法可以从 Vim 管理 Visual Studio 解决方案/makefile 项目? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我尝试使用 Visual Studio 而不是 VIM 插件 但说实话 VS 相对于 VIM 的唯一优势是它能够自动管理我的项目 我知道 VS
  • 在Vim中,如何删除单词的后缀?

    在vim中 在正常模式下 如果光标位于单词中 而不是最后一个字母 de从光标位置删除单词的后缀 如果光标位于最后一个字母上 x也这样做 同时de会跳到下一个单词的末尾 您将使用什么命令在这两种情况下都有效 无论最后一个字母与否 目的是将命令
  • 在 Vim 中搜索并替换为递增值

    假设我写了一个简单的 CSS 规则 如下所示 star 10 background url stars png no repeat 0 0 而我需要10个 所以我复制了9次 star 10 background url stars png
  • Vimscript 检查当前缓冲区是否有未保存的更改

    我目前已设置状态行 使其在插入模式下为橙色 否则为白色 如果文件有任何未保存的更改 我想让它在我回到正常模式时变成另一种颜色 因为我经常在兔子洞里走一会儿 想知道为什么我的更改没有生效 小 还不够打我的脸 我找不到任何以 buf 开头且看起
  • 在 Vim 中的缩进线上按“Home”

    我有一个坏习惯 就是使用 home 键返回到行首 当我最近开始使用 vim 时 我注意到当我在缩进的行上按 home 键时 它会让我回到该行的开头 在 Notepad 我曾经使用的编辑器 中 它会让我返回到该行代码的开头 就在缩进之后 有没
  • 以 Vim 的 -o - 模式打开 Grep 输出中的文件

    如何将文件列表放入 Vim 的 o 模式 我有一个文件列表作为 Grep 的输出 我运行失败 1 grep il sid vim o 2 grep il sid xargs vim o 3 grep il sid xargs vim 4 v
  • 带有 Viper 和 Vimpulse 的 Emacs 缺少哪些 Vim 功能?

    Emacs 的一些重要功能在 Vim 中是缺失的 例如 comint 模式 并且没有脚本 插件可以替代它们 与 Emacs 相比 Vim 也有一些优点 例如模式编辑和通常更好的默认快捷键 然而 Viper 模式让我两者兼而有之 Vimpul
  • Redhat Vim 中的可视化块插入

    我的 ec2 服务器附带了 redhat vim ec2 user vim version VIM Vi IMproved 7 2 2008 Aug 9 compiled Jul 7 2012 08 03 48 Included patch

随机推荐

  • vb6中动态两级或多级子菜单生成

    朋友们 告诉我怎么做生成1级以上的子菜单在VB6中运行时 简单解释一下 有什么具体的控制措施吗 但我不想使用外部控件 您可以使用API 函数创建多级子菜单 Private Declare Function CreatePopupMenu L
  • 将 jQuery 插件转换为 TypeScript

    好的 首先这是我非常基本的 jQuery 插件 function fn greenify function options var settings extend These are the defaults color 556b2f ba
  • Selenium WebDriver 测试失败并出现 System.Net.WebException 无法连接

    我正在开发一套 Selenium WebDriver 不是 Selenium RC 也不使用 Selenium Server 测试 这些测试是通过命令行调用 MSTest 来执行的 我已将它们分解为我们计划测试的每个浏览器 目前是 Chro
  • Docker-Compose、NGINX 和热重载配置

    我有一个通过 docker compose 运行的功能全栈应用程序 奇迹般有效 唯一的问题是团队必须重建整个应用程序以反映更改 这意味着把整个事情搞砸docker compose down 我正在寻求帮助来更新下面的文件以允许热重载 OR
  • 是否可以将多个参数传递给 Ember Power Select 中的 onChange 操作?

    我目前正在使用优秀的ember 电源 选择 https ember power select com作为一部分添加ember bootstrap 形式 https www ember bootstrap com api classes Co
  • 将另一个 data.frame 中的一行添加到 qplot

    是否可以在现有绘图中添加一条线 例如附加时间序列 我知道如何添加水平或垂直线 但如何从其他 data frames 添加 q myplot lt qplot datefield myvalue data mydf geom c line c
  • 如何在 Qt 中将 foreach 与 QDomNodeList 一起使用?

    我是 Qt 新手 每天都在学习新东西 目前 我正在利用空闲时间为我的诺基亚 N900 开发一个小型应用程序 一切都很好 我可以在设备上编译和运行 Maemo 应用程序 我刚刚了解到foreachQt 中的关键字 我知道它不在 C 中 所以我
  • cakephp 验证和正则表达式

    我正在 cakephp1 3 工作 我必须使用 model i 中的 cakephp 验证来验证我的表单 我添加了一个正则表达式来限制特殊字符输入 我的代码写如下 var validate array name gt array uniqu
  • Android 模拟器出现蓝屏死机

    无论我从 Android SDK 和 AVD Manager 创建哪种类型的 Android 虚拟设备 每当我启动它时 我的整个笔记本电脑都会在出现蓝屏死机后关闭 我在事件系统日志中看到此错误 驱动程序 VPCAppSv sys 已被阻止加
  • 如何增加 jQuery 变量?

    我正在尝试使用 jquery 浏览图片库 因此我有一个按钮 该按钮应该将变量加 1 然后使用它来加载下一张图片 使用最上面的答案this https stackoverflow com questions 11338499 incremen
  • 学说、命名空间和自动加载实体

    我想在我的项目中使用 Doctrine 2 我有一些问题 我阅读了文档 但可能我做错了什么 我想自动加载实体类 并且文档中的方法不起作用 我的 bootstrap php
  • Java继承与抽象方法

    我有很多 形式 类 所有这些都扩展了Form 我有一个名为的抽象类FormService以及扩展此类的特定表单服务 我想做的是有一个名为的抽象方法populate 它采用一种类型形式 从而通过继承为给定类型调用正确的服务 所以我有类似的东西
  • 从文档和 jekyll 源文件夹配置提供服务的 GitHub 页面

    标准 F 遵循 ProjectScaffold 的文档具有以下结构 project docs content files output tools 生成的文档保存到output 然后被推送到gh pages branch 最近 GitHub
  • 使用 PerformanceCounters 来定位特定驱动器

    伙计们 我有以下代码 using System Diagnostics private PerformanceCounter diskRead new PerformanceCounter private PerformanceCounte
  • 具有 NA 值的数据框两列的总和

    我有一个包含一些 NA 值的数据框 我需要两列的总和 如果一个值为 NA 我需要将其视为零 a b c d 1 2 3 4 5 NA 7 8 e 列应该是 b 和 c 的总和 e 5 7 我尝试了很多事情 并进行了两打搜索 但没有运气 这似
  • InnoDB MySQL 5.5 中的 TEXT 与 VARCHAR。何时使用每一项

    MySQL 5 5 的 InnoDB 存储引擎中 text 和 varchar 的主要区别是什么 如果我们谈论不超过 5000 个字符的变量文本字段 是否使用 text 或 varchar 5000 根据论坛帖子innodb com 从 I
  • 在 vb.net 中生成随机字符串

    我需要在 vb net 中生成随机字符串 该字符串必须由 随机选择的 字母 A Z 必须大写 和散布的随机数字组成 它还需要能够生成具有设定长度的它们 感谢您的帮助 这让我发疯 如果你可以将其转换为 VB NET 这很简单 我想说你就可以了
  • 在 WiX 中重新启动后继续安装

    我正在尝试使用 WixStandardBootstrapperApplication 创建引导应用程序 除了处理重启之外 它可以很好地完成我需要它做的所有事情 我需要安装一组EXE文件 只有第一个是 NET 4 5 需要重新启动 我会延迟重
  • Flex 和 Bison 彼此需要什么?

    当 Flex 和 Bison 一起使用时 为什么 Flex 文件需要 includebison 创建的 C 头文件 编译需要 bison 和 flex 创建的 C 源文件 bison 和 flex 创建的 C 源文件相互需要什么 bison
  • 如何在 vim 中标记自定义命令的视觉选择?

    我想做这样的事情 我选择一段文本 然后按 Ctrl B 所选文本被 或我选择的其他符号包围 我在想 如果我能以某种方式标记选择的开始和结束位置 我可以将 Ctrl B 映射到视觉模式下的某个组合键 在这些标记上移动并放置所需的文本 我怎样才