VIM操作基础命令
VIM操作基础命令
1 文件操作
1.1 打开文件
VIM 使用 –o 或 –O 选项打开多个文件,其中 –o 表示垂直并排,例如 vim -o lesson4 lesson5 lesson6。大O表示水平排列
- 对于垂直并排的文件:使用 ctrl + w + 上、下方向,表示上、下切换文件;
- 对于水平并排的文件:使用 ctrl + w + 左、右方向,表示左、右切换文件。
- 退出动作是针对所有的(ALL):qa、qa!、wqa
1.2 退出、保存文件
| 按键 | 含义 |
| :w filename | 保存为filename文件名,filename为空保存当前文件 |
| :q | 退出编辑 |
| :q! | 放弃修改直接退出 |
| :qa、qa!、wqa | 退出所以文件 |
1.3 vim键入shell命令
输入 :!ls / ,可以在切换到shell命令ls,查看root目录下文件列表
2 光标操作
| 按键 | 含义 |
| h | 左 |
| j | 下 |
| k | 上 |
| l | 右 |
3 插入模式
|
按键
|
含义
|
|
i
|
在光标的前边进入插入模式 |
|
I
|
在光标所在行的行首进入插入模式 |
|
a
|
在光标的后边进入插入模式 |
|
A
|
在光标所在行的行尾进入插入模式 |
|
o
|
在光标所在行的下方插入空行并进入插入模式 |
|
O
|
在光标所在行的上方插入空行并进入插入模式 |
|
s
|
删除光标指定的字符并进入插入模式 |
|
S
|
将光标所在行清除并进入插入模式 |
4 普通模式
4.1 通用操作
|
按键
|
含义
|
|
0
|
将光标定位到行首的位置 |
|
^
|
同上 |
|
$
|
将光标定位到行尾的位置 |
|
b
|
将光标定位到光标所在单词的起始处 |
|
e
|
将光标定位到光标所在单词的结尾处 |
|
w
|
将光标定位到下一个单词的起始处(注意,是光标所在单词的下一个单词噢^_^) |
|
gg
|
将光标定位到文件的开头 |
|
G
|
将光标定位到文件的末尾 |
|
u
|
撤销最后一次修改 |
|
U
|
撤销对整行的修改 |
|
Ctrl + r
|
恢复撤销的内容 |
|
Ctrl + g
|
查看文件名等状态 |
|
%
|
匹配(),[],{}的另一部分 |
4.2 删除操作
|
按键
|
含义
|
|
d0
|
删除光标从当前位置(不包含)到该行行首的所有字符 |
|
d^
|
同上 |
|
d$
|
删除从光标当前位置(包含)到该行行尾的所有字符 |
|
db
|
删除从光标当前位置(不包含)到单词起始处的所有字符 |
|
de
|
删除从光标当前位置(包含)到单词结尾处的所有字符 |
|
dw
|
删除从光标当前位置(包含)到下个单词起始处的所有字符 |
|
dh
|
删除光标前面一个字符 |
|
dl
|
删除光标指定的字符 |
|
dj
|
删除光标所在行以及下一行的所有字符 |
|
dk
|
删除光标所在行以及上一行的所有字符 |
|
dd
|
删除光标所在行的所有字符 |
|
dgg
|
删除光标所在行(包含)到文件开头的所有字符 |
|
dG
|
删除光标所在行(包含)到文件末尾的所有字符 |
|
x
|
删除单个字符 |
可与数字进行组合,如3dj,表示删除光标下面3行
4.3 复制、粘贴
|
按键
|
含义
|
|
y
|
复制命令 |
|
yy
|
复制当前行 |
|
p
|
将粘贴板内容粘贴到光标前 |
|
P
|
将粘贴板内容粘贴到光标后 |
|
r
|
替换命令,单个字符 |
可与数字进行组合,如3k向上移动3行
4.4 查找、替换
| 按键 | 含义 |
| /findcontent | 光标将定位到光标开始时至查找到的第一个内容处。如需查找下一个,则按下enter键,按下n键查找下一个,按下N查找上一个 |
| :行号 | 光标跳转到某行 |
| :s/old/new | 将光标所在行的第一个 old 替换为 new |
| :%s/old/new/g | 替换整个文件中每个匹配的字符串 |
| :%s/old/new/gc |
在替换时vim咨询弹出 (y/n/a/q/l/^E/^Y) 确认信息:
|
| :5,13s/old/new/g |
替换第 5 行到第 13 行之间的所有old为new |
删除空格行:非编辑状态下输入: g/^$/d
删除行首空格:非编辑状态下输入: %s/^\s*//g
删除行尾空格:非编辑状态下输入: %s/\s*$//g
VIM删除空白行: 在命令状态下输入: :g/^\s*$/d
:g 代表在全文档范围内 ^代表行的开始 \s*代表空白字符 &代表行的结束 d代表删除 用//将3段代码隔开
5 可视模式
普通模式下按v键进入可视模式
可视模式下使用hjkl选中行,使用“数字 + >”,向右缩进数次。其中,>表示右缩进,<表示左缩进
VIM操作基础命令的更多相关文章
- 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
. : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...
- Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
. : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...
- vim操作常用命令总结
这里记录下linux在vim编辑器中的常用命令 vi 的三种模式: 一般模式:以vi打开一个文件时,就是一般模式:可以移动光标,删除字符或删除整行,可以复制.粘贴等操作 编辑模式:在一般模式按下 i ...
- Vim编辑器基础命令
Linux系统中都默认安装了vi或vim编辑器,两种命令基本一致.vim为Vi IMproved,功能更强大. vim有命令模式,输入模式,和末行模式三种. ➢ 命令模式:控制光标移动,可对文本进行复 ...
- vim的基础命令
:q 退出 :wq 保存并退出 :q! 不保存并退出 :w 保存 :w! 强行保存
- centos7 基础命令
一: linux基础 (1) 查看服务器的IP信息 ip add showifconfig (2) 操作网卡命令(重启网络和启用网卡) systemctl restart networksystemc ...
- 2、链接数据库+mongodb基础命令行+小demo
链接数据库并且打印出数据的流程:1.在CMD里面输入 mongod 2.在CMD里面输入 mongo 3.在输入mongodb命令行里面进行操作,首先输入 show dbs 来查看是否能够链接得上库4 ...
- Linux ubuntu下docker容器安装和基础命令
Docker介绍: 云计算就好比大货轮,docker就是集装箱虚拟机虽然可以隔离出很多"子电脑",但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare). 而容器技术 ...
- vim基础命令
2015-06-04 by komilevim基础命令 打开一个文件 vim index.php 几种模式说明Normal Mode也就是最一般的普通模式,默认进入vim之后,处于这种模式.Inser ...
随机推荐
- 170306、wamp中的Apache开启gzip压缩提高网站的响应速度
一个网站的响应速度决定该网站的人气和质量,所以wamp配置的服务器也需要支持giz压缩来提高网站的响应速度,如何开启wamp的gzip压缩呢,经过在网站查找资料结合自己服务器中的配置,现在将这个方法分 ...
- Android Log工具之Luffy
Luffy Luffy可以在手机端实时显示你App中的logcat输出.并且具有Log等级与Tag过滤功能.另外Luffy还支持收集Log,保存Log和查看本地log功能. 使用方法 1.Gradle ...
- Twitter的RPC框架Finagle简介
Twitter的RPC框架Finagle简介 http://www.infoq.com/cn/news/2014/05/twitter-finagle-intro
- Character Sets, Collation, Unicode :: utf8_unicode_ci vs utf8_general_ci
w Hi, You can check and compare sort orders provided by these two collations here: http://www.collat ...
- Python面向对象中的“私有化”
Python面向对象中的“私有化” Python并不直接支持私有方式,而要靠程序员自己把握在外部进行特性修改的时机. 为了让方法或者特性变为私有(从外部无法访问),只要在它的名字前面加上双下划线即可. ...
- 流畅的python 对象引用 可变性和垃圾回收
对象引用.可变性和垃圾回收 变量不是盒子 人们经常使用“变量是盒子”这样的比喻,但是这有碍于理解面向对象语言中的引用式变量.Python 变量类似于 Java 中的引用式变量,因此最好把它们理解为附加 ...
- window安装redis数据库
1.下载安装包 1.百度网盘链接:https://pan.baidu.com/s/1MrAK5Suc1xpzkbp1WQbP0A 提取码:u9uq 2.GitHub:https://github.co ...
- DRF(1) - REST、DRF(View源码解读、APIView源码解读)
一.REST 1.什么是编程? 数据结构和算法的结合. 2.什么是REST? 首先回顾我们曾经做过的图书管理系统,我们是这样设计url的,如下: /books/ /get_all_books/ 访问所 ...
- struts2的HelloWorld的基本过程
login.jsp中 <form action="Login"... 该页面提交后, web.xml中设置的过滤器会起作用 <filter> ...
- always on 之路实践(未完)
概念及参考:http://www.mssqlmct.cn/dba/?post=97 准备:利用vmvare workstation12 克隆了4台windows server 2008 datacen ...