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) 确认信息:

    • y 表示替换
    • n 表示不替换
    • a 表示替换所有
    • q 表示放弃替换
    • l 表示替换第一个并进入插入模式
    • ^E 表示用 Ctrl+e 来滚动屏幕
    • ^Y 表示用 Ctrl+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操作基础命令的更多相关文章

  1. 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用

    . : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...

  2. Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用

    . : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...

  3. vim操作常用命令总结

    这里记录下linux在vim编辑器中的常用命令 vi 的三种模式: 一般模式:以vi打开一个文件时,就是一般模式:可以移动光标,删除字符或删除整行,可以复制.粘贴等操作 编辑模式:在一般模式按下 i ...

  4. Vim编辑器基础命令

    Linux系统中都默认安装了vi或vim编辑器,两种命令基本一致.vim为Vi IMproved,功能更强大. vim有命令模式,输入模式,和末行模式三种. ➢ 命令模式:控制光标移动,可对文本进行复 ...

  5. vim的基础命令

    :q 退出 :wq 保存并退出 :q! 不保存并退出 :w 保存 :w! 强行保存

  6. centos7 基础命令

    一: linux基础 (1) 查看服务器的IP信息 ip add showifconfig (2) 操作网卡命令(重启网络和启用网卡) systemctl restart networksystemc ...

  7. 2、链接数据库+mongodb基础命令行+小demo

    链接数据库并且打印出数据的流程:1.在CMD里面输入 mongod 2.在CMD里面输入 mongo 3.在输入mongodb命令行里面进行操作,首先输入 show dbs 来查看是否能够链接得上库4 ...

  8. Linux ubuntu下docker容器安装和基础命令

    Docker介绍: 云计算就好比大货轮,docker就是集装箱虚拟机虽然可以隔离出很多"子电脑",但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare). 而容器技术 ...

  9. vim基础命令

    2015-06-04 by komilevim基础命令 打开一个文件 vim index.php 几种模式说明Normal Mode也就是最一般的普通模式,默认进入vim之后,处于这种模式.Inser ...

随机推荐

  1. 160623、理解 Promise 的工作原理

    Javascript 采用回调函数(callback)来处理异步编程.从同步编程到异步回调编程有一个适应的过程,但是如果出现多层回调嵌套,也就是我们常说的厄运的回调金字塔(Pyramid of Doo ...

  2. 《JAVA多线程编程核心技术》 笔记:第三章:线程间通信

    一. 等待/通知机制:wait()和notify()1.1.使用的原因:1.2 具体实现:wait()和notify()1.2.1 方法wait():1.2.2 方法notify():1.2.3 wa ...

  3. HDU 3578 Greedy Tino(双塔DP)

    Greedy Tino Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  4. bootstrap3.3.6 CDN

    <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="//max ...

  5. 接口测试工具 — jmeter(数据库操作)

    1.导入jdbc jar包 2.配置MySQL连接 3.执行sql语句

  6. sql server安装教程(2008 R2,图形界面安装/命令提示符安装即静默安装)

    转自:http://blog.51cto.com/jimshu/585023 SQL Server 2008(32/64位)下载地址: 链接:https://pan.baidu.com/s/1eR5b ...

  7. Remote System Upgrade With Cyclone III Devices

    系统设计者会遇到较短的设计周期.标准发展和系统调度的挑战,飓风III系列支持远程系统更新,通过其固有的重编程功能和专有电路来克服以上问题.远程系统更新帮助传递系统性能增强和bug修复,避免了昂贵的召回 ...

  8. Linux入门-教学视频学习笔记

    视频地址:https://www.bilibili.com/video/av18156598 1.sudo权限 比如说关机.重启.添加其他用户. 2.Shell是什么? 这是一个结构图,比如在外层应用 ...

  9. [StringUtil ] isEmpty VS isBlank

    昨天才意识到这两个的存在. Blank(空字符串 blank) StringUtils.isNoneBlank(null) = false StringUtils.isNoneBlank(null, ...

  10. python16_day18【Django_Form表单、分页】

    一.表单 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 1.Form类 创建Form类时,主 ...