vim编辑器的简单使用
写这篇文章是因为在更新我的一篇博客 Git的其他用法 的时候,里面的修改已经提交的commit说明这一部分需要用到vim。
在使用git config --global --edit或者git rebase -i commiteId^的时候,git会进入文本编辑模式。默认的编辑器是vim,你可以在Git安装的上层目录\Git\usr\bin里找到vim.exe。
这让我想起以前使用VI(Visual Interface)和VIM(VI IMproved)编辑器时的懵逼。现在干脆把vim的基本使用整理出来。
vim编辑器有两种模式,分别为命令模式和编辑模式。
一、命令模式
当你刚进入文本编辑器的时候,处于编辑器的命令模式。这个命令模式可以做很多事情。这里介绍几个常用的:
| 命令 | 对应英文单词 | 说明 |
|---|---|---|
i |
insert | 进入编辑模式,将光标定位在当前字符的前面 |
v |
visual mode | 按一下v相当于你平时在MS Word里面按住shift,用来选择(高亮)一段文本 |
y |
yank | 和复制的功能一样(英文意思为:猛拉) |
p |
paste | 粘贴到当前字符前面 |
x |
x就是"叉"(或者“干掉”)的意思 | 删除被高亮的字符(光标所在的字符也算是被高亮的字符) |
yy |
yank | 复制光标所在行 |
dd |
delete | 删除光标所在行 |
u |
undo | 撤销上一个修改 |
ctrl + r |
redo | 不小心撤销过多的时候使用 |
/想搜索的字符串 |
/之后无空格,按Enter键开始搜索。按n(即next)往下搜索,按N往上搜索 |
|
1,$ s /text1 /text2 /c |
substitute | 把text1替换成text2。1,$表示在整个文档搜索,当你把数字1换成小数点.时,表示从当前位置开始搜索。/c表示让你选择找到之后的动作:y(yes)表示替换当前所选;n(next)表示跳过当前所选;a(all)表示当前所选及剩下的全部替换,不再确认;q(quit)表示停止替换。 |
:q! |
quit discard | 舍弃修改并退出 |
:wq |
write then quit | 保存修改并退出 |
看到:q!这个命令,可能有点懵圈。你没看错,得先输入一个冒号:,再去输入q!。最开始的时候我不知道要输入冒号,结果半天退不出来。
重要的说明:
在i的说明中,你可能不太理解为什么说“将光标定位在当前字符的前面”。在vim编辑器的命令模式下,光标是覆盖在字符上的。当你按i,它就将光标定位到当前字符的前面。与此相对的,按a(即append)时,光标就定位到当前字符的后面。
如图所示:

找了半天终于找到一个不错的在线vim编辑器:Vim.js
还有一款加载比较慢的:Interactive Vim tutorial - sandbox
点进去后你能直观地看到光标是覆盖到字符上的。你可以分别按i和a来查看效果。
至于其他命令,还是看图比较直观:

当然,你也可以下载vim的文档。这里是官方文档:vimbook-OPL.pdf
二、编辑模式
当你按i进入编辑模式的时候,基本上就可以照常编辑文本了。
除了正常的输入外,这些按键也可以正常使用:del(往光标后删除),back(也就是键盘上的←,往光标前删除),enter(回车键),tab(制表符)
但是注意,想要选择字符或者复制粘贴等的时候,必须退出编辑模式,到命令行模式去执行操作。
当你想要退出编辑模式的时候,按esc键。注意,这时是退到命令模式,不是完全退出。你得在命令模式输入命令来完全退出编辑。
知道了以上这些介绍,你可以进行基本的编辑了。
vim编辑器的简单使用的更多相关文章
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- git介绍以及一些常用命令,加上vim编辑器的简单使用
https://www.jianshu.com/p/04a6517869b4 vim:进入vim编辑器,如果后接文件名,则进入该文件的编辑模式,看图:①.vim编辑器中,按i进入编辑模式:②.按Esc ...
- Linux Vim编辑器使用简单讲解
在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明:Linux默认自带vi(vim)编辑器,其程序包为:[root@linuxidc.com ~]# rpm -qf `whic ...
- Vim编辑器Go简单入门
今天是一次做Go的笔记,一开始直接打开Github上的Go项目然后跑到Wiki位置,然后作者列出了一堆学习Go的资料,这里我 以第一个学习资料https://tour.golang.org/作为Go学 ...
- vim编辑器最简单使用方法
i 输入模式 :q 不保存退出 :q! 强制退出 :wq 保存退出 j 下 k 上 h 左 l 右 gg start G end x 往后删 X 往前删 yy 复制行 p 粘贴 dd 剪切行 u 撤销 ...
- Vim 编辑器及其基本操作
实验楼某些课程有用 Vim 编辑器来写代码,因此有了这篇博客,据说是上古神器,当然主要目的是基本操作. Vim 编辑器 Vim(Vi IMprove) 是 Linux 系统上的最著名的文本/代码编辑器 ...
- VIM编辑器简单总结
第一讲小结 1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键. h (左移) j (下行) k (上行) l (右移) 2. ...
- 玩转Vim 编辑器
一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...
- Linux vim编辑器使用详解
在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明: Linux默认自带vi(vim)编辑器,其程序包为: [root@xuegod163 ~]# rpm -qf `--1.8 ...
随机推荐
- Nginx均衡负载(IP_HASH)未生效
由于公司业务的发展,单台服务器已经无法满足并发和用户的需求,所以只能通过水平拓展的方式加机器来解决,线上采用的是Nginx+Tomcat集群的方式来解决.由于当前业务量不是很大,而且由于之前代码的问题 ...
- Asterisk 未来之路3.0_0006
原文:Asterisk 未来之路3.0_0006 Modules Asterisk 是基于模块构建的.一个模块提供某个特定的功能,它是动态的被装载.比如:信道驱动(chan_sip.so),或可以连接 ...
- Dotfuscator自定义规则中的元素选择
Dotfuscator是专业的.NET程序代码保护软件.是支持规则自定义的,你可以对重命名.程序控制流.字符串加密等等功能自定义规则.在进行规则自定义过程中,可以通过元素的不同选择,满足自己的程序需要 ...
- Rails当你运行一个数据库回滚错误:ActiveRecord::IrreversibleMigration exception
最近rails3.2在更改数据库表字段,然后要回滚取消,但在运行rake db:rollback命令,错误: rake aborted! An error has occurred, all late ...
- dpkg: error processing mysql-server (--configure): dependency problems - leaving unconfigured
dpkg: error processing mysql-server (--configure): dependency problems - leaving unconfigured start: ...
- oracle读写文件--利用utl_file包对磁盘文件的读写操作
oracle读写文件--利用utl_file包对磁盘文件的读写操作 摘要: 用户提出一个需求,即ORACLE中的一个表存储了照片信息,字段类型为BLOB,要求能导出成文件形式. 本想写个C#程序来做, ...
- grunt实用总结
grunt实用总结 文章梗概如下: 如何让Grunt在项目跑起来 初识:Gruntfile.js 术语扫盲:task & target 如何运行任务 任务配置 自定义任务 文件通配符:glob ...
- c++class 内存布局
#include <iostream> using namespace std; class base1 { int a; double b; char c; }; int main() ...
- CSS盒模型和定位的类型
此文根据Steven Bradley的<How Well Do You Understand CSS Positioning?>所译,整个译文带有我自己的理解与思想,如果译得不好或不对之处 ...
- Prolog学习:基本概念 and Asp.net与Dojo交互:仪器仪表实现
Asp.net与Dojo交互:仪器仪表实现 项目中需要用到仪器仪表的界面来显示实时的采集信息值,于是便遍地寻找,参考了fusionchart和anychart之后,发现都是收费的,破解的又没有这些功能 ...