vimscrip学习——基础
@([03] Vim)
插入模式下操作
快速跳转到插入-普通模式: <c-o>
不离开插入模式,粘贴寄存器中的文本:<c-r>0
做运算:<c-r>=
用二合字母插入非常用字符:<c-k>{char1}{char2}
用替换模式替换已有文本:R
命令可以由普通模式进入替换模式,等同于按键Ins
可视模式
三种可视模式
1. 操作字符文本
2. 操作行文本
3. 操作块文本
进入字符可视模式:v
进入行可视模式:V
进入列块可视模式:<c-v>
切换高亮选区的活动端:o
可视模式下的i
和a
不再是插入,而是被当做一个文本对象的组成部分。
命令行模式
table
命令 | 操作 |
---|---|
:tabnew [++opt选项] [+cmd] 文件 | 建立对指定文件新的tab |
:tabc | 关闭当前的tab |
:tabo | 关闭其他所有tab |
:tabs | 查看所有打开的tab |
:tabp | 查看前一个tab |
:tabn | 查看后一个tab |
gt | 在tab之间切换 |
数字gt | 切换到指定tab,比如:2gt |
最有用的一些命令
命令 | 操作 | 简写 | 举例 |
---|---|---|---|
:[range]delete [x] | 删除指定范围内的行[到寄存器x中] | ||
:[range]yank [x] | 复制指定范围的行[到寄存器x中] | ||
:[range]put [x] | 在指定行后粘贴寄存器x中的内容 | ||
:[range]copy {address} | 把指定范围内的行拷贝到address所指定的行之下 | :t | :6t. 将第6行复制到当前行下方 |
:[range]move {address} | 指定范围内的行移动到{address}所指定的行之下 | :m | :3,5m$ 将第3-5行移动到文件结尾 |
:[range]join | 连接指定范围内的行 | ||
:[range]normal {commands} | 对指定范围内的每一行执行普通命令 {commands} | :%normal i// 在全文的每一行前面加// | |
:[range]substitute/{pattern}/{string}/{flags} | 把自定范围内出现{pattern}的地方替换为{string} | ||
:[range]global/{pattern}/[cmd] | 对指定范围内匹配{pattern}的所有行,在其上执行Ex命令{cmd} |
重复上一次命令行: @: