2018/10/12更新

可以先在Web浏览器中找到一点使用Vim的感觉,请参考这篇文章:

想要geek范?还是初学Linux vim不熟练?Surfingkeys 可以帮到你

Surfingkeys快速上手


0.下载与安装

在vim官网下载

1.Vim常见的几种模式:

  • 一般模式:主要用于浏览,不能随意删除、修改等。按Esc进入该模式。
  • 插入模式:类似平常我们打开记事本后所在的模式。在命令模式下按i进入。
  • 命令模式:按:进入,执行如保存、退出等功能。
  • 可视模式: 按v进入,主要用于选择。

2.Vim中最常用的命令

移动光标:

h、j、k、l分别对应左、下、上、右

0,行首。$,行尾。

gg,文件头。G,文件尾。

保存退出::

:q!强制退出不保存,:wq!保存后强制退出,:w Test.txt保存为Test.txt文件。

w, write. q, quit. !, 强制.

撤销操作:

u,undo撤销上一次执行,类似于ctrl+zU撤销对整行的修改。

CTRL-R,redo。

选择复制粘贴:

首先要进行选择,按v进入可视模式后,然后移动光标(使用hjkl移动)进行选择。

然后按y进行复制。注意:是复制到vim的寄存器,只能在vim内使用。不是复制到系统剪贴板。

在需要粘贴的地方按p

也可使用同样的方法进行选择删除,按d为进行删除。

复制到系统剪贴板,"+y,就是复制到寄存器"+中,即系统剪贴板。

从系统剪贴板粘贴,"+p

如果在windows下安装的gvim,也可直接使用ctrl+c,ctrl+v进行复制粘贴。

全选复制:ggvG。命令解释:gg到文件首,v开启可视模式,G到文件尾。

搜索:

/,向后查找。?,向前查找。

查找状态下, 按n找下一个。N找上一个。

%,括号匹配。对程序员特别有用。

if(True){
System.out.println("hi");
}

替换:

:s/old/new替换old为new,仅替换一个。

:s/old/new/g替换一行

:%s/old/new/g全篇替换,但是对中文支持不是很好。

3.其他常用编辑命令:

i,在光标位置前插入。a,在光标位置后插入。A在整行之后插入。

dw,删除一个单词。比较适合英文,不太适合中文。d2w,删除两个单词。

dd,删除整行(相当于剪切)。可以在需要的地方按p进行粘贴。

d$,删除到行尾。d0,删除到行首。

yy,复制整行。

x, 删除当前光标位置字符。r,替换。

其他说明

Windows下的Gvim支持所有常用快捷键ctrl+c,ctrl+v,ctrl+a,ctrl+s,shift,home,end,page up,page down等。基本上可以做到无痛切换。

Windows下使用Vim极简入门的更多相关文章

  1. .Net Core in Docker极简入门(下篇)

    Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 Docker-Compose 代码修改 yml file up & down 镜像仓库 最后 前言 上一篇[. ...

  2. windows下使用redis,Redis入门使用,Redis基础命令

    windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...

  3. windows下vi/vim编辑器的基本操作

    windows下vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准 ...

  4. Git 极简入门教程学习笔记

    Git 极简入门教程  http://rogerdudler.github.io/git-guide/index.zh.html 测试用 https://github.com/xxx/BrnShop. ...

  5. ElasticSearch极简入门总结

    一,目录 安装es 项目添加maven依赖 es客户端组件注入到spring容器中 es与mysql表结构对比 索引的删除创建 文档的crud es能快速搜索的核心-倒排索引 基于倒排索引的精确搜索. ...

  6. Spring Security极简入门三部曲(上篇)

    目录 Spring Security极简入门三部曲(上篇) 写在前面 为什么要用Spring Security 数据库设计 demo时刻 核心代码讲解 小结 Spring Security极简入门三部 ...

  7. 第21月第9日 windows下使用vim+ctags+taglist

    1. windows下使用vim+ctags+taglist 最近在公司的同事指导下,学会使用这个东西编写代码,效率提高了不少.所以记录下来,方便大家使用. 1. 下载gvim74.exe文件,并安装 ...

  8. windows下nodejs express安装及入门网站,视频资料,开源项目介绍

    windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件下载地址: ...

  9. Spring Security极简入门三部曲(中篇)

    目录 Spring Security极简入门三部曲(中篇) 验证流程 Authentication接口 过滤器链 AuthenticationProvider接口: demo时刻 代码讲解 小结 Sp ...

随机推荐

  1. Java中如何实现j并发更新数据库同一条数据

    分情况来说:普通单应用并发.多应用或多台服务器并发 情况一:普通单应用并发 使用关键字synchronized就可实现. 情况二:多应用或多台服务器并发 因多个应用之间并非同一个jvm(应用)内,因此 ...

  2. join()的用法

    Python中有join()和os.path.join()两个函数,具体作用如下:    join():    连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 ...

  3. 图片处理之 Base64

    网页上的图片资源如果采用 http 形式的 url 的话都会额外发送一次请求,网页发送的 http 请求次数越多,会造成页面加载速度越慢.而采用Base64格式的编码,将图片转化为字符串后,图片文件会 ...

  4. 将一个javaWeb应用跑在Docker里

    安装docker,本实例使用的是CentOS 7,其他系统的安装请自行百度. 安装:yum -y install docker 启动:service docker start docker的一些基本命 ...

  5. 大数据处理架构hadoop

    Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构.它是基于java语言开发的,具有很好的跨平台特性,其核心是分布式文件系 ...

  6. java中的数组概念

    数组的定义形式: 动态初始化方式: 1.声明并开辟数组 String str[]=new String[3];//3表示数组的长度 2.分布完成 String str[]=null; str=new ...

  7. [LeetCode] Delete and Earn 删除与赚取

    Given an array nums of integers, you can perform operations on the array. In each operation, you pic ...

  8. Redis实现分布式锁的正确姿势

    分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介绍Re ...

  9. ios开发- 利用运行时(runtime)字典转模型

    现在的ios开发中,我们通常会使用MVC模式.当我们拿到数据的时候,我们要把数据转成模型使用. 一般情况我们拿到的数据都是字典.这是我们就需要将字典转成模型对象了. 当对象的属性很少的时候,我们可以直 ...

  10. PyQt5 QSerialPort子线程操作

    环境: python3.6 pyqt5 只是简单的一个思路,请忽略脆弱的异常防护: # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets im ...