###《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 安装并启动 ...
随机推荐
- python的random模块
As an example of subclassing, the random module provides the WichmannHill class that implements an a ...
- 微设计(www.weidesigner.com)介绍系列文章(一)
1.1 什么是微设计? 微设计(www.weidesigner.com)是一个专门针对微信公众账号提供营销推广服务而打造的第三方平台.主要功能是针对微信商家公众号提供与众不同的.有针对性的营销推广服务 ...
- Asp.Net页面(母版页)加载顺序
ASP.NET 母版页和内容页中的事件 母版页和内容页都可以包含控件的事件处理程序.对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件.控件事件不会 ...
- debian下软件包管理方式总结
linux最流行的包管理方式除了rpm之外就是debian的deb格式了.目前采用deb管理方式的主流操作系统主要有debian和ubuntu系列.和rpm包管理方式不同的是,虽然debian也有包含 ...
- debian7编译内核
第一个步骤“配置内核”. 在这里,我比较建议在发行版默认的config的基础上再进行配置,这样 配置出的内核和发行版本身才会有更好的相容性.比如可以在运行“make menuconfig”之前执行命令 ...
- PHP设计模式之策略模式
前提: 在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能.如查 找.排序等,一种常用的方法是硬编码(Hard Cod ...
- 内核工具 – Sparse 简介
转载:http://www.cnblogs.com/wang_yb/p/3575039.html Sparse是内核代码静态分析工具, 能够帮助我们找出代码中的隐患. 主要内容: Sparse 介绍 ...
- B. Little Dima and Equation
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- memcached linux / win32 1.4.13
memcached-win32-1.4.13 点击下载 http://pan.baidu.com/s/1kTMABaf memcached -d install (安装为windows service ...
- Call to undefined function imagettftext()解决方法
由 老高 发表于 2014-10-03 在 代码人生 分类 老高在一个新环境中装DEDECMS的时候发现后台验证码无法显示.直接搜索一下这个错误,有人说session错误,有的说权限错误等等,这不胡 ...