gpt4 book ai didi

vim - 需要脚本/函数/命令来用其他文本包围文本

转载 作者:行者123 更新时间:2023-12-02 21:15:23 25 4
gpt4 key购买 nike

我是 Vim 脚本新手。我需要编写一个脚本,用其他文本包围一段文本。例如:

\surroundingtext{surrounded text}

(是的,它适用于 LaTeX)。我想要突出显示“环绕文本”并发出命令,或者让“环绕文本”成为正则表达式命令的结果。

我想问题是,如何将其放入函数中?

谢谢,杰里米

最佳答案

这就是我所做的:

vnoremap <buffer> <leader>sur "zc\surroundingtext{<C-R>z}<Esc>

这将创建一个视觉模式映射,您可以在其中按字符视觉方式选择 ( v ) 要包围的文本,键入 \sur (假设默认 mapleader\ )并且文本将被您指定的文本包围。

  • "z指定寄存器“z”
  • c告诉 vim 更改视觉上选择的文本,将原始文本放入寄存器 'z'
  • \surroundingtest是左侧
  • <C-R>z告诉 Vim 粘贴寄存器 'z'
  • }是右侧
  • <Esc>让你回到正常模式

我还更进一步,创建了正常模式和插入模式映射:

nnoremap <buffer> <leader>sur i\surroundingtext{}<Esc>i
inoremap <buffer> <leader>sur \surroundingtext{}<Esc>i

您可以将这些映射放在 ~/.vimrc 中文件,但它们会映射到每个 filetype .

对他们来说更好的地方是您的 ~/.vim/after/ftplugin/tex.vim文件,因此它们仅在您的 filetype 时才被映射是 tex 。如果父目录尚不存在,则创建它们。

这假设文件类型正确设置为 tex并且您已启用文件类型插件:

filetype plugin on

关于vim - 需要脚本/函数/命令来用其他文本包围文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6434184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com