《vim实用技巧》读书笔记
1、 . 命令
2、 * 命令
3、 cw 命令: (c:修改)会删除从光标位置到单词结尾间的字符,并进入插入模式。 eg: cw.copy1 即: 删除从光标位置到单词结尾间的字符,并插入 copy1 。
5、 db:按 db 命令删除从光标起始位置到单词开头的内容,但光标处的字符没有删除。再按一下 x 键就可以删除这个捣乱的字符。
6、 daw:可以把 daw 命令解读为“delete a word”,这样比较容易记忆。
7、 yyp :文本行的复制与粘贴。
ddp : 文本行的剪切与粘贴。
yiw : 复制光标处的单词。(p粘贴)
diw : 剪切光标处的单词。(p粘贴)
8、 <C-a> 和 <C-x> 命令:分别对数字执行加和减操作。在不带次数执行时,它们会逐个加减,但如果带一个次数前缀,那么就可以用它们加减任意整数。例如,如果我们把光标移到字符5上,执行 10<C-a>就会把它变成15。(如果光标不在数字上,那么 <C-a> 命令将在当前行正向查找一个数字,如果找到了,它就径直跳到那里。)
9、.f : (find) 查找。
10、R : (replace) 转到替换模式。
11、ggVG :全部选择。
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
删除所有内容 :%d
. 当前行
%当前文件中的所有行
1 文件的第一行
$ 文件的最后一行
hjkl:
h:光标往左移动一个;
j:光标往下移动;
k:光标往上移动;
l:光标往右移动;
整段代码缩进:
<C-v>进入块模式- hjkl选中相关行
- A
- 光标移到最开始(home键)
- tab键
- ESC退出
dt; : 删除当前位置到;之间的内容。(t:to)
nyy : 多行复制。(光标要在单词前)
yy : 单行复制。
多行复制粘贴:
方法一:(适合复制的行数较少的情况)
(1):n (光标移到第n行,即要复制的那行)
(2) nyy (复制n行)
(3) :n (光标移到要粘贴的那行)
(4) p或者P (p是在所在位置的后方黏贴,P是在所在位置前方黏贴)
方法二:(适合有大量行数的情况)
在normal模式下输入:开始行数,结束行数 co(py) 要黏贴的行数。
例如要将第5到10行黏贴到第15行后面可以这么写:5,10 copy 15 这个方法适合有大量的行数情况。
方法三:(最直观)
(1) shift+v进入可视模式
(2) 选中要拷贝的行
(3) 输入y复制
(4) 光标移到奥黏贴的位置 ( :n )
(5) 输入p或者P粘贴
代码多行注释和删除(代码多行缩进同样适用):
(1) 光标移到要注释的行首( :n )
(2) ctrl+v进入可视块模式
(3) 移动上下键选中要注释的行
(4) 输入I(大写i)
(5) 输入要注释的字符(eg: //)
(6) 输入两个esc,回到normal模式。
(7) 删除过程一样:先ctrl+v,选中要删除注释的行,输入x即可
如果要在很多行后面加相同的东西也可以用这个方法:ctrl+v,选中要添加的行,输入A,输入要添加的字符,输入两个esc回到normal模式。

《vim实用技巧》读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- js动态检测加载 JQ
var jqcdnurl = 'https://cdn.bootcss.com/jquery/3.2.1/jquery.js'; //控制台输出 function log() { for (var i ...
- oracle坏块处理记录
1. 执行sql:select count(distinct id) from bw_fpzxx ,报错如下: ORA-01578: ORACLE 数据块损坏 (文件号 16, 块号 195428)O ...
- SQL SERVER版本补丁体系及升级
首先了解几个定义: RTM : 表示 Release to Manufacturing ,这是产品的原始发布版本,当从光盘或 MSDN 下载的默认版本.不过现在下载 SQL Server 版本时,也有 ...
- 【转】vue中动态设置meta标签和title标签
因为和原生的交互是需要h5这边来提供meta标签的来是来判断要不要显示分享按钮,所有就需要手动设置meta标签,标题和内容 //router内的设置 { path: '/teachers', name ...
- Windows服务手动关闭教程
Windows上关闭软件自启动,经常使用360等软件的开机加速功能去优化. 但有时候有些服务开机是启动的但在360中并没有找到那如何手动关闭这些服务的自启动呢? 下边以Autodesk Applica ...
- Spring FactoryBean应用
Spring 中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean 即 FactoryBean.FactoryBean跟普通Bean不同,其返回的对象不是指定类的一个实例,而是该Facto ...
- Lamda 表达式里的Join和GroupJoin的区别, 如何实现SQL的Left Join效果
例如,可以将产品表与产品类别表相联接,得到产品名称和与其相对应的类别名称 db.Products .Join ( db.Categories, p => p.CategoryID, c => ...
- 谈一谈JUnit神奇的报错 java.lang.Exception:No tests found matching
最近在学习Spring+SpringMVC+MyBatis,一个人的挖掘过程确实有点艰难,尤其是有一些神奇的报错让你会很蛋疼.特别是接触一些框架还是最新版本的时候,会因为版本问题出现很多错误,欢迎大家 ...
- maven打包上传到本地中央库
pom文件中添加插件如下 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins< ...
- Jquery如何禁止鼠标右键菜单
jquery中使用contextmenu事件,如果返回true,则允许右键菜单:如果返回false,则禁止右键菜单 导入文件 <script type="text/javascript ...