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的特点,安装,相关指令使用以及配置信 ...
随机推荐
- knn算法详解
邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代 ...
- 用spark-submit启动程序
来源:http://spark.apache.org/docs/latest/submitting-applications.html 提交程序常用的一些选项 ./bin/spark-submit \ ...
- spring boot+mybatis+quartz项目的搭建完整版
1. 利用spring boot提供的工具(http://start.spring.io/)自动生成一个标准的spring boot项目架构 2. 因为这里我们是搭建spring boot+mybat ...
- tensorflow RNN循环神经网络 (分类例子)-【老鱼学tensorflow】
之前我们学习过用CNN(卷积神经网络)来识别手写字,在CNN中是把图片看成了二维矩阵,然后在二维矩阵中堆叠高度值来进行识别. 而在RNN中增添了时间的维度,因为我们会发现有些图片或者语言或语音等会在时 ...
- python程序入门 基础教程
1.VSCode基础使用+VSCode调试python程序入门 2.pip 安装 3.scrapy安装 4.python解析xml
- [数据结构] 用C语言模拟一个简单的队列程序
#include<stdio.h> #include <stdlib.h> #include<string.h> #include<math.h> // ...
- 【转】Socket接收字节缓冲区
原创本拉灯 2014年04月16日 10:06:55 标签: socket / 数据包 4448 我们接收Socket字节流数据一般都会定义一个数据包协议( 协议号,长度,内容),由于Socket接收 ...
- 执行JS
JS执行切换frame框架后点击 Window.frame['frame路径'].frame['下级frame路径'].document.getElementById("id"). ...
- CF.802C.Heidi and Library (hard) (费用流zkw)
题目链接 复习了下餐巾计划问题.全忘了=-= 首先这是一道网络流.然后本题有\(n\)种建图方法,以及\(smy\) dalao还有单纯形做法. 先假设所有物品都是买入的.那么对于每一天,拆成两个点\ ...
- vs2015配置OpenCV遇到的问题
OpenCV的配置过程可以参考博文:https://www.cnblogs.com/linshuhe/p/5764394.html 简要记载配置过程: 1.官网下载OpenCV安装包,并解压到目录,例 ...