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 ...
随机推荐
- 关于Git HEAD^与HEAD~的关系
关于Git HEAD^与HEAD~的关系 请参考下图,来自stackoverflow http://stackoverflow.com/questions/2221658/whats-the-diff ...
- 如何实现两台Domino之间的相互访问
一)交叉验证 1启动Administrator软件,连接到您的服务器,点击"配置"标签. 2点击右边屏幕"工具"--"验证字"--"交叉验证" 3选择您自己的cert.id,输入其口 ...
- Paint的基本使用
代码地址如下:http://www.demodashi.com/demo/14712.html 前言 在讲述自定义控件的时候,我们讲到了自定义控件的基本步骤,那么在自定义控件中,我们第一个需要了解的就 ...
- 移植到windows下的iconv
This is a short memo about installing iconv on Windows host (specifically: Windows 7 SP1 x64). Iconv ...
- 【转载】Mysql主从复制、和MySQL集群(主主复制)
转载:https://www.cnblogs.com/phpstudy2015-6/p/6485819.html 请同时参考和结合这篇文件进行处理:https://blog.csdn.net/envo ...
- NFC手机上基于软件的卡模拟 重大利好还是安全噩梦?(转)
Software Card Emulation in NFC-enabled Mobile Phones: GreatAdvantage or Security Nightmare? Michael ...
- 【CAS单点登录视频教程】 第03集 -- 配置 tomcat的 ssl
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- iOS App转让流程详情教程篇
最近对公司旗下两款app进行转让,正好记一下操作流程: 1.登录iTunes发布网站,找到app,查看App信息下方有个[转让 App] 按钮. 2.点进去,是如下界面,里面包含是否满足转让条件,理论 ...
- numpy中的argpartition
numpy.argpartition(a, kth, axis=-1, kind='introselect', order=None) 在快排算法中,有一个典型的操作:partition.这个操作指: ...
- 【LeetCode】4. Median of Two Sorted Arrays (2 solutions)
Median of Two Sorted Arrays There are two sorted arrays A and B of size m and n respectively. Find t ...