黑马程序员——vim编辑器的使用
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、基本操作
1、从命令提示符进入vim编辑器: vim filename <ENTER>
2、光标的移动
左移: h
右移: l
上移: k
下移: j
3、删除光标所在的字符: x
4、插入或附加文本:
i 在光标前插入文本
a 在光标后附加文本
5、删除当前行,并把删除的行存入剪贴板中: dd
6、粘贴剪贴板: p
7、显示相关命令帮助: :help <command>
退出帮助输入 :q<ENTER>
8、退出编辑器:
:q! 放弃修改并退出
:wq 保存修改并退出
当启动vim编辑器后, vim处在normal模式,此时可以使用以上命令符的基本操作。当时用i或a等操作时,会进入insert模式,此时可以输入文本。使用esc可以退出insert模式,再次回到normal模式。
以上基础操作可以满足normal模式的基本需求,接下来扩充的命令符,同样需要在normal模式下操作。
二、命令符的基本格式
operator [number] motion
其意是:
operator :代表要做的事
[number]:代表命令执行的次数
motion:代表要操作的对象
三、删除类与撤销类命令
(一)删除类命令
删除类命令 d,其格式为
d [number] motion
dw :从光标处删除至下个单词(包含空格)
de :从光标处删除至下一个单词末尾(不包含空格)
d$ :从光标处删除至当前行末
(二)撤销类命令
u :撤销以前的操作
N :撤销在一行中所做的改动
CTRL-R :撤销掉撤销命令,恢复以前的操作
四、置入、替换和更改类命令
(一)置入类命令
i :在光标前插入文本
a :在光标后附加文本
A:在光标所在行的行末插入文本
p :将删除的文本内容置于光标之后,如果最后一次删除的是一整行,那么该行将置于当前光标所在的下一行
o :在光标下方打开新的一行
shfit-o :在光标上方打开新的一行
(二)替换类
r :替换光标所在的字符
R :进入替换模式,此时可以将光标之后的内容替换,直至输入esc回到normal模式
:s/old/new :在一行内替换头一个字符串old为新的字符串new
:s/old/new/g :在一行内替换所有字符串old为新的字符串new
:#,#s/old/new/g :在两行内替换所有字符串old为新的字符串new(#代表行号)
:%s/old/new/g :在文件内替换所有字符串old为新的字符串new
:%s/old/new/c :在进行全文替换时询问用户确认每个替换
(三)更改类命令符格式
c [norber] motion
列如: cw, c$
五、定位、搜索类命令
(一)定位类
CTRL-g :显示当前光标所在位置和文件状态信息
SHIFT-g :将光标跳转至文件最后一行
[number] SHIFT-g :跳转至number所代表的行号
gg :跳转至文件开头
(二)搜索类命令
/字符串 :向当前光标后查找该字符串
?字符串 :向当前光标前查找该字符串
n :同方向上重复上一次查找
shift-n :反方向上重复上一次查找
% :若此时光标在(),{ },[ ]上,输入%可以查找相配对的括号
六、文本的保存、提取与合并
在vim中可以使用外部命令,其格式为: :!command
:!ls :用于显示当前目录内容
:!rm filename :用于删除名为filename的文件
:w filename :用于将vim中正在编辑的文件保存名为filename的文件中
v motion :w filename :将所选的行保存在filename的文件中
:r !ls :将当前目录的内容插入当前文件的光标后面
七、设置类的命令选择
:set xxx :可以是指xxx选项,如:
‘ic’ :搜索时忽略大小写
‘is’ :显示一个匹配的搜索结果
'hls' :高亮显示所有匹配的结果
前置‘no’ 可以取消设置,如: :set noic
想要玩转vim,以上基础内容还是远远不够,但是打好牢固的基础才是良好的开始,在以后的编程之路上再慢慢探索,探寻更深层,更便捷的方法,让vim成为自己走向成功的一个优良工具。
黑马程序员——vim编辑器的使用的更多相关文章
- 程序员的编辑器——VIM
from:http://blog.chinaunix.net/uid-11278770-id-148579.html Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册 ...
- 黑马程序员:3分钟带你读懂C/C++学习路线
随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为一门贵族语言,出色的性能使之成为高级语言中的性能王者.而在今天,它又扮演着什么样重要的角色呢?请往下看: 后端服务器,移 ...
- 【黑马18期Java毕业生】黑马程序员Java全套资料+视频+工具
Java学习路线图引言: 黑马程序员:深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗. 为此我们历时一个月整理这套Java学习路线图,不管你是不懂电脑的小 ...
- 黑马程序员——【Java高新技术】——代理
---------- android培训.java培训.期待与您交流! ---------- 一.“代理概述”及“AOP概念” (一)代理概述 1.问题:要为已存在的多个具有相同接口的目标类的各个方法 ...
- 黑马程序员+SQL基础(上)
黑马程序员+SQL基础 ---------------<a href="http://edu.csdn.net"target="blank">ASP ...
- 黑马程序员+Winform基础(上)
黑马程序员+Winform基础 ---------------<a href="http://edu.csdn.net"target="blank"> ...
- 黑马程序员—C语言的函数、数组、字符串
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.函数 定义:函数是代码复用的一种机制. 函数的基本语法: 返回类型 函数名 ( 参数类型 参 ...
- 黑马程序员:Java基础总结----泛型(高级)
黑马程序员:Java基础总结 泛型(高级) ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ...
- 黑马程序员:Java基础总结----类加载器
黑马程序员:Java基础总结 类加载器 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 类加载器 Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个 ...
随机推荐
- FZU 2129 子序列个数 (动态规划)
题意:子序列的定义:对于一个序列a=a[1],a[2],......a[n].则非空序列a'=a[p1],a[p2]......a[pm]为a的一个子序列,其中1<=p1<p2<.. ...
- Cocos2d的特性
从本质上说,Cocos2d是一个图形引擎,封装了复杂的图形接口,通过抽象出精灵.动作等概念,降低了游戏开发难度,简化了开发过程.Cocos2d-x为保证游戏能方便地移植到不同平台上,又在此基础上做了很 ...
- JDBC操作数据库 封装好的工具类
mysql sqlserver oracle 数据库的驱动jar包http://download.csdn.net/download/csdn576038874/8833683package cn.h ...
- CentOS 6.7平台nginx压力测试(ab/webbench)
压力测试工具一:webbench 1.安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz tar zxvf w ...
- SQL带参数拼接
List<SqlParameter> paras = new List<SqlParameter>(); string wherSql = PreWhereSQL + GetQ ...
- 码表 Unicode GBK UTF8 示例
Unicode的编码形式与对应的字符串相互转换 /** * Unicode的编码形式与对应的字符串相互转换 * @author 白乾涛 */ public class UnicodeUtils ...
- C#语法糖之第二篇: 参数默认值和命名参数 对象初始化器与集合初始化器
今天继续写上一篇文章C#4.0语法糖之第二篇,在开始今天的文章之前感谢各位园友的支持,通过昨天写的文章,今天有很多园友们也提出了文章中的一些不足,再次感谢这些关心我的园友,在以后些文章的过程中不断的完 ...
- WCF学习笔记一(概述)
WCF Windows Communication Foundation 分布式通信框架.WCF是对现有分布式通信技术的整合.是各种分布式计算的集大成者.主要整合技术如下图: WCF的服务不能孤立的 ...
- java: Eclipse jsp tomcat 环境搭建(完整)
] 欢迎您! 要学习一门语言,首先要做的就是搭建环境,然后能写一个小的Demo(类似Helloworld),不仅可以建立信心,而且还可以为之后的学习搭建一个验证平台,事半功倍. net领域的vs,号称 ...
- Css3 兼容新旧浏览器
想想10年前用 IE6,火狐,遨游,谷歌等浏览器学习css时,那叫一个艰苦,各种hack各种抓耳挠腮,不是margin塌陷就是元素飞了... 当前借着css3这个东风,如果各大浏览器厂商能统一一下,也 ...