vim快速指南
vi编辑器有3种模式:命令模式、输入模式、末行模式。掌握这三种模式十分重要:
命令模式:vi启动后默认进入的是命令模式,任何模式下,按[Esc]键都可以返回命令模式。
输入模式:可输入字符,在底部显示“--INSERT--”标志着vi进入了输入模式。
末行模式:在命令模式输入":"即可进入该模式,在末行模式中有好多好用的命令。
保存文件:
:w 保存当前文件 :wq 保存并退出 :q退出 :q!强制退出不保存
移动光标:
j向下 k向上 h向左 l向右
w下一个单词词首 W将特殊符号视为单词一部分
b上一个单词词首 B将特殊符号视为单词一部分
0行首 ^ 行首文字(行首空格之后)$ 行末
H 页面顶部 M页面中部 L页面底部
数字参数:
可以使用数字参数来重复执行。例如:
100j 执行100此j键,向下100行
GG 文件行首 G文件末行
<行号>G 按行号转到相应的行
编辑:n代表数字
x删除当前字符 dd删除当前行 yy复制当前行 p在光标后粘贴 P在光标前粘贴
ndd 从当前行开始删除n行 nx 删除光标处向右三个字符
u撤销最近一次操作,可以使用多次来回复所有操作。U取消所有操作
yy 复制当前行到缓存 yw复制当前单词 y$复制当前位置到行尾 y^复制当前位置到行首
nyy 复制n行 nyw 复制n各单词
如果要复制第m行到第n行之间的内容:m,ny 例如:3,5y复制第三行到第五行到缓存
查找:
查找和替换主要在末行模式
自上而下查找 /要找的字符 例如:/work 查找work
自下而上查找 ?要找的字符 例如:?work 查找work
替换:
:s/old/new 用new替换行中首次出现的old
:s/old/new/g 用new替换行中所有出现的old
m,n s/old/new/g 替换从第m行到第n行中出现的所有old
% s/old/new/g 用new替换整篇中出现的old
:s/old/new/gc 全局替换并需要用户确认
获取帮助命令 用:help [内容或命令]
vim快速指南的更多相关文章
- Vim 学习指南
作者:耀耀 出处:http://www.linuxeden.com/html/news/20130820/142667.html Vim 学习指南 来源:开源中国社区 作者:耀耀 关注我们: 你想 ...
- [译] MongoDB Java异步驱动快速指南
导读 mongodb-java-driver是mongodb的Java驱动项目. 本文是对MongoDB-java-driver官方文档 MongoDB Async Driver Quick Tour ...
- 转:C++ Boost/tr1 Regex(正则表达式)快速指南
C++ Boost/tr1 Regex(正则表达式)快速指南 正则表达式自Boost 1.18推出,目前已经成为C++11(tr1)的标准部分. 本文以Boost 1.39正则表达式为基础,应该广泛适 ...
- (译)快速指南:用UIViewPropertyAnimator做动画
翻译自:QUICK GUIDE: ANIMATIONS WITH UIVIEWPROPERTYANIMATOR 译者:Haley_Wong iOS 10 带来了一大票有意思的新特性,像 UIViewP ...
- JUnit5 快速指南
JUnit5 快速指南 version: junit5 1. 安装 2. JUnit 注解 3. 编写单元测试 3.1. 基本的单元测试类和方法 3.2. 定制测试类和方法的显示名称 3.3. 断言( ...
- 【SFA官方翻译】使用 Kubernetes、Spring Boot 2.0 和 Docker 的微服务快速指南
[SFA官方翻译]使用 Kubernetes.Spring Boot 2.0 和 Docker 的微服务快速指南 原创: Darren Luo SpringForAll社区 今天 原文链接:https ...
- Emacs 快速指南(中文翻译)
Emacs 快速指南 目录 1. 小结(SUMMARY) 2. 基本的光标控制(BASIC CURSOR CONTROL) 3. 如果 EMACS 失去响应(IF EMACS STOPS RESP ...
- 29 A Quick Guide to Go's Assembler 快速指南汇编程序:使用go语言的汇编器简介
A Quick Guide to Go's Assembler 快速指南汇编程序:使用go语言的汇编器简介 A Quick Guide to Go's Assembler Constants Symb ...
- Emacs 快速指南 - 原生中文手册
Emacs 快速指南 -折叠目录 1. 小结(SUMMARY) 2. 基本的光标控制(BASIC CURSOR CONTROL) 3. 如果 EMACS 失去响应(IF EMACS STOPS RES ...
随机推荐
- Python——XPath使用
一:XPath介绍 XPath全称XML路径语言,用于确定XML文档中某部分位置.XPath基于XML树状结构,在树中寻找结点. 现在,一般使用XPath在XML中查找.提取信息,同时,它也支持HTM ...
- 〖Android〗dropbear一些操作命令备忘
相关命令行: # 启动dropbear后台运行 /data/local/tmp/dropbear \ -A -N android -I -C -G -p \ -R /data/local/tmp/au ...
- SpringBoot常用属性配置
SpringBoot 2.x:https://github.com/spring-projects/spring-boot/blob/2.0.x/spring-boot-project/spring- ...
- Red Hat7.2 上安装 MySQL5.5.58
1.首先查看linux版本:cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.2 (Maipo) 2.Linux查看版 ...
- 转: Ogre实现无缝地图要改的地方 记下来 用的时候可以看
//OgreTerrainQuadTreeNode.hSceneNode* getLocalSceneNode(){return mLocalNode;} //OgreTerrain.huint16 ...
- HighStock如何动态添加数据组
var charts = null; $(function () { var seriesIds = [830]; // Create the ...
- 可扩展的Web系统和分布式系统(Scalable Web Architecture and Distributed Systems)
Open source software has become a fundamental building block for some of the biggest websites. And a ...
- TestNg的IReporter接口的使用
IReporter接口是干嘛的?就是让用户自定义报告的,很多人想要自定义报告,于是乎找各种插件,比如什么testng-xslt啊,reportng啊,各种配置,最后出来的结果,还不能定制化,但为什么不 ...
- 安装cacti
操作介绍如下: http://foreveryan.blog.51cto.com/3508502/775558 安装如下: 英文地址:http://www.cyberciti.biz/faq/fedo ...
- 如何在Android Studio项目中导入开源库?
前两天,谷歌发布了Android Studio 1.0的正式版,也有更多的人开始迁移到Android Studio进行开发.然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不 ...