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 系列笔记一的更多相关文章

  1. 跟着鸟哥学Linux系列笔记2-第10章VIM学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...

  2. 跟着鸟哥学Linux系列笔记3-第11章BASH学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...

  3. Java系列笔记(2) - Java RTTI和反射机制

    目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这 ...

  4. Java系列笔记(4) - JVM监控与调优

    目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例     光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之.通过学习,我觉得JVM ...

  5. Java系列笔记(3) - Java 内存区域和GC机制

    目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection, ...

  6. 跟着鸟哥学Linux系列笔记0-如何解决问题

    跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1.  在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...

  7. 跟着鸟哥学Linux系列笔记1

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...

  8. vim 使用笔记

    vim命令笔记 a 插入 insert 插入 :%!xxd 以16进制方式进行编辑 :%!xxd -r 从16进制还原

  9. Java系列笔记(1) - Java 类加载与初始化

    目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个 ...

随机推荐

  1. 京东面试题:Java中 ++i 的操作是线程安全的么?为什么?如何使其线程安全呢?

    你真的了解volatile关键字吗?http://blog.csdn.net/FansUnion/article/details/79495080 面试题:为什么最后两行没有运行?http://blo ...

  2. 使用 java替换web项目的web.xml

    创建一个接口: package my.web; public interface SpringWeb { void config(); } 实现类: package my; import my.web ...

  3. Java九种基本数据类型,以及他们的封装类

    基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 (short)0 Short int 4 0 Integer long 8 0L Long float ...

  4. clr/c++自定线程安全集合

    代码如下: 难点重写索引器.重写基类方法.基类方法显示调用示例 generic <class T> public ref class SyncList : public List<T ...

  5. zabbix 监控安装部署

    今天尝试一下部署zabbix 官方文档包括多个版本,此处选择4.0版本 https://www.zabbix.com/documentation/4.0/manual 1.安装环境选择 zabbix4 ...

  6. idea中git回退本地仓库版本

    场景:代码commit到本地仓库,还没有push到远程仓库,这时要回退代码. 介绍下Reset Head中三种Reset Type类型: 1.Mixed(默认):它回退到某个版本,本地会保留源码,回退 ...

  7. 2、Shiro的认证

    Shiro的认证流程大体可以参考下面这幅图: 但是没有接触过shiro的同学看到上面的图片也不明白,下面我们来在代码中尝试体验Shiro的认证过程: 1.新建一个SpringBoot项目项目结构如下: ...

  8. centos7 主从dns配置 bind服务

    一,配置前请先关闭防火墙selinux 防火墙关闭方法,参见上一篇文章. setenforce 0    #临时关闭 修改/etc/selinux/config 文件  将SELINUX=enforc ...

  9. CSS3——盒子模型 border(边框) 轮廓(outline)属性 margin外边距 padding填充

    盒子模型 包括——边距,边框,填充,和实际内容 Margin(外边距) - 清除边框外的区域,外边距是透明的. Border(边框) - 围绕在内边距和内容外的边框. Padding(内边距) - 清 ...

  10. 【FICO系列】SAP FICO FS00修改科目为未清项目管理

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP FICO FS00修改科 ...