Vim 系列笔记一
Vim 系列笔记一
Vim 简介
什么是VIM ?
- Vim 是从 Vi 发展出来的一个编辑器,是 Vi 的升级版。而 vi 则是 Unix 、类Unix(Linux)系统中自带的编辑器。
Vim/Vi 的使用
和其它文本编辑器不同,Vim/Vi 分为三种模式:
- -- NORMAL -- 模式,即:命令模式(Normal mode)
- -- INSERT -- 模式,即:输入模式(insert mode)
- 在 -- NORMAL -- 模式下按冒号,进入底线命令模式(Command mode)
只有编辑器处于 -- INSERT -- 模式下,VIM才会表现的像我们平时打开的文档一样,可以随便进行输入、删除的操作,所以对刚接触VIM的新手总是不习惯,但是没关系,为了装逼为了飞,习惯就好。
不同模式之间的快速切换
刚刚启动vim/vi,默认进入的便是 -- NORMAL-- 模式,在此命令模式下,敲击键盘被视为执行一个命令,而不是输入字符或打一个字。
- 在 -- NORMAL --模式下,进入 --INSERT-- 模式,需要执行命令
- 按 a 键,表示在当前字母后边追加插入,append
- 按 i 键,表示在当前字母前面追加插入,insert
- 按 o 键,表示在当前光标所在行的下一行插入
- 按 A 键,表示在当前光标所在行的行未尾插入
- 按 I 键,表示在当前光标所在行的行首部插入
- 按 O 键,表示在当前光标所在行的上一行插入
- 按 ESC 回到 --NORMAL-- 模式
- 在 normal 模式下,按冒号(:)进入 command 底线命令模式(可以执行更多更丰富的命令)
小技巧提示: 在vim中,大多数命令的大小写都是有相反的意思,具体的是什么意思,去体验去实操吧。
值得一提的是,vim 编辑器默认的上下左右移动光标键对应的是K、J、H、L,这样我们不用移动手到键盘右侧去按上下左右而浪费时间了,又据说在发明 vim 的时候上下左右键还未流行起来,所以与众不同。记住是在 --NORMAL-- 模式下使用哦。
总结
还有两个命令需要掌握:
- 保存,在底线命令模式下输入 :w
- 退出,在底线命令模式下输入 :q
- 组合技,在底线命令模式下输入 :wq,表示保存后退出
对于初学者菜鸟,掌握这两个基本的命令就可以开始使用 vim 编辑文档了,话说有很多接触或使用Linux的人,用了好几年也基本就会wq,所以掌握以上技能就可以出新手村去闯荡江湖了。
但是对于一个有理想、有追求,还想人前秀一把操作的我来说,这些远远不够!VIM 探索路上再见!
扩展
还有一种模式是在 -- NORMAL-- 模式下,按 v 命令进入,感兴趣的可以自己先百度了解一下,后续学习笔记再详细介绍:
- Visual(可视)模式
- 竖/横分屏:vs(vertical split),:sp(split)
- 全局替换: % s/foo/bar/g
- 按 v 进入选择,批量编辑操作
- 按 V 进入选择行
- 按 Ctrl + v 进入块状选择
Vim 系列笔记一的更多相关文章
- 跟着鸟哥学Linux系列笔记2-第10章VIM学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- Java系列笔记(2) - Java RTTI和反射机制
目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这 ...
- Java系列笔记(4) - JVM监控与调优
目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之.通过学习,我觉得JVM ...
- Java系列笔记(3) - Java 内存区域和GC机制
目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection, ...
- 跟着鸟哥学Linux系列笔记0-如何解决问题
跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1. 在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...
- 跟着鸟哥学Linux系列笔记1
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...
- vim 使用笔记
vim命令笔记 a 插入 insert 插入 :%!xxd 以16进制方式进行编辑 :%!xxd -r 从16进制还原
- Java系列笔记(1) - Java 类加载与初始化
目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个 ...
随机推荐
- IO负载高来源定位pt-ioprofile
1.使用top -d 1 查看%wa是否有等待IO完成的cpu时间,简单理解就是指cpu等待磁盘写入完成的时间:IO等待所占用的cpu时间的百分比,高过30%时IO压力高: 2.使用iostat -d ...
- DeepFaceLab 如何开启轻量级编码器?
很多人可能没有了解过这个参数.其实对于某些显存比较低的人,或者想要快点出结果的人非常有用. 什么是轻量级编码器? 轻量级本质上就是降低了神经网络的复杂程度(什么是神经网络? 这个….) 启用这个选项后 ...
- Factory Kit【其他模式】
Factory Kit public class FactoryKit { /** * Factory Kit:它定义了一个包含不可变内容的工厂,并使用独立的构建器和工厂接口来处理对象的创建. */ ...
- css让字体细长
transform: scale(1,3); -ms-transform: scale(1,3); -webkit-transform: scale(1,3); -moz-transform: sca ...
- django的url的name参数的意义及view中reverse
Templates的链接地址都是根据urlpatterns定义的地址,拼凑成地址字符串,很难看,而且Templates里拼凑成的地址,随着页面的增加而不断增加,一旦在urlpatterns里的某个地址 ...
- 【MM系列】SAP 根据采购订单创建外向交货单的BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 根据采购订单创建外向交货单的 ...
- Python中的sorted函数
今天在做一个中文文本分类的项目,遇到了一个sorted函数,发现并不会用... 记录一下: sorted(list, key, reverse) list是给定的列表: key是排序过程调用的函数,也 ...
- 使用Sklearn构建朴素贝叶斯分类器-新闻分类
# -*- coding: UTF-8 -*- import jieba import os import random from sklearn.naive_bayes import Multino ...
- 浅谈JVM及原理
前言 JVM一直是java知识里面进阶阶段的重要部分,如果希望在java领域研究的更深入,则JVM则是如论如何也避开不了的话题,本系列试图通过简洁易读的方式,讲解JVM必要的知识点. 运行流程 我们都 ...
- 【Linux 环境搭建】安装arm-linux-gcc
(1)下载或者拷贝arm-linux-gcc-4.3.2.tgz到Linux环境的任意目录. 解压: tar xvf arm-linux-gcc-4.3.2.tgz ,会解压该文件到当前目录: 拷贝: ...