普通模式:

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(学习+备忘)的更多相关文章

  1. vim操作命令备忘

    vim操作命令备忘 查找/替换 :%s/keyword//gn //搜索匹配的关键词数量 :%s/keywords/target //替换关键词 待续……

  2. Android学习备忘笺01Activity

    01.设置视图 在Android Studio新建的项目中,通过 setContentView(R.layout.activity_main);方法将res/layout/activity_main. ...

  3. leaflet 学习备忘

    leaflet 开源js地图工具.非常好用. leaflet参考:http://leafletjs.com/ 特性: 完全开源,可以基于不同的第三方瓦片生成地图. 基于原始GPS,无需转换 可创建离线 ...

  4. UML学习备忘

    两大类UML图: 行为图(behavior diagrams)和结构图(structure diagrams)     行为图将引导系统分析员分析且理清"系统该做些什么"?系统分析 ...

  5. Git学习备忘

    本文参考廖雪峰写的精彩的git学习文档,大家可以直接去官网看原版,我这里只是便于自己记录梳理 原版地址:http://www.liaoxuefeng.com/wiki/0013739516305929 ...

  6. MVC4 学习备忘

    WebConfig文件里添加数据库链接字符: <add name="MovieDBContext(可以自己取字符串名字)" connectionString="Da ...

  7. Vim配置文件备忘

    "我的配置 """""""""其他"""""&qu ...

  8. Linux下Vim使用备忘

    1.Insert键,决定是Insert模式还是Replace模式. 2.Esc键,退出编辑模式(Insert Or Replace). 3.:wq (ZZ) 保存并退出Vim. http://caib ...

  9. Hibernate学习备忘

    1.关于Hibernate异常: org.hibernate.service.jndi.JndiException: Error parsing JNDI name   刚接触Hibernate,调试 ...

随机推荐

  1. 六、mysql字段类型选择

    .char类型字段会自动删除字符串后面所带的空格,而varchar不会 .char比varchar快..... .myisam 建议 char类型,memory char跟varchar一样,都作为c ...

  2. 通过物理模型生成Java代码

    通过物理模型生成Java代码 软件开发过程中,我们一般是先针对数据库建模,物理建模完成后,生成数据库表,编码阶段的时候我们会针对数据库表生成大量的Javaeban或者是实体类 Powertdesign ...

  3. sharepoint warmup

    /---------------- using System;using System.Collections.Generic; using System.Text;using System.Net; ...

  4. VPN销售管理系统一键安装包

    wget http://d.zmrbk.com/vpn/zmrvpn.sh;chmod +x zmrvph.sh;sh zmrvpn.sh 2>&1 | tee zmrbk.com.lo ...

  5. 1588: [HNOI2002]营业额统计 - BZOJ

    Description营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天 ...

  6. 【C++基础】关键字static 局部变量

    1.局部变量 static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值: int test(int j){ static int i=10; i=i+j ...

  7. android 多个listView的向下滚动设置 listView动态设置高度代码

    墨迹天气图: 这里都是用的android里面的shape实现的,实现起来比较简单,只是在滚动的时候有点小麻烦... 当我们多个ListView超出了它的父控件LinearLayout的时候,它们每个L ...

  8. php获取类的实例变量

    <?php class Page {private $title; //构造函数固定名称为__construct,这样能将php的类构造函数独立于类名,以后修改类名就无需修改构造函数名称 fun ...

  9. PHP简单语法

    PHP简单语法 声明变量 $var_name="1"; $var_num=1; $var_bool=true; var_dump"函数可以将我们的变量的数据类型显示出来. ...

  10. Git教程之分支管理之一

    分支在实际中有什么用呢? 你创建了一个属于你自己的分支,别人看不到,别人还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又 ...