当你的光标处于引起来的句中任何位置时,你可以用 ds" 组合键删除句子两端的双引号。
Vim plugins are awesome !
你也可以用 cs"' 把双端的双引号换成单引号:
'Vim plugins are awesome !'
或者再用 cs'[ 替换成中括号:
[ Vim plugins are awesome ! ]
它对编辑 HTML 或 XML 文本中的标签尤其在行。假如你有以下一行 HTML 代码:
<p>Vim plugins are awesome !</p>
当光标在 “awesome” 这个单词的任何位置时,你可以按 ysiw<em> 直接给它加上着重标签(<em> ):
<p>Vim plugins are <em>awesome</em> !</p>
注意它聪明地加上了 </em> 闭合标签。
Vim Surround 也可以用 ySS 缩进文本并加上标签。比如你有以下文本:
<p>Vim plugins are <em>awesome</em> !</p>
你可以用 ySS<div class="normal"> 加上 div 标签,注意生成的段落是自动缩进的。
<div class="normal"> <p>Vim plugins are <em>awesome</em> !</p> </div>
Vim Surround 有很多其它选项,你可以参照 GitHub 上的说明尝试它们。
4、Vim Gitgutter
Vim Gitgutter 插件对使用 Git 作为版本控制工具的人来说非常有用。它会在 Vim 的行号列旁显示 git diff 的差异标记。假设你有如下已提交过的代码:
1 package main 2 3 import "fmt" 4 5 func main() { 6 x := true 7 items := []string{"tv", "pc", "tablet"} 8 9 if x { 10 for _, i := range items { 11 fmt.Println(i) 12 } 13 } 14 }
当你做出一些修改后,Vim Gitgutter 会显示如下标记:
1 package main 2 3 import "fmt" 4 _ 5 func main() { 6 items := []string{"tv", "pc", "tablet"} 7 ~ 8 if len(items) > 0 { 9 for _, i := range items { 10 fmt.Println(i) + 11 fmt.Println("------") 12 } 13 } 14 }
_ 标记表示在第 5 行和第 6 行之间删除了一行。~ 表示第 8 行有修改,+ 表示新增了第 11 行。
另外,Vim Gitgutter 允许你用 [c 和 ]c 在多个有修改的块之间跳转,甚至可以用 Leader+hs 来暂存某个变更集。
这个插件提供了对变更的即时视觉反馈,如果你用 Git 的话,有了它简直是如虎添翼。
5、VIM Fugitive
(编辑:ASP站长网)
|