Vim实用技巧

Vim实用技巧——持续更新

普通模式

  • u undo
  • reundo
操作符+动作命令=操作

操作符单独不可用,像c(change)、d(delete)、y(复制),:h operator可以查看所有的有限操作符;: h :map-operator查看如何自定义操作符

  • C重写当前位置到行尾,=c$
  • D删除当前到行尾,=d$
  • y有点不同,Y=yy复制整行
  • cb/db/yb改变删除或复制当前单词到光标处前
  • caw/daw/yaw替换删除或复制光标所在单词+后边的空格
  • cc 重写当前行
  • dd删除当前行

-guaw/gUaw/g~aw改变当前单词的大小写(全部变)

复合命令
  • A=$a
  • I=^i
  • S重写当前行,=cc=^C
  • s当前字符替换成一个字符串,=cl
  • .重复上次修改(微型宏)
  • qx{operations}q录制宏
  • @x进行宏的执行(.不能重复宏的执行,只能重复最近的一次修改)

插入模式

  • 删除前一个单词
  • 删除至行首
  • <c-[>切换到正常模式,代替esc
  • 切换到正常模式执行后返回
  • 复制寄存器的内容
  • =计算的值插入当前光标处

替换模式

  • R,或者Insert键

可视模式

V/ 行和列选
gv选中上次的区域
o切换高亮选区的活动端

场景

  1. 查找/替换
    f/F单行查找
  • ;顺着方向查
  • ,逆着方向查
    /string全局查找,或:/string
  • n/N
    全局替换
    :%s/olds/news/g
    手动遍历替换(完整匹配单词)
> *(完整匹配光标所在单词)
> 选择性的cw
> n
> .
  1. 若干行尾部加同样的东西,如;
> $
> c-v
> 移动来选中行(eg.5j)
> A
> ;
> esc

同样的行首加
> ^;c-v;移动来选中行;I;<head>;esc;
  1. 调整代码格式
>/</=缩进(操作符)
>>/<</==缩进当前行
>G/<G/=G缩进当前行到尾行
  • 拼接字符串的‘+’变为‘ + ’
> f
> +
> s
> space + space esc
> **;**
> .
> ;.
  • 注释
    安装commentary.vim 插件,提供了gc操作符
    gcc注释当前行
    gcG
    gcap
  1. 数字运算
  • / 对当前光标下或其后的第一个数字执行减减或加加
  • 5/ = -5/+5
  • Insert mode =插入运算结果到当前位置
  1. 写作
  • zz调整当前行到屏幕中央,c-o zz
  1. 划线
  • 横线
> yyp
> Vr-
  • 竖线
> <c-v>9j
> r|

作为ide

除了基本的会计键外,可以通过修改vim的配置文件实现编译运行程序(在 VimScript 中函数名必须以大写字母开头,否则 Vim 将提示错误;exec 关键字之后的都会在Vim 的命令模式下执行)

create functions in vim .vimrc
类似地:
create function in vim for python

create function in vim for java
autocmd 实现这个,执行不同程序设计语言编译出的代码。
autocmd in vimrc

comments powered by Disqus