一滴一点vim(学习+备忘)
普通模式:
h j k l 分别是左下上右方式移动;
:w 保存修改
:q 推出
:wq 保存修改并退出
:q! 放弃修改强制推出
x 删除光标所在位置字符
i 在光标所以位置插入字符
删除类命令:
dw 从光标处删除至一个单字/单词的末尾
d$ 从当前光标删除到行末
d的简短对象列表
w - 从当前光标当前位置直到单字/单词末尾,包括空格。
e - 从当前光标当前位置知道单字/单词末尾,包括*不*包括空格。
$ - 从当前光标当前位置知道行末。
dd 删除光标所在的整行
2dd 删除光标所在行及下一行,数字是连续删除几行,默认是1行,3dd是连续删除3行
撤销类命令:
u 撤销修改,类似与Ctrl+z
U 回到该行原始状态
Ctrl+r 执行回复命令,撤销掉撤销命令
置入类命令:
dd 删除后,删除的内容会移到缓冲区
p 移到想置入位置的上方,再按p键粘贴
替换类命令:
r 光标位置字符,按r后再按想要替换的字符
更改类命令:
cw 改变一个单字/单词的部分或全部
c$,ce 前面小列表有提到$和e,c是命令 w、$和e都是对象
定位及文件状态:
Ctrl+g 页面最低不出现一个状态信息行,显示的内容是当前百年及的文件名和文件的总行书
G 当前光标直接跳转到文件最后一行
#+G 返回当时按指定行号的行,#代表行号,类似 :行号,注意:输入行号时,行号不会在屏幕上显示出来
搜索类命令:
/+ 字符串 找到搜索的字符串
然后
n 向上查找相同的字符
N 向下查找相同的字符
?代替/ 逆向查找字符串
配对括号的查找:
% 光标移至括号处,按%可以查找配对的括号)、]、}
修正错误的方法之一
:s/old/new/ 替换一行内第一个匹配的字符串
:s/old/new/g 替换当前行所有匹配的字符串
:#,#s/old/new/g #代表行号,替换两行之间每个匹配的字符串
:%s/old/new/g 全局替换,替换整个文件中的每个匹配的字符串
在 VIM 內執行外部命令的方法:
! 输入:!然后紧随输入一个外部命令可以执行该外部命令
步骤:
1.按下我们所熟悉的:命令设置光标到屏幕底部。这样就可以输入命令了。
2.接着输入感叹号!这个字符,这样就允许你执行外部的shell命令了。
3.现在以ls命令为例。
:!ls<回车> 该命令就会列举出你当前目录的内容,效果同你在命令行提示符下输入ls命令的结果一样。
:!dir<回车>
---> 提示︰ 所有的外部命令都可以以这种方式执行。
---> 提示︰ 所有的 : 命令都必须以 <回车> 告终。
关于保存文件的更多信息
:w filiename 其中filename是一个尚未存在的文件,用来保存整个文件。
:!rm filename 删除文件
一个具有选择性的保存命令
:#,#w filename #是行号,作用是将两行之间的内容保存到filename这个新创建的文件中。
提取和合并文件
:r filename
打开类命令:
o 在光标下方打开新的一行并进入插入模式;
O 在光标上方打开新的一行并进入插入模式;
光标后插入命令:
a 光标后插入文本
A 行末后插入文本
另外一个置换命令的版本
R 可连续替换多个字符
设置类命令:
:set xxx 可以设置XXX选项
例如:set ic 搜索时忽略大小写
使用在线帮助系统
Vim 拥有一个细致全面的在线帮助系统。要启动该帮助系统,请选择如下三种方
法之一∶
- 按下 <HELP> 键 (如果键盘上有的话)
- 按下 <F1> 键 (如果键盘上有的话)
- 输入 :help <回车>
输入 :q <回车> 可以关闭帮助窗口。
提供一个正确的参数给":help"命令,您可以找到关于该主题的帮助。请试验以
下参数(可别忘了按回车键哦。:)∶
:help w <回车>
:help c_<T <回车>
:help insert-index <回车>
:help user-manual <回车>
创建一个启动脚本
:edit ~/.vimrc 编辑vimrc文件
:read $VIMRUNTIME/vimrc_example.vim 导入vimrc范例文件
:write 保存文件
一滴一点vim(学习+备忘)的更多相关文章
- vim操作命令备忘
vim操作命令备忘 查找/替换 :%s/keyword//gn //搜索匹配的关键词数量 :%s/keywords/target //替换关键词 待续……
- Android学习备忘笺01Activity
01.设置视图 在Android Studio新建的项目中,通过 setContentView(R.layout.activity_main);方法将res/layout/activity_main. ...
- leaflet 学习备忘
leaflet 开源js地图工具.非常好用. leaflet参考:http://leafletjs.com/ 特性: 完全开源,可以基于不同的第三方瓦片生成地图. 基于原始GPS,无需转换 可创建离线 ...
- UML学习备忘
两大类UML图: 行为图(behavior diagrams)和结构图(structure diagrams) 行为图将引导系统分析员分析且理清"系统该做些什么"?系统分析 ...
- Git学习备忘
本文参考廖雪峰写的精彩的git学习文档,大家可以直接去官网看原版,我这里只是便于自己记录梳理 原版地址:http://www.liaoxuefeng.com/wiki/0013739516305929 ...
- MVC4 学习备忘
WebConfig文件里添加数据库链接字符: <add name="MovieDBContext(可以自己取字符串名字)" connectionString="Da ...
- Vim配置文件备忘
"我的配置 """""""""其他"""""&qu ...
- Linux下Vim使用备忘
1.Insert键,决定是Insert模式还是Replace模式. 2.Esc键,退出编辑模式(Insert Or Replace). 3.:wq (ZZ) 保存并退出Vim. http://caib ...
- Hibernate学习备忘
1.关于Hibernate异常: org.hibernate.service.jndi.JndiException: Error parsing JNDI name 刚接触Hibernate,调试 ...
随机推荐
- Head First设计模式悟道
暂时包括 策略模式,观察者,装饰模式,工厂模式,抽象工厂模式,后续会继续补充中,纯属个人总结用,不喜勿喷, 源代码见: 传送门 public class NYPizzaIngredientFactor ...
- 【BZOJ 1927】 [Sdoi2010]星际竞速
Description 10 年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一, 夺得这个项目的冠军无疑是很多人的梦想,来自杰森座 α星的悠悠也是其中之一. 赛车大赛的赛场由 N 颗行星和 ...
- spring dataSourceRouter自动切换数据源
spring多数据源的切换,主要用到的是AbstractRoutingDataSource这个路由类,当我们的自定义的一个路由分发类继承AbstractRoutingDataSource类后,重写de ...
- Object-C单元测试&MOCK(摘录精选)
断言测试类型: 下面一共18个断言(SDK中也是18个,其含义转自ios UnitTest 学习笔记,真心佩服原文的博主): XCTFail(format…) 生成一个失败的测试: XCTAssert ...
- 多智能体仿真环境 NetLogo
http://ccl.northwestern.edu/netlogo/ 创建agentcreate-turtles 10 动一动ask turtle 0 [forward 10 right 90 l ...
- 1176: [Balkan2007]Mokia - BZOJ
Description维护一个W*W的矩阵,每次操作可以增加某格子的权值,或询问某子矩阵的总权值. 修改操作数M<=160000,询问数Q<=10000,W<=2000000.Inp ...
- Mybatis 一对一、一对多、多对多关联之级联添加
示例项目:MIPO_CRM 一.一对一关联 示例:订单与销售机会 描述:在业务员与客户的联系人的联系记录中可以生成一条销售机会,而此条销售机会可生成一条订单,两者呈一对一关联. 1.表设计 oppor ...
- hibernateTemplate的load方法
hibernateTemplate的load方法采用延迟加载,所以应当注意. 如果配置不当,采用此方法获取对象,往往会出现异常: javax.servlet.ServletException: org ...
- 在TNSNAMES.ORA文件中配置本机装的oracle
首先,感谢这两位网友:http://zhidao.baidu.com/link?url=eGYeoEa-EhQdVitSGqjE36uNfVmEsryXH1WUjPue6YvArDSx-Y1N9_rd ...
- bzoj 3637: Query on a tree VI 树链剖分 && AC600
3637: Query on a tree VI Time Limit: 8 Sec Memory Limit: 1024 MBSubmit: 206 Solved: 38[Submit][Sta ...