本系列主要参考于
21世纪的时间宝贵,节奏晃眼,加之甚至好多人没有耐心完整的读一本书一篇报道,鉴于此,本文会以实例加关键字补充来阐述的形式展示.
-----------------书山有路 学海无涯-----------------
目录
更多精彩内容请关注“IT实战联盟”哦~~~
前提声明
1.mac自带vim, 分为四种模式
1. 普通模式(Command mode): 启动vim后默认处于正常模式。不论位于什么模式,按下键(有时需要按两下)都会进入正常模式。
2. 插入模式(Insert mode): 在命令模式下按下i就进入了输入模式。
3. 命令行模式(Last line mode): 在命令模式下按下:(英文冒号)就进入了底线命令模式。
4. 可视化模式(Visual-mode): 在普通模式中按下v, V, +v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。
2.桌面创建文件夹vim,在该目录下操作文档test.txt,
$ pwd
/Users/51testing/Desktop
$ mkdir vim
$ cd vim
$ vim test.txt
熟悉了以上的基本切换步骤,接下来就进入实际操作的步骤
实例一: . [类似于格式刷]
操作word文档时,为统一格式,减少重复操作步骤,一般我们会对统一格式的内容进行格式刷来减少繁余工作,那么首先.命令
就上场了.
在展示之前, 先罗列几个常用的vim命令操作符在普通模式模式下操作
1. x 删除光标所在字符;
2. dd 删除光标所在整行;
3. u 撤销上次操作,回退.
4. >G 增加从当前行到文档末尾处的缩进层级。
实例二: 批量操作段落尾部
如需实现在段落尾部插入;
该怎么做?如果是多行又该怎么做?
首先罗列可能用到的命令
1. $ 将光标移到行尾部;
2. 0 数字0将光标移到行头;
3. a 在当前光标之后添加内容, 普通模式模式自动切换至插入模式;
4. A 等同于 $a ,不论光标在哪儿,都会移至行尾进行插入;
5. j 命令使光标下移一行;
方法1️⃣:
1. $ a ; 说明:移到行尾添加;
2. j $ . 说明:换行移到行尾重复上次操作.
方法2️⃣:
1. A ; 说明: 等同于 $ a 移到行尾添加;
2. j . 说明:换行移到行尾重复上次操作.
实例三: 批量操作空格
编写代码时,我们习惯性会在变量名与操作符等类型情况下,以合适的空格隔开,以便我们肉眼便于区分,那么,如下例子,如何在➕前后留出空格?
var num = 1+2+3;
如果是多行呢?
var num = 1+2+3;
var num1 = 10+20+30;
首先罗列可能用到的命令,看完命令可以静思如何实现
1. s 删除光标所在位置字符,并进入插入模式;
2. f{char} 命令让Vim查找行内下一处指定字符出现的位置;
3. t{char} 命令让Vim查找行内上一处指定字符出现的位置;
3. ; 重复f{char}/t{char}到下一个目标字符上;
方法1️⃣:
1. s 空格加号空格 说明:s删除并进入插入模式,输入空格加号空格,即可完成以上需求.
方法2️⃣:
1. f s 空格加号空格;
2. esc ; . 说明:切换模式,查找下一个目标,重复第一项;
3. j 0 ; . 说明:换行,至行首,查找下一个目标,重复第一项;
实例四 查找/替换
对于一段文本中的某些字符进行替换,将下边文档中的xiaoming
替换为xiaohong
, 该如何实现呢?
xiaoming is a student, xiaoming is a boy;
罗列可能用到的命令,先思考自己操作试试
1. / 字符 在文档中查找下一个匹配项(字符);
2. ? 字符 在文档中查找上一个匹配项(字符);
3. :s/target/replacement 替换;
4. * 可以查找光标所在位置的单词.
5. cw 删除从光标开始到结束的整个单词,进入插入模式;
方法1️⃣
1 :%s/is/are 替换第一个匹配项
2 :%s/is/are 全局替换匹配项
方法2️⃣
1 光标停留在 is
2 cw 删除后输入are
3 esc n 切换命令模式,跳转到下个目标位置
4 . 重复执行以上操作
实例五 删除一个单词
文本如下:
xiaoming is a boy
光标所在位置最后一个字符y
, 需求删除boy
;
1. esc o 快速另起一行;
2. b 词首部;
3. e 词尾部;
4. w 下一个词首部;
5. db 删除从光标所在位置至开头位置字符;
6. dw 删除从光标所在位置至结尾位置字符<直至链接下个词>;
7. de 删除从光标所在位置至词尾部;
8. daw 删除整个单词.
9. cw 删除并进入插入模式
方法1️⃣
1 b de 从前往后删除
方法2️⃣
1 x db 从后往前删除
方法3️⃣
1 daw 直接删除整个单词
如与.
结合使用, 方法3️⃣的效果好于其他做法.
实例六 数值操作
将new替换为old
, 将0px
修改为180px
;
.new { background-position: 0px 0px }
命令罗列
1. ctrl a 将光标后第一个获取到的数字 加 1;
2. ctrl x 将光标后第一个获取到的数字 减 1;
方法1️⃣
1 光标移动至new;
2 cw 删除后输入old;
3 180 ctrl a
实例七 操作符 + 动作命令 = 操作
常见的操作符命令
命令 | 用途 |
---|---|
c | 修改 |
d | 删除 |
y | 复制到寄存器 |
g~ | 翻转大小写 |
gu | 转换为小写 |
gU | 装换为大写 |
> | 增加缩进 |
< | 减少缩进 |
vim的语法只有一个规则,当一个操作符连续调用两次,会用于当前行,如: ap
为该段落 aw
为当前单词等等.
1. >> 缩进当前行;
2. dd 删除当前行;
3. gUU 当前行全部大写;
4. yyp 复制并粘贴当前行;
实例七 注释
添加多行注释
1. ctrl + v进入 visual block模式(可视快模式)
2. 然后按j, 或者k选中多行,把需要注释的行标记起来
3. 按大写字母 I,再插入注释符,例如//
4. 按两下esc键就会全部注释了;
删除多行注释
1. ctrl + v进入 visual block模式(可视快模式);
2. 选中两行在往下拉需要删除的行;
3. d 可全部删除
上下左右切换除了可以用四个箭头的键盘,还可用
1. h 左
2. j 下
3. k 上
4. l 右
参考
书籍---<<.Vim实用技巧>>