【最简单的vim教程】vim学习笔记-基础操作
说明
- C-字母 = Ctrl + 字母
- char = 任意字符
开始编辑
insert
| 按键 | 功能 | 说明 |
|---|---|---|
| i(I) | insert | 当前位置插入(当前行前) |
| a(A) | append | 当前字符后面插入(当前行后) |
| o(O) | open a line below | 当前行的下面(当前行上面) |
模式
| 模式 | 功能 | 说明 |
|---|---|---|
| 普通模式(ESC) | normal | 操作和移动 |
| 插入模式(i,a,o) | insert | 编辑 |
| 命令模式(:) | command | 执行命令 |
| 可视模式(v,V,C-v) | visual | 选择 |
可视模式
visual
| 按键 | 说明 |
|---|---|
| v | 选中字符 |
| V | 选中当前行 |
| C-v | 方块选择 |
插入模式技巧
insert
| 按键 | 功能 | 说明 |
|---|---|---|
| C-h | 删除 | 上一个字符 |
| C-w | 删除 | 当前单词 |
| C-u | 删除 | 当前行(终端可使用) |
| C-a | 移动到开头 | 终端 |
| C-e | 移动到结尾 | 终端 |
切换insert和normal模式
| 按键 | 功能 | 说明 |
|---|---|---|
| C-[ | 切换到normal | 代替ESC |
| C-c | 切换到normal | 代替ESC |
| gi | 跳转到上一次编辑的位置操作 |
普通模式
normal
快速移动
| 按键 | 功能 | 说明 |
|---|---|---|
| hjkl | 移动 | 上下左右 |
| w(W) | 移动 | 下一个单词开头 |
| e(E) | 移动 | 下一个单词结尾 |
| b(B) | 移动 | 上一个单词开头 |
大写以空白格为分隔符
行间搜索移动
| 按键 | 功能 | 说明 |
|---|---|---|
| f{char}(F) | 跳转 | 跳转到char上(往前搜) |
| t{char} | 跳转 | 跳转到char前一个字符 |
| ; or , | 继续 | 继续查找 |
水平移动
| 按键 | 功能 | 说明 |
|---|---|---|
| 0 | 移动 | 移动到行首 |
| $ | 移动 | 移动到行尾 |
页面移动
| 按键 | 功能 | 说明 |
|---|---|---|
| gg | 移动 | 文件开头 |
| G | 移动 | 文件结尾 |
| C-o | 移动 | 快速返回上一位置 |
| H/M/L | 移动 | 屏幕开头/中间/尾 |
| C-u | 翻页 | 上 |
| C-f | 翻页 | 下 |
| zz | 翻页 | 中间 |
删除命令
| 按键 | 功能 | 说明 |
|---|---|---|
| {number}x | 删除 | 删除一个字符 |
| diw | delete | 删除一个单词(不删除空格) |
| dw | 删除word | 删除一个单词 |
| {number}dd | 删除 | 删除当前行 |
| dt{符号} | 删除 | 删除符号之间的内容 |
| d | 删除 | 直接删除选中部分 |
快速修改
| 按键 | 功能 | 说明 |
|---|---|---|
| r(R) | 替换 | 替换一个字符(替换后面一个字符) |
| c{任意命令} | 改变 | 删除然后进入i |
| caw | 改变 | 删除并改变一个单词 |
| s(S) | 替换 | 删除当前字符,然后进入i(删除整行) |
| u | 回退 | 撤销 |
| C-r | 回退 | 前进 |
查询
| 按键 | 功能 | 说明 |
|---|---|---|
| / or ? | 查询 | |
| n or N | 移动 | 下 /上 |
| * / # | 移动 | 前 / 后 |
Text Object
[ number ]< command >[ text object ]
| 按键 | 功能 |
|---|---|
| viw | 选中一个单词 |
| vaw | 选中一个单词(周围) |
| caw | 修改一个单词 |
| ci+符号 | 删除符号内的内容 |
| ... |
寄存器
复制粘贴
normal
| 按键 | 功能 |
|---|---|
| y(yy) | 复制(复制一行) |
| p | 粘贴 |
| ” + y | 复制到系统剪切板 |
insert
| 按键 | 功能 |
|---|---|
| C-v | 粘贴 |
宏
| 按键 | 功能 |
|---|---|
| q{char} | 录制宏,并存在a中 |
| q | 结束录制宏 |
| :normal @{char} | 批量恢复录制 |
| @{char} | 恢复录制 |
示例:
[]中间为示例操作流程
- q{char}
[
- I{char}当前行前加入char (例子)
- A{char}当前行后加入char(例子)
]
- q 结束录制
- 恢复录制@a
- 行选需要操作的文本
- :normal @a
【最简单的vim教程】vim学习笔记-基础操作的更多相关文章
- 简单的玩玩etimer <contiki学习笔记之九 补充>
这幅图片是对前面 <<contiki学习笔记之九>> 的一个补充说明. 简单的玩玩etimer <contiki学习笔记之九> 或许,自己正在掀开contiki ...
- Oracle教程之学习笔记
Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...
- 《python基础教程(第二版)》学习笔记 基础部分(第1章)
<python基础教程(第二版)>学习笔记 基础部分(第1章)python常用的IDE:Windows: IDLE(gui), Eclipse+PyDev; Python(command ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)
注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- ArcGIS Pro 简明教程(2)基础操作和简单制图
ArcGIS Pro 简明教程(2)基础操作和简单制图 By 李远祥 本章主要介绍ArcGIS Pro如何加载数据并进行简单的地图制作,以基本的操作为主. 上一章节介绍过,ArcGIS Pro是可以直 ...
- Javascript学习笔记二——操作DOM
Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...
- MongoDB学习笔记:Python 操作MongoDB
MongoDB学习笔记:Python 操作MongoDB Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...
随机推荐
- Python语言学习前提:基础语法
一.变量 1.变量:存储数据.存储数据需要对应内存空间,基于变量的数据类型,解释器会分配指定内存,决定什么数据被存储到内存中. 变量数据类型:整数.小数.字符. 2.变量赋值:变量在使用前必须赋值,赋 ...
- PAT甲级——1050 String Subtraction
1050 String Subtraction Given two strings S1 and S2, S=S1−S2 is defined to be the remain ...
- Python语言学习前提:python安装和pycharm安装
一.Windows系统python安装 1.python官网:https://www.python.org/downloads/ 2.官网首页:点击Downloads > Windows > ...
- android ijkplayer简单使用
class VideoPlayer : FrameLayout, TextureView.SurfaceTextureListener{ private var url:String? = null ...
- TCP\IP协议簇-各层主要协议帧格式
本文只是对各协议的概要,详细请参考rfc文件. 官方下载地址:https://tools.ietf.org/rfc/index rfc中文:http://man.chinaunix.net/devel ...
- 安装Rational Rose启动报错:无法启动此程序,因为计算机中丢失 suite objects.dll。
运行Rational Rose的时候如果出现这样的错误,先检查环境变量有没有common的地址,如果没有直接配上就OK:配置如下:D:\Program Files\Rational\Common; 我 ...
- aclocal-1.13: command not found
原因: 将编译好的工程拷贝到系统版本不一样的系统中,再进行编译会出现此类问题. 解决方法: yum install automake autoconf yum install libtool auto ...
- android记帐本、涂鸦、仿腾讯新闻、仿bilibili、Markdwon便签、资讯APP等源码
Android精选源码 kotlin版仿哔哩哔哩动画Android客户端源码 android实现图片涂鸦效果源码 Android 开源记账本项目源码 android高仿腾讯新闻app源码 androi ...
- 信息熵、信息增益、信息增益率、gini、woe、iv、VIF
整理一下这几个量的计算公式,便于记忆 采用信息增益率可以解决ID3算法中存在的问题,因此将采用信息增益率作为判定划分属性好坏的方法称为C4.5.需要注意的是,增益率准则对属性取值较少的时候会有偏好,为 ...
- mysql安装后,进DOS输入命令mysql,提示错误:mysql ERROR 1045 (28000)的解决办法
一.修改my.ini文件,并重启mysql服务 找到配置文件my.ini ,然后将其打开,可以选择用记事本打开 打开后,搜索mysqld关键字,找到后,在mysqld下面添加skip-grant-t ...