vim 基础学习之普通模式
.操作 = 操作符 + 动作
aaa bbb
例如,d是删除命令,b是移动到距离光标最近的字符串开头
当我们执行db的时候,就会删除光标(不包括光标位置)到最近字串开头之间的字符
dj则会删除光标所在行以及下一行
.a i 文本对象
所谓的文本对象,说白了其实就是专门操作文本的
他们两个的区别就是
a -操作范围包括边界
i -操作范围不包括边界
例如 aaa bbb ccc
当我们光标处在第二个b的时候,我们执行 viw,你会发现bbb 高亮。如果你执行vaw
你会发现bbb后面的空格也会高亮,如果后面没有ccc,前面的空格会高亮
对于字符串 {aaa},如果你执行va{,那么{aaa}整个都会高亮;如果你执行vi{,那么只有aaa会高亮
.<C-a> <C-x> 数字的加减
<C-a>-可以实现下一个数字的增加
<C-x>-可以实现下一个数字的减少
他们还都支持,在命令前面增加数字n,实现 +n 或者-n的效果
例如
zhangshuli 28 19880123
光标处在开头,你执行
2<C-a>,那么28会变成30
然后你把光标移动到1988的1上,
执行23<c-x>,那么19880123会变成19880100
.~ g~ gu gU 大小写转换操作
~-可以实现光标所在位置字符的大小写转换
g~ + 动作-可以实现光标到动作结尾之间位置字符的大小写转换
gu + 动作-可以实现光标到动作结尾之间位置字符的小写转换
guu + 动作-可以实现整行小写转换
gU + 动作-可以实现光标到动作结尾之间位置字符的大写转换
gUU + 动作-可以实现整行大写转换
.ap 段落命令
它可以操作整个段落
例如
aaa bbb ccc
aaa bbb ccc
光标在第一行,然后我们执行dap
你就会发现,你删除了这两行,包括下面的空行
也就是,它会把这两行当做一个段落(应该是按空行区分的)
vim 基础学习之普通模式的更多相关文章
- vim 基础学习之查找
普通模式下 /->正向查找 n-向下查找 N-向上查找 ?->反向查找 N-向下查找 n-向上查找 <C-r><C-w> <C-r>-引用,例如引用寄存 ...
- vim 基础学习之插入模式
插入模式1.字符编码,插入特殊字符 <C-v>{3位} 如,你想输入A,你可以在输入模式下<C-v>065(必须是3位) <C-v>u{4位} 如,你想输入¿,你可 ...
- vim 基础学习之替换
替换命令substitute可以用来查找跟替换操作. :[range]s[ubstitute]/{pattern}/{string}/[flags] [count] range-命令作用范围(缺省的情 ...
- vim 基础学习之global
global命令可以在指定模式下,匹配行上进行Ex命令 使用格式: :[range]g[lobal]/{pattern}/[cmd] range-是执行范围(如果缺省,是%) global-命令关键字 ...
- vim基础学习之搜索功能
当我们使用vim看源码的时候,我们可能会碰到一个方法或者变量,我们想要知道这个变量在其他地方的使用情况.这时候我们经常的做法就是退出当前的文件,或者是重新切换一个终端,然后使用grep或者find等s ...
- vim基础学习之自动补全功能
本章我们学习自动补全功能1.自动补全优先从当前的编辑区获得补全列表例如:我们写下如下内容 aaaaa aabbb aaab 当我们再次输入aa,然后我们按下Tab的时候,会弹出一个包含 aaaaa a ...
- vim基础学习1---简单命令
1:vim abc:如果有abc文件,则打开,否则创建之后打开 2:输入"i",才可以输入东西 3:按Esc,它是底行模式,再敲":wq 回车" 保存退出. 4 ...
- vim 基础学习之文件跳转
1. ''-当前文件上次跳转之前的位置2. '.-当前文件上次修改的位置,只要是发生了可能导致变化的命令操作就会被标记,哪怕实际结果没有变化3. '^-当前文件上次插入的位置,只要是发生了插入操作命令 ...
- vim基础学习之EX命令
:tabnew -创建新标签 :split(sp)-垂直分割窗口 如果没有打开新的文件,那么会打开原来窗口的文件 :vsplit(vsp)-水平分割窗口 如果没有打开新的文件,那么会打开原来窗口的文件 ...
随机推荐
- AD域导入导出命令
AD域 批量组织机构.用户导入导出 参考网站 https://technet.microsoft.com/zh-cn/library/cc753447(v=ws.11).aspx 导入所有命令 均cm ...
- SQL流程控制语句
1 GoTo语句 IF 12>9GOTO print1ELSE GOTO print2 print1:PRINT '执行了流程1'--GOTO theEndprint2:PRINT '执行了流程 ...
- [SCOI2008]着色方案 递推 记忆化搜索
我们发现 $c_{i}$ 和 $k$ 的规模非常小我们还发现每种颜色的位置是不必知道的,只要这种颜色和相邻的颜色种类不同即可.定义状态 $f[a][b][c][d][e][last]$,代表有 $a$ ...
- [POI2002][HAOI2007]反素数 数论 搜索 好题
题目描述: 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4, ...
- 在ubuntu上使用华为的3G无线上网卡 - usb_modeswitch
众所周知,华为或者中兴的无线上网卡是比较好用的,U盘一样的东西,插进电脑的Usb口就能用,但是,这只是针对windows操作系统而言. 对于linux系统,该设备是无法自动加载驱动的. 因此,需要用到 ...
- 题解 P2195 【HXY造公园】
天哪这道题竟然只有一篇题解! emm,首先读题看完两个操作就已经有很明确的思路了,显然是并查集+树的直径 一波解决. 并查集不多说了,如果不了解的可以看这里. 树的直径的思路很朴实,就是两边DFS(B ...
- 【Codeforces Round #423 (Div. 2) B】Black Square
[Link]:http://codeforces.com/contest/828/problem/B [Description] 给你一个n*m的格子; 里面包含B和W两种颜色的格子; 让你在这个格子 ...
- 转载-- Qt Creator编译时make: arm-linux-g++: command not found 错误!
前提是已经配置好交叉编译器,但是qt creator找不到. 解决方法: 修改 /usr/local/Trolltech/QtEmbedded-4.7.0-arm/mkspecs/qws/linux- ...
- vue24-webpack+vue-loader
手动配置自己: webpack+vue-loader webpack加载模块 ------------------------------------- 如何运行此项目? 1. npm install ...
- vue4 属性 class style
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...