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. delphi ---break,exit,continue等跳出操作的区别

    1.break 强制退出最近的一层循环(注意:只能放在循环里:而且是只能跳出最近的一层循环),用于从for.while.repeat语句中强制退出 2.continue 用于从for.while.re ...

  2. Powershell Get-ChildItem 筛选文件,文件处理

    使用Where-Object也可以根据其它属性来过滤. Dir | Where-Object { $_.CreationTime -gt [datetime]::Parse("May 12, ...

  3. DPM Server切换

    DPMserver切换: Dpm有2个volum:副本卷和恢复点卷 (1)首先在exchangeserver上面安装agent (2)在exchangeserver上指定dpmserver: cd&q ...

  4. Powershell Function Get-TimeZone

    代码原文地址: https://gallery.technet.microsoft.com/scriptcenter/Get-TimeZone-PowerShell-4f1a34e6 <# .S ...

  5. 【Python之路】第十七篇--Ajax全套

    概述 1.传统的Web应用 一个简单操作需要重新加载全局数据 2.AJAX AJAX,Asynchronous JavaScript and XML (异步的JavaScript和XML),一种创建交 ...

  6. 我的Android进阶之旅------>Android自定义View实现带数字的进度条(NumberProgressBar)

    今天在Github上面看到一个来自于 daimajia所写的关于Android自定义View实现带数字的进度条(NumberProgressBar)的精彩案例,在这里分享给大家一起来学习学习!同时感谢 ...

  7. What are the top 10 things that we should be informed about in life

    1.Realize that nobody cares, and if they do, you shouldn't care that they care. Got a new car? Nobod ...

  8. 上手Keras

    Keras的核心数据是“模型”,模型是一种组织网络层的方式.Keras中主要的模型是Sequential模型,Sequential是一系列网络层按顺序构成的栈. Sequential模型如下: fro ...

  9. Tomcat 自定义默认网站目录

    上面访问的网址为http://192.168.0.108:8080/memtest/meminfo.jsp 需求: 现在我想访问格式为http://192.168.0.108:8080/meminfo ...

  10. iOS学习之应用偏好设置

    如今,即便是最简单的计算机程序也会包含一个偏好设置窗口,用户可以在其中设置应用专属的选项.在MAC OS X中,Preferences...菜单通常位于应用菜单中.选择该菜单项会弹出一个窗口,用户可以 ...