Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 1.21 KB

01_vim16.md

File metadata and controls

49 lines (34 loc) · 1.21 KB

vim 16

如何删除一个函数

匹配括号

可以通过 % 来匹配:

  • [] 中括号
  • () 小括号
  • {} 大括号

根据缩进匹配范围

有一些语言是通过缩进来描述范围的,例如 python

def foo():
    bar = "hello world"
    print(bar)
    def baz():
        print("hello world")
    pass

那么 vim-indent-object 就可以通过缩进来匹配范围:

  • vii 选中当前缩进范围中的内容
  • vai 选中当前和上一行
  • vaI 选中当前和上下一行

练习场

function hello_world() {
  console.log('hello world')
}

删除一个函数的方式

  • dip 基于段落来删除,注意若出现空行,则不会视为一个段落,所以这种方式不完美
  • daI 使用 indent-object 匹配范围,但是必须要在函数体内进行匹配,所以这种方式也不是很完美
  • V$%d 首先进入行的可视化模式 V, 然后 $ 到当前行的末尾,% 匹配花括号,最后 d 删除
    • 但是注意,如果参数较多,导致参数换行了,那么就需要按两次 $%d

最后一种方式是最推荐的,但是由于按得比较多,所以可以映射一下

  • <Leader>df 映射为 V$%d