vim常忘命令
1、复制指定行到当前光标的下一行。
#假设当前光标在10行,想把第5行复制到第11行
:5copy.
#copy命令有2种简写'co'和't',所以也可以写成下面的格式
:5co.
:5t.
参考:http://liuzhijun.iteye.com/category/270228
2、输入多次同一单词
#例如:输入10遍”look“
)移动到需要的地方后
)按ese,确保处于编辑模式
)输入需要的次数10
)按i,输入需要的字
)按ese
#原理就是:在普通模式下输入次数,然后进入插入模式,输入文本,在ecs进入普通模式,完成。
3、想复制含有某个关键字的所有行到另外一个文件中,该如何操作呢?
例如:
<1>this is a
book;
<2>this is a
dog;
<3>this is a
english book;
要将所有含book的行copy出来。
方法:
" Clear register A
:let @a=""
" Append all lines which matchs book to register A
:g/book/y A
" Open a new buffer
:new
" Paste content of register A into the new buffer
:put a 解释:
:let @a="" 使用let命令寄存器a里的内容清空
:g/book/y A 把所有包含book的行都添加到寄存器a中。注:此处是A而不是a,A意味着符合要求的行都被追加到寄存器a中,而a则意味着符合要求的行都会替代寄存器里的内容,如果用a就会导致最后寄存器里只有符合要求的最后一行。
至此,所有包含book的行都在寄存器a里面了。
:put a 把寄存器a里的内容粘贴出来
也可以直接写到文件中去:
:g/book/. w >> filename
4、如果进行多行注释和取消注释?
注释:
)ctrl+v 进入列编辑模式
)向下或向上移动光标,把需要注释的行的开头标记起来
)然后按大写的I
)再插入注释符,比如"#"
)再按Esc,就会全部注释了 取消注释:
)ctrl+v 进入列编辑模式,
2)向下或向上移动光标,选中注释部分,
3)然后按d, 就会删除注释符号(#)。
vim常忘命令的更多相关文章
- 关于Linux的常忘命令积累
1.在vim中显示行号 在/etc/vimrc里加上一行 set nu! 2./etc/sysconfig/network-scripts/ifcfg-eth0 (DNS1=192.168.1 ...
- vi和vim区别及命令详解
vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本.vi使用于文本编辑,但是vim更适用于coding. 现将vim的命令行收集于下: vi有3个模式:插入模 ...
- vim显示历史命令
[vim显示历史命令] q: 进入命令历史编辑.类似的还有 q/ 可以进入搜索历史编辑.注意 q 后面如果跟随其它字母,是进入命令记录. 可以像编辑缓冲区一样编辑某个命令,然后回车执行.也可以用 ct ...
- Vim保存文件命令 ":wq" 与 ":x" 的区别
CSDN转载 [1] Vim是Unix/Linux系统最常用的编辑器之一,在保存文件时,我通常选择":wq",因为最开始学习vim的时候,就只记住了几个常用的命令:也没有细究命令的 ...
- Linux下Vim工具常用命令
原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html 在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚 ...
- vim经常使用命令总结
vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是非常主要的东西,也常常被用到,总结例如以下: v 从光标当前位置開始,光标所经过的地方会被选中,再按一下v结束. V ...
- vim在编译器 . 命令(点命令)
时间:2014.06.28 地点:基地 -------------------------------------------------------------------------------- ...
- 再探vim经常使用命令
最開始学习过vim,见 http://blog.csdn.net/u011848617/article/details/12837873 之后以前不了了之,当再次学习后,发现经常使用命令的掌握还 ...
- vim全局替换命令
vim全局替换命令 语法为 :[addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行.如:“1,20” ...
随机推荐
- 排序基础之归并排序、快排、堆排序、希尔排序思路讲解与Java代码实现
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6594855.html 一:归并排序==通过中间值进行左右划分递归,然后调用合并函数对左右递归的结果进行合并( ...
- Java Singleton的3种实现方式
1.通过静态成员字段来实例化 public class Elvis { /** * 通过final的静态成员字段来调用私有的构造函数实例化对象 */ public static final Elvis ...
- org.apache.commons.lang.exception包的ExceptionUtils工具类获取getFullStackTrace
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...
- python之模块pprint之常见用法
# -*- coding: cp936 -*- #python 27 #xiaodeng #python之模块pprint之常见用法 import pprint data = [(1,{'a':'A' ...
- python模块之importlib(py3中功能有明显加强)
# -*- coding: utf-8 -*-#python 27#xiaodeng#python模块之importlib(py3中功能有明显加强)
- 基于python2【重要】怎么自行搭建简单的web服务器
基本流程:1.需要的支持 1)python本身有SimpleHTTPServer 2)ForkStaticServer.py支持,该文件放在python7目录下 3)将希望共享 ...
- 三种分布式对象主流技术——COM、Java和COBRA
既上一遍,看到还有一遍将关于 对象的, 分布式对象, 故摘抄入下: 目前国际上,分布式对象技术有三大流派——COBRA.COM/DCOM和Java.CORBA技术是最早出现的,1991年OMG颁布了C ...
- Golang 用go-sql-driver 调用MySQL存储过程时的问题排查
今天在用go-sql-driver做MySQL driver调用MySQL的存储过程时遇到一个罕见的报错.本文对这个错误及其解做一个简单的总结. 1 问题描述 按照go中sql包提供的接口,应用层代码 ...
- libev与libevent区别
摘自stackflow的回答,主要从架构上说明了二者的区别: As for design philosophy, libev was created to improve on some of the ...
- 有关于malloc申请内存和free内存释放
malloc工作机制: malloc函数的实质体现在,它有一个将可用的内存块连接为一个长长的列表的所谓空闲链表(堆内存).调用malloc函数时,它沿连接表寻找一个大到足以满足用户请求所需要的内存块. ...