【问题标题】:Vim/Vi Select visual select inside macroVim/Vi 选择宏内的可视选择
【发布时间】:2017-01-25 21:08:18
【问题描述】:

我想创建一个宏来代替必须输入:

vi(
vi[
vi"

等等

我一直在尝试以下方式:

:nnoremap <leader><tab> vy:exe vi"0<cr>

但没有成功。

我在 Windows 上使用 VsVim。

谢谢。

【问题讨论】:

  • 你到底想做什么?
  • 有一个宏,当光标位于开始字符上时,它将选择 " " [ ] ( ) { } 内的文本。

标签: vim vi vsvim


【解决方案1】:

我刚刚尝试将此添加到我的_vsvimrc

nnoremap gP vi"

据我所知,它工作得很好。这能满足您的需要吗?

【讨论】:

  • 不,只能在“”内选择。我尝试创建的宏适用于任何封闭字符。像这样的东西,虽然似乎注册表字符不适用于 vsvim 中的 vi 命令。 :nnoremapt vy:execute "正常!vi "
  • 那为什么不使用v%呢?解决了大多数情况,但可能不是引号。
【解决方案2】:

在 Vim 中,你可以这样做:

:nnoremap <leader><tab> yl:execute 'normal! vi' . @"<CR>

这个yanks光标下的字符,然后使用:normal!运行vi...普通模式命令,:execute将寄存器内容插入其中。

我不知道 VsVim 的功能,但我怀疑它是否提供了这些功能;你可能只能在那里做简单的 vi 风格的映射。

【讨论】:

    猜你喜欢
    • 2011-03-21
    • 2016-07-11
    • 2017-02-07
    • 2020-07-08
    • 2014-03-01
    • 2010-09-20
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多