跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页

vim surround 插件的使用方法和操作快捷键

由 hrs, 26 二月, 2022

surround 插件可以快速编辑围绕在内容两端的字符(pairs of things surrounding things),比如成对出现的括号、引号,甚至HTML/XML标签等。

安装配置
推荐您使用vim-plug或Vundle等插件管理器,来安装GitHub上的surround插件。

以下将利用实例来介绍surround插件的主要功能,请注意:

在“原始文本”列中,高亮文字表示光标所在位置;
在“命令”列中,为顺序执行的命令序列。
在“更改效果”列中,为命令执行之后的结果。请参考实例文件并自行测试。
新增环绕字符
在常规模式、插入模式和可视化模式下,可以分别使用ys和S命令来新增环绕字符:

surround00.jpg

请注意:

插入模式下的操作:
首先同时按下CTRL-g键;
然后松开CTRL键;
最后点击s或S键,并输入环绕字符或标签。
可视化模式下的操作:
首先使用快捷键进入不同类型的可视化模式。
比如在Windows下,使用CTRL-Q键进入块视化模式;
然后使用j等移动命令来选中文本;
最后点击S键,并输入环绕字符或标签。
修改环绕字符
使用cs命令可以修改环绕字符:

surround01_0.jpg
删除环绕字符
使用ds命令可以删除环绕字符:

surround02_0.jpg
surround插件主要提供以下命令:

 

ys添加环绕字符
yS添加环绕字符并拆分新行
yss为整行添加环绕字符
ySS为整行添加环绕字符并拆分新行
cs修改环绕字符
cS修改环绕字符并拆分新行
ds删除环绕字符
surround插件可以识别并处理以下目标实体:

( )
{ }
[ ]
< >
`
"
'
t(标签)
w(单词)
自定义快捷键
如果查看surround插件的源码,将会发现快捷键逐一定义在surround.vim文件中:

surround03_0.jpg
也就是说,我们可以直接在vimrc配置文件中,重置或取消插件预定义的快捷键:

" 不定义任何快捷键
let g:surround_no_mappings = 1
" 从plugin/surround.vim复制快捷键定义
” 并按需要进行修改
nmap ds <Plug>Dsurround
nmap cs <Plug>Csurround
nmap cS <Plug>CSurround
nmap ys <Plug>Ysurround
nmap yS <Plug>YSurround
nmap yss <Plug>Yssurround
nmap ySs <Plug>YSsurround
nmap ySS <Plug>YSsurround
" 取消不需要的快捷键
"xmap S   <Plug>VSurround
"xmap gS  <Plug>VgSurround
"imap   <C-S> <Plug>Isurround
imap    <C-G>s <Plug>Isurround
imap    <C-G>S <Plug>ISurround
假设需要输入以下包含多个环绕字符的文本:

{{ nginx_root }}
由于surround插件并不支持.重复命令,如果想要新增多个成对字符,那么需要安装额外的repeat.vim插件。而死板繁琐的替代方案是,自定义快捷键来重复执行命令:

nmap <C-J> ysiw}lysiw{
使用以下命令,可以查看插件的帮助文件:

:help surround

  • 登录或注册以发表评论
  • 535 次浏览
内容类型分类
操作系统与运用
文章归类
Linux

文章标签

  • surround

评论

最新文章

  • mysql 签名无效更新报错误问题
  • 网站用户会员积分设计方案
  • Views Bulk Operations (VBO) 这个模块有什么作用,应用场景是什么。
  • 配置一个完整的Web服务器环境(LNMP:Linux + Nginx + MySQL + PHP)。
  • Nginx 各种应用场景
  • 什么是无头cms
  • 什么是站群
  • drupal 10如何配置nginx 服务器
  • nginx 多站点配置方法
  • OpenClaw 帮助文件的翻译版本
更多

标签云

adsenseAIApacheaptbadblocksbreadcrumbbrewcentoscertbotckeditorcommandcomposercookiecsharpCSScurlC语言DDEVdiffdnsdockerDreamweaverDrupaldrupal 7drupal 8drupal 9drupal10drupal 11drushExcelfirewalldfirmwareflameshotformgimpgitgzipHTMLHTML5httpdhttp验证inputipjavaJavaScriptJavaSrciptkernelKVMLinuxmavenmbstringmod_expires 模块MysqlnerdtreenetstatnetworknginxnpmOpenClawpasswordphpphpmyadminphp扩展RFIDRSSselinuxSEOsharesimple_adsensesshsslStatisticssuperfishsurroundtagcloudstitleubuntuuploadprogressViews Bulk OperationsvimVPNVUEweb服务器WireGuardwpsxdebugyoutubeyumzip主题主题(theme)二进制五笔分类术语压缩解压哈希值声音字段密码工作流快捷键摄影无头cms更新权限果树种植标签优化模块模块(module)源地址版本号电子秤电脑基础电脑技巧短信验证积分站群端口简介算法网站备份网站安全网站运营翻译英语表单视图(views)计算机基础赚钱超五类线网线邮件验证重定向重定向,301错误颜色

相关文章

  • 配置一个完整的Web服务器环境(LNMP:Linux + Nginx + MySQL + PHP)。
  • Nginx 各种应用场景
  • 什么是无头cms
  • 什么是站群
  • drupal 10如何配置nginx 服务器
  • nginx 多站点配置方法
  • OpenClaw AI助手成本优化完全指南:从每天1900万Token降到合理范围
  • vim 复制粘贴的几种方法
  • OpenClaw 2026.4.2 命令简介
  • brew 是什么命令
RSS源

关于我们

  • 你行网简介
  • 关于我们
  • 版权声明

网站相关

  • 社区论坛
  • 站点反馈
  • 网址导航
  • 网站地图

友情链接

  • 申请链接
  • 英文学习

友情链接2

  • drupal 大学
  • 水滴间
  • 爱码网
  • Apache

友情链接3

  • MySQL
  • php
  • drupalcode

友情链接4

  • Drupal 中国
  • Drupal 老葛
  • 宁浩网
  • drupal 台湾
Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号-1