DelimitMate.vim -- 如何在三引号内展开 return?
DelimitMate.vim -- how can I expand return inside triple quotes?
写python文档字符串时,经常需要这样做:
"""
this is a docstring
"""
在 vim 中,使用 DelimitMate.vim,我会这样做:
- 键入
"""|
然后得到 """|"""
按 <CR>
得到这个:
"""
|"""
这不是很令人满意,因为我必须在完成字符串后再次键入 <CR>
,有什么方法可以在 """|"""
中键入 <CR>
得到这个:
"""
|
"""
你应该用类似的东西自己测试它:
:inoremap <expr> <cr> getline('.')[col('.')-4:col('.')+1]=='""""""' ? "<cr><esc><up>o" : "<cr>"
备注:
- 我还没有检查它是否会在 Python
中得到正确的缩进
- 如果这仅适用于 python,请将
<buffer>
添加到映射中,并在 python ftplugin 中定义它
- 此映射不检查上下文或任何其他内容。
没仔细看文档,有这个选项:
au FileType python let b:delimitMate_expand_inside_quotes = 1
这正是我想要的。
这是我的 vimrc 如果上面的行不适合你。
写python文档字符串时,经常需要这样做:
"""
this is a docstring
"""
在 vim 中,使用 DelimitMate.vim,我会这样做:
- 键入
"""|
然后得到"""|"""
按
<CR>
得到这个:""" |"""
这不是很令人满意,因为我必须在完成字符串后再次键入 <CR>
,有什么方法可以在 """|"""
中键入 <CR>
得到这个:
"""
|
"""
你应该用类似的东西自己测试它:
:inoremap <expr> <cr> getline('.')[col('.')-4:col('.')+1]=='""""""' ? "<cr><esc><up>o" : "<cr>"
备注:
- 我还没有检查它是否会在 Python 中得到正确的缩进
- 如果这仅适用于 python,请将
<buffer>
添加到映射中,并在 python ftplugin 中定义它
- 此映射不检查上下文或任何其他内容。
没仔细看文档,有这个选项:
au FileType python let b:delimitMate_expand_inside_quotes = 1
这正是我想要的。 这是我的 vimrc 如果上面的行不适合你。