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. Web开发笔记

    jquery ui draggable clone之后不会克隆draggable功能,要重新设置

  2. 20 个 Laravel Eloquent 必备的实用技巧

    Eloquent ORM 看起来是一个简单的机制,但是在底层,有很多半隐藏的函数和鲜为人知的方式来实现更多功能.在这篇文章中,我将演示几个小技巧. 1. 递增和递减 要代替以下实现: $article ...

  3. HTML5中meta属性大集合

    1.声明文档的字符编码 <meta charset='utf-8'> 2.声明文档的兼容模式 <meta http-equiv="X-UA-Compatible" ...

  4. java基本数据类型的包装类

    基本类型对应的包装类 byte(Byte).short(Short).int(Integer).long(Long).float(Float).double(Double).char(Characte ...

  5. [Shell]Linux 下 Shell 的自动交互

    在编写脚本的时候经常会遇到这种情况,某些程序的命令执行的之后可能会要求用户进行输入,这个时候就需要一些特殊写法来应对这种问题了.这里参考 这篇文章提到可以使用 delimiter 分界符来解决. 也就 ...

  6. Oracle数据库基础练习题

    --1.查询和SMITH相同部门的员工姓名和雇用日期select ename,hiredate from emp where deptno=(select deptno from emp where ...

  7. 空间搜索(圆范围)中Geohash编码方案和网格编码方案对比探讨

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 多个项目中实现范围(圆)搜索的方案为:依赖库表中的X和Y字段构 ...

  8. 机器学习基石:09 Linear Regression

    线性回归假设: 代价函数------均方误差: 最小化样本内代价函数: 只有满秩方阵才有逆矩阵. 线性回归算法流程: 线性回归算法是隐式迭代的. 线性回归算法泛化可能的保证: 根据矩阵的迹的性质:tr ...

  9. [TJOI 2016&HEOI 2016]求和

    Description 题库链接 求 \[f(n)=\sum_{i=0}^n\sum_{j=0}^i S(i,j)\times 2^j \times (j!)\] \(S(i, j)\) 表示第二类斯 ...

  10. 空间漫游(SAC大佬的测试)

    题目描述由于球哥和巨佬嘉诚交了很多保护费,我们有钱进行一次 d 维空间漫游.d 维空间中有 d 个正交坐标轴,可以用这些坐标轴来描述你在空间中的位置和移动的方向.例如,d = 1 时,空间是一个数轴, ...