1. VIM 系列 - 简单入门,拾起兴趣
1. 认识模式
vim 一共有四种模:
1. 正常模式
2. 插入模式
3. 命令模式
4. 可视模式
1.1 正常模式
vim 打开一个文件时,处于正常模式。
正常模式一般用来浏览文件,也可进行复制、粘贴、删除等操作。
浏览文件时,可以采用一些快捷键在文本中进行跳转。
注:无论当前处于什么模式,按下 ESC 键 都会回到正常模式。
1.2 插入模式
插入模式:在正常模式下,按下(i/I/a/A)键即可进入插入模式;当我们需要编辑文本时,可以进入这个模式。
1.3 命令模式
命令模式:在正常模式下,按下(:)冒号即可进入命令模式,这个模式可以输入vim 的一些命令或是第三方插件的命令。
1.4 可视模式
可视模式:在正常模式下,按下(v)键即可进入可视模式,按上下键可以选中一块文本,然后对这个文件进行操作,和windows鼠标选中文本类似。
2. 常用快捷键
保存文件&退出:
:w // 保存文件
:q // 退出vi
:wq // 保存退出
:wq! // 保存强制退出
:q! // 强制退出
:x // 保存退出
光标跳转:
//字符级
h // 左移一个字符
l // 右移一个字符
f/F<c> // 移动到本行下一个字符<c>、上一个字符<c>
t/T<c> // 移动到本行下一个字符<c>之前、上一个字符<c>之后
//单词级
w // 移动到下一个单词
b // 移动到上一个单词
e // 移动到当前单词的词尾
* // 移动到下一个相同的单词
# // 移动到上一个相同的单词
//行级
j // 移动到下一行
k // 移动到上一行
gg // 跳转到文本第一行
G // 跳转到文本最后一行
<n>gg // 跳转到第n行
<n>l // 跳转到本行的第n列
0 // 跳转到行首
^ // 跳转到行首第一个非空格字符
$ // 跳转到行尾
//函数级
gd // 跳转到局部变量的定义处
//屏幕级
<Ctrl>+f // 向前翻一页
<Ctrl>+b // 向后翻一页
<Ctrl>+d // 向前翻半页
<Ctrl>+u // 向后翻半页
复制、粘贴、删除:
// 简单操作
yw // 复制单词
yy // 复制一行
dw // 删除单词
dd // 删除一行
p // 粘贴
// 更复杂操作(d/y+光标移动)
//区域操作(可视化模式选中文本 + d/y)
1. VIM 系列 - 简单入门,拾起兴趣的更多相关文章
- Elasticsearch系列---简单入门实战
概要 本篇主要介绍一下Elasticsearch Document的数据格式,在Java应用程序.关系型数据库建模的对比,介绍在Kibana平台编写Restful API完成基本的集群状态查询,Doc ...
- HTML5简单入门系列(五)
前言 本篇将讲述HTML5的服务器发送事件(server-sent event) Server-Sent 事件 Server-Sent 事件是单向消息传递,指的是网页自动获取来自服务器的更新. 以前的 ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
- EF CodeFirst系列(1)---CodeFirst简单入门
1.什么是CodeFirst 从EF4.1开始,EF可以支持CodeFirst开发模式,这种开发模式特别适用于领域驱动设计(Domain Driven Design,大名鼎鼎的DDD).在CodeFi ...
- emacs最简单入门,只要10分钟
macs最简单入门,只要10分钟 windwiny @2013 无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...
- 数据结构和算法(Golang实现)(1)简单入门Golang-前言
数据结构和算法在计算机科学里,有非常重要的地位.此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析. 我们会先简单学习一下Golang,然后进入计算机程序世界的第 ...
- 一篇文章带你了解服务器操作系统——Linux简单入门
一篇文章带你了解服务器操作系统--Linux简单入门 Linux作为服务器的常用操作系统,身为工作人员自然是要有所了解的 在本篇中我们会简单介绍Linux的特点,安装,相关指令使用以及内部程序的安装等 ...
- 一篇文章带你了解NoSql数据库——Redis简单入门
一篇文章带你了解NoSql数据库--Redis简单入门 Redis是一个基于内存的key-value结构数据库 我们会利用其内存存储速度快,读写性能高的特点去完成企业中的一些热门数据的储存信息 在本篇 ...
- 一篇文章带你了解轻量级Web服务器——Nginx简单入门
一篇文章带你了解轻量级Web服务器--Nginx简单入门 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器 在本篇中我们会简单介绍Nginx的特点,安装,相关指令使用以及配置信 ...
随机推荐
- linux条件判断:eq、ne、gt、lt、ge、le
-eq(equal) :判断是否相等,相等为真 -ne(inequality):判断是否不等,不等为真 -gt(greter than):判断是否大于,大于为真 -lt(less than):判断是否 ...
- .net基础学java系列(四)Console实操
上一篇文章 .net基础学java系列(三)徘徊反思 本章节没啥营养,请绕路! 看视频,不实操,对于上了年龄的人来说,是记不住的!我已经看了几遍IDEA的教学视频: https://edu.51cto ...
- spring-data-rest的魔力 10分钟实现增删改查
目录 创建项目 启动项目 添加person 查看person 及 person 列表 条件查询 分页查询 controller 去哪里了 自定义 spring-data-rest 魔力之外的contr ...
- 关于pom.xml文件中引入net.sf.json-lib出错问题
关于pom.xml文件中引入net.sf.json-lib出错问题 在项目中引入以下依赖时一直报错 <dependency> <groupId>net.sf.json-lib& ...
- 获取clock ticks per second
#include <sys/syscall.h> #include <stdio.h> #include <unistd.h> int main() { print ...
- 作用域链和函数内部this指向问题以及bind、call、apply方法
作用域链和函数内部this指向问题以及bind.call.apply方法 作用域链 作用域是相对于变量而言的, 其意义就在与查找变量(确定变量的来处, 变量是否可以访问到, 确定变量在当前位置是否可以 ...
- H5唤醒app,第三方开源库
在微信浏览器内,安卓打开应用宝,ios跳进appstore,基本都可以成功在外部浏览器内,已安装可进入应用内,未安装进入应用宝提示下载,需客户端支持.<!DOCTYPE html> < ...
- iOS 轻击、触摸和手势的检测
一.检测捏合手势( UIPinchGestureRecognizer): //设定一个实例变量存储手指之间的其起始距离 @property (assign, nonatomic) CGFloat i ...
- scrapy初始和简单应用
什么是Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有 ...
- BZOJ.2054.疯狂的馒头(并查集)
BZOJ 倒序处理,就是并查集傻题了.. 并查集就是确定下一个未染色位置的,直接跳到那个位置染.然而我越想越麻烦=-= 以为有线性的做法,发现还是要并查集.. 数据随机线段树也能过去. //18400 ...