atom-vim-mode-plus-keymaps-for-surroundprovides default keymap for surround

联合创作 · 2023-09-28 00:15

Whats' this?




🚨
This package provide keymaps only. surround feature itself is provided by vim-mode-plus itself.


Provides default surround keymaps for vim-mode-plus.


Provides following keymaps.


Unlike tpop's vim-surround. d s, c s auto-detect pair char to delete/change.
But this is not perfect, if fail, try manual version d S, c S.










































Mode Keystroke Description
normal y s surround e.g. y s i w (
normal d s delete-surround-any-pair. auto-detect surrounding char. e.g. d s
normal d S delete-surround e.g. d s (
normal c s change-surround-any-pair. auto-detect surrounding char. e.g. c s {
normal c S change-surround. auto-detect e.g. c s ( {
visual S surround selected text. S (

Don't want to move cursor after surround operator?


From setting-view of vim-mode-plus, Check stayOnTransformString.


Explain behavior details in pseudo DSL



# Normal-mode
# -------------------------
# Set base text. cursor is `|`.

text = """
pen pin|eapple
apple pen
"""

# y s
# -------------------------
setText(text)
normal 'y s i w {',
text: """
pen {pineapple}
apple pen
"""

# `y s s` surround current line
setText(text)
normal 'y s s {',
text: """
{pen pineapple}
apple pen
"""

# d s
# -------------------------
text = """
pen pineapple
(apple {pe|n})
"""

# `d s` delete surrounding char by auto-detect
setText(text)
normal 'd s',
desc: "auto detect `{`"
text: """
pen pineapple
(apple pen)
"""

normal 'd s',
desc: "auto detect `(`"
text: """
pen pineapple
apple pen
"""

setText(text)
normal 'd S (',
desc: "manually specify surrounding char"
text: """
pen pineapple
apple {pen}
"""

# c s
# -------------------------
text = """
pen pineapple
(apple {pe|n})
"""
setText(text)

normal 'c s "',
text: """
pen pineapple
(apple "pen")
"""
normal 'c s [',
text: """
pen pineapple
(apple [pen])
"""

normal 'c S [ <',
text: """
pen pineapple
(apple <pen>)
"""

normal 'c S ( {',
text: """
pen pineapple
{apple <pen>}
"""

# Visual-mode selected-area is | to |
# -------------------------
text = """
pen pi|neap|ple
apple pen
"""
setText(text)

visual 'S {',
text: """
pen pi{neap}ple
apple pen
"""

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报