0. 前言

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) 局部内容另存为

  1. 按组合键 ctrl + v 进入可是模式
  2. 使用方向键选择内容
  3. 按组合键 shift + : 进入命令模式
  4. 输入 w filename 进行另存为,新文件名为 filename
  5. 若上一步输入 w! filename,意为强制覆盖

(3) 合并文件

:r filename # 将 filename 这个文件中的内容添加到当前文件中

(4) 打开多个文件

  1. 在命令行下
  2. 需要设置好 gVim 的环境变量
  3. 进入目标文件夹
  4. 输入 vim -o filename1 filename2 ...,其中 o 为小写字母,文件垂直分布
  5. 输入 vim -O filename1 filename2 ...,其中 O 为大写字母,文件水平分布
  6. ctrl + w + w 可以在各文件中切换
  7. 用普通方法,如 :q:wqq!:wq!ZZ 等可以一个一个地退出
  8. :wqa:qa! 可以一起退出

5. 致谢

  • 几年前的某个暑假,在网上搜到“小甲鱼”老师《VIM 快速入门》”公开课
  • 虽然不是计算机专业,但因为好奇听了课并做了笔记。现在翻出了当时做的笔记,整理了这篇随笔
  • 在此感谢“小甲鱼”老师
  • 我在网上找到了当时的课程,在此附上地址:VIM 快速入门

[Vim] 03 凡人进阶的更多相关文章

  1. [Vim] 01 凡人操作

    历史评价 编辑器之神 一个凡人的自我修养 成神是不可能成神的,只能是先入个门,然后一点一点学 Vim 官网 三种模式 插入模式(注意看光标) 命令模式(注意看光标) 编辑模式(注意看光标) 其实还有一 ...

  2. 03: django进阶篇

    1.1 cookie 1.cookie简介 1. cookie实质就是客户端硬盘中存放的键值对,利用这个特性可以用来做用户验证 2. 比如:{“username”: “dachengzi”} #再次访 ...

  3. 打造适合自己的vim编辑器方法总结

    vim使用方法总结 说明:这是打造适合自己的vim编辑器的进阶方法,关于vim基础知识,请自行百度.也可参考文章末尾推荐blog网址 如果觉得自己打造vim编辑器麻烦,可以从github上面克隆一个, ...

  4. 一段奇妙的vim编辑器之旅

    一.背景 对于Linux服务器上的操作,我们往往少不了使用vim,而有时候我对vim的使用并没有那么的熟练和深入,这周就深入的学习了vim的使用,包括入门和进阶,先分享给你们,也方便自己以后复习查询. ...

  5. 随处可编辑的编辑器之神VIM

    据说这世界上只有三种编辑器:Vim,Emacs 和 其他编辑器,其中 Vim 被称作编辑器之神,Emacs 被称作神的编辑器,当然,其他编辑器永远只能是其他编辑器. 拿一位 网友的话 来说,VIM 的 ...

  6. 看漫画就能学SQL,简直太cool了

    对于SQl, 很多人学不会的原因是从一开始就没明白,学这东西能干啥,学会了能有什么用.甚至有些人不知道'SQL'应该怎么读,以至于一开始兴致勃勃,但是学到一半放弃了. 注意:'sql'真的不能读成'烧 ...

  7. 第3篇K8S集群部署

      一.利用ansible部署kubernetes准备: 集群介绍 本系列文档致力于提供快速部署高可用k8s集群的工具,并且也努力成为k8s实践.使用的参考书:基于二进制方式部署和利用ansible- ...

  8. [No00004F]史上最全Vim快捷键键位图(入门到进阶)

    史上最全Vim快捷键键位重磅来袭!!学习Linux的朋友看过来啦,你是不是觉得Linux编辑器Vim操作复杂,步骤繁琐呢?Linux工程师是不是想大幅度提升自己的工作效率呢? 经典版        下 ...

  9. 【T-SQL进阶】03.执行计划之旅-1

    到大牛们说执行计划,总是很惶恐,是对知识的缺乏的惶恐,所以必须得学习执行计划,以减少对这一块知识的惶恐,下面是对执行计划的第一讲-理解执行计划. 本系列[T-SQL]主要是针对T-SQL的总结. T- ...

随机推荐

  1. windows 10 安装openssh 0x800f0954 的一种解决方法

    安装与卸载参考:https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_first ...

  2. wpf socket 简单通讯示例

    源码下载地址:https://github.com/lizhiqiang0204/WPF-Socket 效果如下:

  3. Spring Cloud第十二篇 | 消息总线Bus

    ​ ​本文是Spring Cloud专栏的第十二篇文章,了解前十一篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...

  4. P4716 【模板】最小树形图

    题意 说一下我对朱刘算法的理解: 首先我们考虑树形图的性质:每个点除了根节以外都含有一条入边. 因此我们可以有一个贪心的想法:对每个点(除了根节点)找到一条最短的入边,但是这样会出现环,如下图: 我们 ...

  5. OI比赛常数优化

    这是一篇玄学文章 一.编译优化 #pragma GCC optimize("O3") #pragma G++ optimize("O3") 预处理开O3优化 比 ...

  6. Ubuntu操作

    1. 从windows 拷贝文件到Ubuntu: scp  /c/Users/init/Downloads/pycharm-community-2019.3.tar.gz      alice@192 ...

  7. react native 之 redux 使用套路

    redux是什么?他是一个state容器 redux的运作方式是怎样的? 接入方式: 1. npm install 下列内容: npm install --save redux npm install ...

  8. 前端js怎么实现大文件G级的断点续传(分块上传)和分段下载

    需求: 支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验: 内网百兆网络上传速度为12MB/S 服务器内存占用低 支持文件夹上传,文件夹中的文件数量达到1万个以上,且包 ...

  9. android 开发,视频群聊引发短信异常

    说到 NDK 开发,其实是为了有些时候为了项目需求需要调用底层的一些 C/C++ 的一些东西:另外就是为了效率更加高些. 但是很多时候能不用就不用:这个是啥原因?个人感觉有些时候是觉得麻烦,首先要配置 ...

  10. SpringBoot:初识SpringBoot

    西部开源-秦疆老师:基于SpringBoot 2.1.6 的博客教程 秦老师交流Q群号: 664386224 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉! 1.SpringBo ...