###《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 安装并启动 ...
随机推荐
- IIS支持其他类型下载
路径:IIS--默认网站属性-->http 头-->MIME映射 -->文件类型 -->新类型
- VB连接Mysql数据库
当然机器装有mysql数据库 然后下载安装Mysql,odbc驱动 须要加入ado'菜单"project"->"引用" 找 Microsoft Activ ...
- 配置集群Nginx+Memcached+Tomcat集群配置
上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下配置集群 1. Nginx Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebS ...
- zoj 3511 Cake Robbery(线段树)
problemCode=3511" target="_blank" style="">题目链接:zoj 3511 Cake Robbery 题目 ...
- [AngularJS] Test an Angular Component with $componentController
Traditionally you had to create DOM elements to test a directive but by shifting our focus to compon ...
- iOS开发——UI篇OC篇&初始化图片方式
初始化图片方式 一.读取图片 1.从资源(resource)读取 [cpp] view plaincopyprint? UIImage* image=[UIImage imageNamed:@&q ...
- MySQL锁系列1
http://www.cnblogs.com/xpchild/p/3782311.html MySQL的锁:MySQL内部有很多种类的锁,按照用途不同,可以分为两类:1. 保护内存结构的锁,实现同 ...
- MYSQL 5.7 新增150多个新功能
http://www.thecompletelistoffeatures.com/ There are over 150 new features in MySQL 5.7. The MySQL ma ...
- win7配置nginx + php
nginx的下载地址: http://www.nginx.cn/nginx-download 在nginx下创建文件php-cgi.cmd,并写入内容: "D:\nginx_php-5.6 ...
- Linux 内核Coding Style整理
转载:http://www.cnblogs.com/wang_yb/p/3532349.html 总结linux内核开发的coding style, 便于以后写代码时参考. 下面只是罗列一些规则, 具 ...