nvim-surround
围绕选择,时尚有型 :墨镜:
:火花: 特性
- 添加/删除/更改围绕对
- 开箱即用的函数调用和HTML标签
- 点命令重复上一个操作
- 设置缓冲区局部映射和围绕对
- 跳转到最近的围绕对进行修改
- 使用单个字符作为多个文本对象的别名
- 例如,
q
是`,',"
的别名,所以csqb
将最近的一组引号替换为括号
- 例如,
- 使用依赖于用户输入的强大对进行围绕
- 修改自定义围绕对
- 对Vim动作、Lua模式和Tree-sitter节点的一流支持
- 高亮选择以获得视觉反馈
:锁: 要求
- Neovim 0.8+
- [推荐] 如果安装了nvim-treesitter,则可以围绕和修改Tree-sitter节点,除了Vim动作和Lua模式之外
- [推荐] 如果安装了nvim-treesitter-textobjects,则可以使用Tree-sitter文本对象来定义围绕对,简化配置
:包裹: 安装
使用您喜欢的插件管理器安装此插件,然后调用require("nvim-surround").setup()
。
lazy.nvim
{
"kylechui/nvim-surround",
version = "*", -- 使用稳定版;省略以使用`main`分支获取最新功能
event = "VeryLazy",
config = function()
require("nvim-surround").setup({
-- 在此处进行配置,或留空以使用默认设置
})
end
}
packer.nvim
use({
"kylechui/nvim-surround",
tag = "*", -- 使用稳定版;省略以使用`main`分支获取最新功能
config = function()
require("nvim-surround").setup({
-- 在此处进行配置,或留空以使用默认设置
})
end
})
:火箭: 使用
三个"核心"操作添加
/删除
/更改
可以分别使用键映射ys{动作}{字符}
、ds{字符}
和cs{目标}{替换}
完成。对于以下示例,*
将表示光标位置:
旧文本 命令 新文本
--------------------------------------------------------------------------------
surr*ound_words ysiw) (surround_words)
*make strings ys$" "make strings"
[delete ar*ound me!] ds] delete around me!
remove <b>HTML t*ags</b> dst remove HTML tags
'change quot*es' cs'" "change quotes"
<b>or tag* types</b> csth1<CR> <h1>or tag types</h1>
delete(functi*on calls) dsf function calls
关于如何使用此插件的详细信息可以在:h nvim-surround.usage
中找到。
:齿轮: 配置
默认配置可以在这里找到。只需使用所需选项调用require("nvim-surround").setup
或require("nvim-surround").buffer_setup
即可。
关于如何配置此插件的更多信息可以在:h nvim-surround.configuration
中找到。
贡献
请参阅贡献文件。
致谢
- vim-surround
- mini.surround
- vim-sandwich
- 喜欢这个项目吗?给它一个:星星:来表示你的支持!