我是Vim脚本的新手.我需要编写一个脚本,用一些文本包围其他文本.例如:
\surroundingtext{surrounded text}
Run Code Online (Sandbox Code Playgroud)
(是的,它适用于LaTeX).我想要突出显示"包围文本"并发出命令,或者将"包围文本"作为正则表达式命令的结果.
我想问题是,如何把它放在一个函数中?
谢谢,杰里米
这就是我所做的:
vnoremap <buffer> <leader>sur "zc\surroundingtext{<C-R>z}<Esc>
Run Code Online (Sandbox Code Playgroud)
这将创建一个视觉模式映射,您可以在其中按字符视觉方式选择 ( 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
Run Code Online (Sandbox Code Playgroud)
您可以将这些映射放入您的~/.vimrc
文件中,但它们将为每个filetype
.
对于它们来说,更好的位置是您的~/.vim/after/ftplugin/tex.vim
文件,因此它们仅在您的文件filetype
为tex
. 如果父目录尚不存在,则创建它们。
这假设文件类型设置正确tex
并且您启用了文件类型插件:
filetype plugin on
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
253 次 |
最近记录: |