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 api统计hive库下的所有表的文件个数、文件大小

    更新hadoop fs 命令实现: [ss@db csv]$ hadoop fs -count /my_rc/my_hive_db/* 18/01/14 15:40:19 INFO hdfs.Peer ...

  2. DIY一个超简单的画图程序

    编译环境:VS2017+Easy_X 最近笔者一直在翻阅Easy_X的帮助手册,学习到了一些关于获取鼠标状态消息函数的知识,感觉收获颇大,于是想试验一番,将所学知识运用出来.先补充一下在Easy_X中 ...

  3. Java面试题—中级(中)

    什么是线程死锁?死锁如何产生?如何避免线程死锁?   死锁的介绍:   线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行.当线程进入对象的synchro ...

  4. requests-post请求

    post与get方法的区别在于post需要提交一些数据以备处理. 在requests里面非常简单,headers,data都是直接加进去就可以了 # requests.post提交表单# 有些网站使用 ...

  5. Java集合框架之四大接口、常用实现类

    Java集合框架 <Java集合框架的四大接口> Collection:存储无序的.不唯一的数据:其下有List和Set两大接口. List:存储有序的.不唯一的数据: Set:存储无序的 ...

  6. HTML5入门必知

    第一部分 认识HTML 一.认识HTML 1.HTML HTML:超文本标签语言Hyper Text Markup Language HTML:网页源代码. 浏览器:"解释和执行" ...

  7. glut 深度测试无不起作用问题解决

    OpenGL中使用glEnable(GL_DEPTH_TEST)后深度测试没有起作用,发现深度缓冲没有创建.glut库在兼容模式(GL_COMPATIBILITY_PROFILE)下displaymo ...

  8. [LeetCode] Binary Tree Longest Consecutive Sequence II 二叉树最长连续序列之二

    Given a binary tree, you need to find the length of Longest Consecutive Path in Binary Tree. Especia ...

  9. python打包工具distutils、setuptools分析

    在上一篇博文中总结了python中导入包,安装包一条完整的线路.其中有一个有意思的知识点,安装包的方式有很多种,模块和包管理中打包,发布,安装也是值得研究的内容. python中安装包的方式有很多种: ...

  10. [SCOI2010]幸运数字

    题目描述 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是“幸运号码”!但是这种“幸运 ...