《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高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- python--django-admin定制页面流程:
django-admin定制页面流程: 1.自定义一个类:要继承 ModelAdmin class Cool(admin.ModelAdmin): pass 2. 在注册时,表名后加 自定 ...
- 重写nyoj2——括号匹配
#include "bits/stdc++.h" using namespace std; int comp(char s1,char s2){ ; ; } int main() ...
- mybatis的update使用选择
更新后台设置时,会分多个页面更新同一个表中的数据,愿想是尽量减少sql请求数据量并且减少重复代码. 比如博客园的: 假如只有一个用户信息表,这样的话每个页面只更新部分字段. 这种情况下的更新推荐在xm ...
- EF - Database First 开发方式
概述 Database First 又叫数据库优先的开发方式,是一种比较旧的开发方式,现在越来越多的企业已经不再使用此种开发方式. 当然,对于一些旧项目进行升级,在已经有了数据库的情况下,使用此种方式 ...
- SQL Server“复杂”概念之理解
用惯了Oracle的人,接触SQL Server中的概念时,会觉得比较难理解,甚至感觉有点“绕”,这是因为Oracle中将某些其他数据库中存在的概念给简化了,这里就拿两个最常见的概念来举例说明:1.s ...
- Physical Limits of ASM
Oracle version 7, only 1,022 datafiles per database could be used. Oracle version 11g, support 65,5 ...
- asp.net mvc如何获取url的相关信息
1.获取完整url信息(协议名+域名+虚拟目录名+文件名+参数) string url = Request.Url.ToString(); 如: //1)获取完整url(协议名+域名+虚拟目录名+文件 ...
- 逆袭之旅DAY16.东软实训.Oracle.序列
2018-07-12 14:07:44 序列 序列1.创建序列create sequence 序列名 [increment by n] ---步长 [start with n] ---序列的起始值 序 ...
- java字符串根据空格截取并存进ArrayList,并在每个元素前后加上/
public class List { public static void main(String[] args) { String s = "abc nnn ooo/xzsxc bs&q ...
- iframe子父页面函数互相调用
1.iframe子页面调用父页面js函数 子页面调用父页面函数只需要写上window.praent就可以了.比如调用a()函数,就写成: window.parent.a(); 子页面取父页面中的标签 ...