Windows下使用Vim极简入门
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+z
。U
撤销对整行的修改。
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极简入门的更多相关文章
- .Net Core in Docker极简入门(下篇)
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 Docker-Compose 代码修改 yml file up & down 镜像仓库 最后 前言 上一篇[. ...
- windows下使用redis,Redis入门使用,Redis基础命令
windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...
- windows下vi/vim编辑器的基本操作
windows下vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准 ...
- Git 极简入门教程学习笔记
Git 极简入门教程 http://rogerdudler.github.io/git-guide/index.zh.html 测试用 https://github.com/xxx/BrnShop. ...
- ElasticSearch极简入门总结
一,目录 安装es 项目添加maven依赖 es客户端组件注入到spring容器中 es与mysql表结构对比 索引的删除创建 文档的crud es能快速搜索的核心-倒排索引 基于倒排索引的精确搜索. ...
- Spring Security极简入门三部曲(上篇)
目录 Spring Security极简入门三部曲(上篇) 写在前面 为什么要用Spring Security 数据库设计 demo时刻 核心代码讲解 小结 Spring Security极简入门三部 ...
- 第21月第9日 windows下使用vim+ctags+taglist
1. windows下使用vim+ctags+taglist 最近在公司的同事指导下,学会使用这个东西编写代码,效率提高了不少.所以记录下来,方便大家使用. 1. 下载gvim74.exe文件,并安装 ...
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件下载地址: ...
- Spring Security极简入门三部曲(中篇)
目录 Spring Security极简入门三部曲(中篇) 验证流程 Authentication接口 过滤器链 AuthenticationProvider接口: demo时刻 代码讲解 小结 Sp ...
随机推荐
- Java中如何实现j并发更新数据库同一条数据
分情况来说:普通单应用并发.多应用或多台服务器并发 情况一:普通单应用并发 使用关键字synchronized就可实现. 情况二:多应用或多台服务器并发 因多个应用之间并非同一个jvm(应用)内,因此 ...
- join()的用法
Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 ...
- 图片处理之 Base64
网页上的图片资源如果采用 http 形式的 url 的话都会额外发送一次请求,网页发送的 http 请求次数越多,会造成页面加载速度越慢.而采用Base64格式的编码,将图片转化为字符串后,图片文件会 ...
- 将一个javaWeb应用跑在Docker里
安装docker,本实例使用的是CentOS 7,其他系统的安装请自行百度. 安装:yum -y install docker 启动:service docker start docker的一些基本命 ...
- 大数据处理架构hadoop
Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构.它是基于java语言开发的,具有很好的跨平台特性,其核心是分布式文件系 ...
- java中的数组概念
数组的定义形式: 动态初始化方式: 1.声明并开辟数组 String str[]=new String[3];//3表示数组的长度 2.分布完成 String str[]=null; str=new ...
- [LeetCode] Delete and Earn 删除与赚取
Given an array nums of integers, you can perform operations on the array. In each operation, you pic ...
- Redis实现分布式锁的正确姿势
分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介绍Re ...
- ios开发- 利用运行时(runtime)字典转模型
现在的ios开发中,我们通常会使用MVC模式.当我们拿到数据的时候,我们要把数据转成模型使用. 一般情况我们拿到的数据都是字典.这是我们就需要将字典转成模型对象了. 当对象的属性很少的时候,我们可以直 ...
- PyQt5 QSerialPort子线程操作
环境: python3.6 pyqt5 只是简单的一个思路,请忽略脆弱的异常防护: # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets im ...