[Vim] 03 凡人进阶
目录
0. 前言
- 上回 [Vim] 01 凡人操作 已经提及的,本次略过
1. 按下 Esc, 进入编辑模式
(1) 定位
| 命令 | 释义 |
|---|---|
| ^ | 将粗光标定位到行首 |
| b | 1) 将粗光标定位到所在“单词”首位 2) 若已经在词首,则跳到上一个(若有)词的词首 3) 这里的“单词”并非严格意义的单词,变量名也算;遇到标点符号也会被分割 |
| e | 1) 将粗光标定位到所在“单词”末尾 2) 若已经在词尾,则跳到下一个(若有)词的词尾 |
| w | 将粗光标定位到下一个(若有)“单词”的词首 |
(2) 删除
1) 不进入插入模式的删除
| 命令 | 释义 |
|---|---|
| d0 | 1) 0 为数字 2) 在粗光标所在行,删除粗光标之前的所有字符 |
| d^ | 同上面的 d0 |
| d$ | 在粗光标所在行,将粗光标前移一个字符,然后删除粗光标之后的所有字符 |
| db | 在粗光标所属“单词”中 1) 若粗光标不在词首,则删除粗光标之前的所有字符,粗光标选中的字符不变 2) 若粗光标在词首,则向左删除至前一个“单词”的词首,粗光标选中的字符不变 |
| de | 在粗光标所属“单词”中 1) 若粗光标不在词尾,则删除粗光标选中处及其后的所有字符, 粗光标跳到原词末尾的右边一格 2) 若粗光标在词尾,则从粗光标选中字符开始向右删除至后一个“单词”的词尾, 粗光标跳到被完整删除的”单词“的右边一格 |
| dw | 从粗光标选中处开始向后删至下一个”单词“的词首(不包括词首) |
| dh | 删除粗光标左边的一个字符(若有),粗光标选中的字符不变 |
| X | X 为大写,效果同上面的 dh |
| dl | 1) l 是 L 的的小写 2) 若粗光标不在行尾,则删除粗光标选中的字符,粗光标跳到原字符的右边一格 3) 若粗光标在行尾,则删除粗光标选中的字符后,粗光标跳到新的行尾 |
| x | x 为小写,效果同 del键与上面的 dl |
| dj | 删除粗光标所在行及其下一行,粗光标跳到原行的下下行行首 |
| dk | 删除粗光标所在行及其上一行,粗光标跳到原行的下一行行首 |
| dgg | 删除从全篇开头到粗光标所行的所有内容,粗光标跳到原行的下一行行首 |
| dG | 删除从粗光标所行到全篇结尾的所有内容,粗光标跳到原行的上一行行首 |
2) 进入插入模式的删除
| 命令 | 释义 |
|---|---|
| s | 1) s 为小写 2) 删除粗光标所选中的字符,并进入插入模式 |
| S | 1) S 为大写 2) 清空粗光标所在行,并进入插入模式 3) 进入插入模式的光标留在该行 |
| C | 1) C 为大写 2) 在粗光标所在行,从粗光标选中字符开始删至行尾,并进入插入模式 |
| c$ | c 为小写(此表从这一行开始,下方的 c 均为小写),效果同上面的 C |
| c0 | 相当于执行 d0 后,进入插入模式 |
| c^ | 效果同上面的 c0 |
| cb | 相当于执行 db 后,进入插入模式 |
| ce | 相当于执行 de 后,进入插入模式 |
| cw | 相当于执行 dw 后,进入插入模式 |
| ch | 相当于执行 dh 后,进入插入模式 |
| cl | 相当于执行 dl 后,进入插入模式 |
| cj | 删除粗光标所在行,清空其下一行并进入插入模式,光标跳到原行的下一行行首 |
| ck | 删除粗光标所在行,清空其上一行并进入插入模式,光标跳到原行的上一行行首 |
| cc | 清空粗光标所在行并进入插入模式 |
3. 10 个特殊字符
.、*、[、]、^、%、/、?、~、$
在使用搜索命令时,若遇到以上 10 个特殊字符,需在前加上转义字符
\上回说到的搜索命令为
/String,其实,使用?String也行
4. 在 gVim 下执行命令
(1) 执行 Shell 命令
:! ls / # 使用 ls
:w filename # 文件另存为,新文件名为 filename
(2) 局部内容另存为
- 按组合键
ctrl + v进入可是模式 - 使用方向键选择内容
- 按组合键
shift + :进入命令模式 - 输入
w filename进行另存为,新文件名为 filename - 若上一步输入
w! filename,意为强制覆盖
(3) 合并文件
:r filename # 将 filename 这个文件中的内容添加到当前文件中
(4) 打开多个文件
- 在命令行下
- 需要设置好 gVim 的环境变量
- 进入目标文件夹
- 输入
vim -o filename1 filename2 ...,其中 o 为小写字母,文件垂直分布 - 输入
vim -O filename1 filename2 ...,其中 O 为大写字母,文件水平分布 - 用
ctrl + w + w可以在各文件中切换 - 用普通方法,如
:q、:wq、q!、:wq!、ZZ等可以一个一个地退出 - 用
:wqa、:qa!可以一起退出
5. 致谢
- 几年前的某个暑假,在网上搜到“小甲鱼”老师的《VIM 快速入门》”公开课
- 虽然不是计算机专业,但因为好奇听了课并做了笔记。现在翻出了当时做的笔记,整理了这篇随笔
- 在此感谢“小甲鱼”老师
- 我在网上找到了当时的课程,在此附上地址:VIM 快速入门
[Vim] 03 凡人进阶的更多相关文章
- [Vim] 01 凡人操作
历史评价 编辑器之神 一个凡人的自我修养 成神是不可能成神的,只能是先入个门,然后一点一点学 Vim 官网 三种模式 插入模式(注意看光标) 命令模式(注意看光标) 编辑模式(注意看光标) 其实还有一 ...
- 03: django进阶篇
1.1 cookie 1.cookie简介 1. cookie实质就是客户端硬盘中存放的键值对,利用这个特性可以用来做用户验证 2. 比如:{“username”: “dachengzi”} #再次访 ...
- 打造适合自己的vim编辑器方法总结
vim使用方法总结 说明:这是打造适合自己的vim编辑器的进阶方法,关于vim基础知识,请自行百度.也可参考文章末尾推荐blog网址 如果觉得自己打造vim编辑器麻烦,可以从github上面克隆一个, ...
- 一段奇妙的vim编辑器之旅
一.背景 对于Linux服务器上的操作,我们往往少不了使用vim,而有时候我对vim的使用并没有那么的熟练和深入,这周就深入的学习了vim的使用,包括入门和进阶,先分享给你们,也方便自己以后复习查询. ...
- 随处可编辑的编辑器之神VIM
据说这世界上只有三种编辑器:Vim,Emacs 和 其他编辑器,其中 Vim 被称作编辑器之神,Emacs 被称作神的编辑器,当然,其他编辑器永远只能是其他编辑器. 拿一位 网友的话 来说,VIM 的 ...
- 看漫画就能学SQL,简直太cool了
对于SQl, 很多人学不会的原因是从一开始就没明白,学这东西能干啥,学会了能有什么用.甚至有些人不知道'SQL'应该怎么读,以至于一开始兴致勃勃,但是学到一半放弃了. 注意:'sql'真的不能读成'烧 ...
- 第3篇K8S集群部署
一.利用ansible部署kubernetes准备: 集群介绍 本系列文档致力于提供快速部署高可用k8s集群的工具,并且也努力成为k8s实践.使用的参考书:基于二进制方式部署和利用ansible- ...
- [No00004F]史上最全Vim快捷键键位图(入门到进阶)
史上最全Vim快捷键键位重磅来袭!!学习Linux的朋友看过来啦,你是不是觉得Linux编辑器Vim操作复杂,步骤繁琐呢?Linux工程师是不是想大幅度提升自己的工作效率呢? 经典版 下 ...
- 【T-SQL进阶】03.执行计划之旅-1
到大牛们说执行计划,总是很惶恐,是对知识的缺乏的惶恐,所以必须得学习执行计划,以减少对这一块知识的惶恐,下面是对执行计划的第一讲-理解执行计划. 本系列[T-SQL]主要是针对T-SQL的总结. T- ...
随机推荐
- deviceiocontrol与ioctl
驱动配置设置,配置 ioctl --linux 平台 https://blog.csdn.net/coolwriter/article/details/78242256
- VMware使用自带工具vmware-vdiskmanager精简占用磁盘空间
https://blog.csdn.net/xcl113/article/details/50715943 vmware-vdiskmanager压缩磁盘大小,验证有效 一 .sudo apt-get ...
- mysql merge引擎分表
---------------------创建表一--------------------------------------DROP TABLE a1;CREATE TABLE `a1` ( `id ...
- oracle删除数据文件
在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表.视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能“移走”表空间. 一.使用offline数据文件的方法 非归档模式使用 ...
- vscode 编写Markdown文件
vscode使用Markdown文档编写 首先安装vscode工具,具体的使用可以参考之前的博文:<Visual Studio Code教程:基础使用和自定义设置> VScode已经默 ...
- C/C++输出格式控制符
C/C++格式控制符 一.类型 类型字符用以表示输出数据的类型,其格式符和意义如下表所示: 格式字符 意义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀 ...
- Bugku web web2
web2 打开后发现是个大滑稽啊!F12检查元素拿到flag
- python 获取某个文件下的所有文件
import os files = os.listdir(load_Graph_file_path) cnt = 0 for file in files: print(file) if (os.pat ...
- 3D Computer Grapihcs Using OpenGL - 04 First Triangle
本节将绘制一个三角形 先看最终代码: MyGlWindow.cpp: #include <gl\glew.h> #include "MyGlWindow.h" void ...
- js刷新当前页面的5种方式
1. reload reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false, ...