【发布时间】:2010-09-10 18:27:24
【问题描述】:
在 Vim 中,这是一个快速的 3 字符命令来更改当前引用字符串(例如,ci")中的内容,但是有没有简单的方法来更改当前光标周围的引号类型?
有时我需要从 "blah" 到 """blah""" 或 "blah" 到 'blah'(在 Python 源代码中),理想情况下我希望使用默认的键绑定快速完成。
【问题讨论】:
在 Vim 中,这是一个快速的 3 字符命令来更改当前引用字符串(例如,ci")中的内容,但是有没有简单的方法来更改当前光标周围的引号类型?
有时我需要从 "blah" 到 """blah""" 或 "blah" 到 'blah'(在 Python 源代码中),理想情况下我希望使用默认的键绑定快速完成。
【问题讨论】:
试试surround.vim 插件。我发现它是任何 vim 安装的重要补充。
【讨论】:
ysa""wysa""。值得放入宏或绑定它。例如,:noremap <C-c> :normal ysa""wysa""<CR> 会将其绑定到 Ctrl+c。或者,您可以将:noremap <C-c> :normal ysiw"w<CR> 映射为用引号将任何一个单词括起来,然后按Ctrl+c 或任何您的绑定n 次以添加n 引号集。
Surround.vim 很棒,但我认为它不能直接满足您的三引号需求。
我按照这些思路做的事情(当环绕不合适时)是使用%,进行更改,然后双反引号回到起点。例如。如果光标位于单引号字符串中的某处,请执行f'%,进行更改,然后双反引号和.。
【讨论】: