###《VIM实用技巧》
###《VIM实用技巧》
#@author: gr
#@date: 2015-11-20
#@email: forgerui@gmail.com
《VIM实用技巧》阅读笔记。
1. 使用>, <进行缩进
>G #从当前行缩进到最后一行
v > #利用v选中需要缩进的行,然后缩进
2. f行内快速定位
要在一行内快速移动到某个字符,使用f。
f+ #定位到本行中的+
使用;
定位下一个,,
定位上一个。
3. s
s
命令可以删除当前字符,并切换到编辑模式。
S
命令可以删除当前行,并切换到编辑模式。
C
= c$
,删除当前行所在字符以后的所有字符。
4. aw
用dw
、cw
都只能删除当前字符到单词最后,使用daw
、dcw
可以删除整个字符,并且会把前面的空格也删除。
5. global
:g/{pattern}/ [cmd]
:g/^\s*$/ d #删除空格行
:g/{pattern}/ [range] [cmd]
:g/{/ .+1, /}/-1 sort #对大括号里内容进行排序
6. 自动补全
<C-n>
上一条
<C-p>
下一条
7. 可视区
用gv
选中上一次的选中可视区。'<, '>
也表示上一次选中区。
:'<, '> d
8. 大小写转换
gU
变大写
gu
变小写
g~
大小写互换
9. 寄存器
"
:默认寄存器
0
:复制专用寄存器
+
:系统寄存器
与系统进行复制。
"+y //复制内容到系统寄存器
"+p //粘贴系统寄存器内容
其它寄存器:
"%
:当前文件名
"/
:上次查找的模式
10. set paste
当用系统寄存器粘贴时,由于autoindent
会导致许多缩进,这时使用set paste
选项就可避免,粘贴完使用set nopaste
关闭即可。
11. 跳转
'a
:单引号跳转到行
``a`:跳转到具体单词
<C-o>
:返回到上一条位置
12. 行间移动
w
:下一个单词开头
b
:上一个单词开头
e
:下一个单词结尾
ge
:上一个单词结尾
f
:查找下一个字符
t
:查找上一个字符
13. 文件状态
<C-g>
查看当前文件状态。
14. 用root用户保存
:w !sudo tee %
15. 文件系统
:e ../ #打开上层目录
:E #打开当前目录
- #返回上层目录
16. 自动补全
<C-d>
:自动补全,忘记命令时可以使用自动补全查看候选项
set exp<C-d>
17. :t
,:m
copy
简写为t
,move
简写为m
,d
删除。
:[range] copy {address}
:6copy. # 把第6行复制到当前行
:10,$ m . # 把第10行到最后一行内容移动到当前行
18. 执行上次Ex命令
@:
执行上次Ex命令
19. 插入模式执行命令
在插入模式中,如果不想退出,当前行显示在屏幕中央,可以<C-o> zz
。
插入模式中,用<C-r>
寄存器输入寄存器的内容。用<C-r>=
做运算。
###《VIM实用技巧》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- U3D中的协同等待函数
WaitForSeconds.WaitForseconds等待函数; 创建一个yield指令,来等待给定的秒数; using UnityEngine; using System.Collections ...
- 字符串匹配 - KMP算法
#include<cstdio> #include<cstring> #include<cstdlib> void GetNext(char *t,int *nex ...
- webpack echarts配置实例
简单介绍 本例介绍怎样在webpack中构建依赖echats的项目,echarts有好几种方式引入项目: 标签单文件引入:自1.3.5開始,ECharts提供标签式引入.假设项目本身并非基于模块化开发 ...
- CentOS 6.5安装MySQL中文乱码问题解决
不管是Linux还是Windows都有新手遇到MySQL服务安装好了之后写入中文发现乱码,今天我装了个CentOS 6.5也遇到了这个问题,现在解决了,分享一下经验. 1.首先安装mysql,我很怕麻 ...
- Spring的DataSource配置、将Hibernate配置所有写到Spring配置
DataSource能够集中管理数据库连接,降低维护工作量,使部署更简单: Spring的DataSource配置:(Spring数据源配置)这里使用dbcp,还有非常多其它的如c3p0,jdbc,j ...
- ERROR 1227 (42000): Access denied; you need (at least one of) the PROCESS privilege(s) for this oper
1 用以往的mysql登陆模式登陆 [mysql@eanintmydbc002db1 mysqllog]$ mysql Enter password: Welcome to the MySQL m ...
- iOS开发——网络编程Swift篇&(一)网络监测
网络监测 enum ReachabilityType { case WWAN, WiFi, NotConnected } public class Reachability { /** :see: O ...
- Flex4之元数据标签使用
Flex 元数据标签 1.[ArrayElementType] 使用ArrayElementType元数据标签可以让你定义数组元素的数据类型. 程序代码: [ArrayElementType(&quo ...
- Anaconda packages list
# packages in environment at D:\Applications\Anaconda3:#alabaster 0.7.6 py35_0 anaconda 2.4.0 np110p ...
- Python拼接多张图片
写机器学习相关博文,经常会碰到很多公式,而Latex正式编辑公式的利器.目前国内常用的博客系统,好像只有博客园支持,所以当初选择落户博客园.我现在基本都是用Latex写博文,然后要发表到博客园上与大家 ...