如何将当前行作为 Vim EX 命令执行?

2024-03-17

假设我正在编辑我的_vimrc文件,我刚刚添加了几行,例如一个新的键映射。我不想重新加载whole file (:so %)因为这会重置我正在尝试的许多临时内容。我只想运行我当前正在处理的两条线。

我没有运气尝试将这些行复制/粘贴到命令缓冲区中,因为我无法在其中使用 put 命令。有什么方法可以将当前行(或当前选择)作为 EX 命令运行吗?


Summary:

After 安东·科瓦连科 https://stackoverflow.com/users/1947008/anton-kovalenko的答案和彼得·林克 https://stackoverflow.com/users/438329/peter-rincker的评论我最终得到了这些键映射,它们要么执行当前行,要么执行当前选定的行(如果在可视模式下):

" Execute current line or current selection as Vim EX commands.
nnoremap <F2> :exe getline(".")<CR>
vnoremap <F2> :<C-w>exe join(getline("'<","'>"),'<Bar>')<CR>

要将当前行作为 ex 命令执行,您还可以使用:

yy:@"

这会将当前行拉到“-register 并执行它。我不认为输入太多。

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

如何将当前行作为 Vim EX 命令执行? 的相关文章

  • 我可以使用 vim “star” 搜索来搜索 PHP 类成员和方法吗?

    vim 星号 星号搜索 help star 是一个很棒的功能 它可以让您找到光标所在单词的下一个出现位置 不幸的是 它将美元前缀视为字符串的一部分 因此如果我在类名中的 SearchTerm 上方按 它会在注释中找到 SearchTerm
  • 如何在 Vim 中创建行号和文本之间的边框

    我希望在行号右侧和文本左侧有一条细边框线 您可以使用不同的颜色来突出显示LineNr 例如 hi LineNr cterm bold ctermbg gray ctermfg black gui bold guibg gray guifg
  • 如何在 vim 中覆盖 ~/.vim 和 ~/.vimrc 路径(但不能覆盖其他路径)?

    假设我有一个所有 vim 配置的 tarball 通常在 vim 中的所有内容 插件 自动加载 颜色 所有这些东西 和一个 vimrc 文件 我将其提取到某个目录中 所以在我所在的目录 PWD 中 有一个 vim 文件夹和一个 vimrc
  • Vim 扩展(通过 Python)?

    是否可以通过自定义扩展 最好用 Python 编写 来扩展 vim 功能 理想情况下 我需要的是在命令模式下的自定义命令 例如 ESC do this do that vim 支持 python 脚本 我认为也支持 perl 您只需确保您使
  • 在 Vim 中,选择、删除或注释掉大部分多屏幕文本的最佳方法是什么?

    在像 Eclipse 这样的 IDE 中选择延伸到多个屏幕的大量文本相当容易 因为您可以使用鼠标 但是最好的方法是什么 例如 选择并删除多屏幕文本块或写入例如三个大方法导出到另一个文件 然后在 Vim 中删除它们以进行测试 当通过 putt
  • Linux/Ubuntu 目录位置 ~/.vim/syntax/

    文件夹的默认位置在哪里 vim syntax 在Linux系统上 我正在尝试添加一个 Python 插件 您正在寻找 runtimepath 选项 该文档非常详细 使用 help runtimepath 但我会尝试在这里总结一下 The 运
  • 如何使用 vim 更改文件的编码?

    我习惯使用 vim 修改文件的行结尾 file file file ASCII text with CRLF line terminators vim file set ff mac wq file file file ASCII text
  • 在 Vim 中平滑滚动的最佳方法是什么?

    Vim 中的主要滚动命令是 Ctrl B and Ctrl F as well as PageUp and PageDown scroll by full page Ctrl U and Ctrl D scroll half a page
  • 这个格式错误的命令实际上发生了什么?

    问题在Vim 向后范围 可以交换 https stackoverflow com q 28224540 1427295原来是失踪了g在命令中 2 userid d 但是该命令仍然会运行 并将其转换为 userid firstname sur
  • Vim 状态栏预测/完成?

    昨天我玩了一些 vim 脚本 并设法对我目前正在输入的内容进行一些超出状态栏的预测 通过循环 请参阅屏幕截图 灰色 黄色条 问题是 我不记得我是如何得到它或找到我用于 vim 魔法的代码片段 我记得它非常简单 它要么是文档中的示例 要么是我
  • 为什么“script”命令会生成 ^[ 和 ^M 字符以及如何使用 vim 搜索和替换删除它们?

    在linux上 使用bash shell 当我使用script命令时 生成的文件称为typescript 当我用 vim 打开该文件时 每一行都包含 M字符 并且有几行 由于我的彩色命令提示符 包含一个字符 我想用任何东西替换这些字符 从而
  • 我可以在 VIM 或 Perl 中替换单个正则表达式中的多个项目吗?

    假设我有字符串 The Quick Brown Fox Jumps Over the Lazy Dog 我可以用一个正则表达式将其更改为 The Slow Brown Fox Jumps Over the Energy Dog 吗 目前 我
  • Vim:领导不工作

    当尝试使用时vim latexsuite的映射 使用的是Leader不工作 nmap n
  • 在 Vim 中粘贴拉出的行后,为什么不能再次粘贴它?

    这个问题以前可能已经回答过 但我尝试搜索 但找不到任何答案 我对 Vim 有点陌生 遇到以下问题 一旦我拉出一行并粘贴它 我就无法再次粘贴它 例如 假设在Word环境中您将复制文本 粘贴它 然后您可以进一步粘贴它 但在 Vim 中 一旦我粘
  • 有没有办法改变vim的默认模式

    有谁知道如何更改vim的默认模式 它的默认模式是命令模式 但是我可以将其更改为插入模式吗 只需将以下行添加到您的 vimrc 中 start Vim s default mode will be changed to Insert mode
  • vim 将输出重定向到quickfix

    是否可以将命令的输出重定向到快速修复窗口 我正在运行的命令是 java r 并希望输出能够进入快速修复窗口 我建议两个选项之一 配置makeprg像您想要的那样运行 java 或者创建映射或命令来填充快速修复列表而不更改任何其他内容 选项
  • Vim:垂直选项卡列表可以吗?

    是否可以让 vim 的选项卡列表垂直显示在编辑器的左侧 这确实很有帮助 但我还没有找到任何可以做到这一点的插件 我对谷歌很烂吗 我同意兰迪关于选项卡使用的观点 但前段时间我也在寻找在 gvim 中添加垂直制表符的可能性 为此 您必须修改源
  • 通过列表字符仅显示前导空格的“空格”字符

    Vim 中是否可以有我的编辑器 编辑时 c and h文件 显示通过listchars 一个特殊字符 仅用于leading空格字符 我发现一个单独的帖子指出 从版本 7 4 开始 Vim 现在支持通过以下方式突出显示所有空格字符listch
  • vim 脚本“input()”函数不需要用户按 Enter 键

    我想让用户调用我的函数 然后让该函数请求用户输入 但我不希望用户在输入 input 函数所需的字母后必须输入 enter 例如 用户应该能够键入 h j k l 等单字母命令 并且键入的每个字母都会在我的函数中循环 直到用户键入 x 退出
  • 如何使用 vim 作为“git show”编辑器?

    全部如所述如何使用 vim 作为 git log 编辑器 https stackoverflow com questions 16666009 how do i use vim as git log editor不适用于 git show

随机推荐