命令历史
以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
启动vim
在命令行窗口中输入以下命令即可
vim 直接启动vim
vim filename 打开vim并创建名为filename的文件
文件命令
打开单个文件
vim file
同时打开多个文件
vim file1 file2 file3 ...
在vim窗口中打开一个新文件
:open file
在新窗口中打开文件
:split file
切换到下一个文件
:bn
切换到上一个文件
:bp
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
:args
打开远程文件,比如ftp或者share folder
:e ftp://192.168.10.76/abc.txt
:e \qadrive est1.txt
vim的模式
正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空插入模式(按i键进入) 左下角显示--INSERT--可视模式(不知道如何进入) 左下角显示--VISUAL--
导航命令
% 括号匹配
插入命令
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
查找命令
/text查找text,按n健查找下一个,按N健查找前一个。
?text查找text,反向查找,按n健查找下一个,按N健查找前一个。
vim中有一些特殊字符在查找时需要转义.*[]^%/?~$
:set ignorecase忽略大小写的查找
:set noignorecase不忽略大小写的查找
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。
:set hlsearch高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
:set nohlsearch关闭高亮搜索显示
:nohlsearch关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。
:set incsearch逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。
:set wrapscan重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。
替换命令
ra 将当前字符替换为a,当期字符即光标所在字符。
s/old/new/ 用old替换new,替换当前行的第一个匹配
s/old/new/g 用old替换new,替换当前行的所有匹配
%s/old/new/ 用old替换new,替换所有行的第一个匹配
%s/old/new/g 用old替换new,替换整个文件的所有匹配
:10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进。
ddp 交换光标所在行和其下紧邻的一行。
移动命令
h 左移一个字符l 右移一个字符,这个命令很少用,一般用w代替。k 上移一个字符j 下移一个字符以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!,这里的Esc是必须的,否则命令不生效。
w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。
b 向后移动一个单词 2b 向后移动2个单词
e,同w,只不过是光标停在单词尾部
ge,同b,光标停在单词尾部。
^ 移动到本行第一个非空白字符上。
0(数字0)移动到本行第一个字符上,
移动到本行第一个字符。同0健。
$ 移动到行尾 3$ 移动到下面3行的行尾
gg 移动到文件头。 = [[
G(shift + g) 移动到文件尾。 = ]]
f(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符。
F 同f,反向查找。
跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
撤销和重做
u 撤销(Undo)U 撤销对整行的操作Ctrl + r 重做(Redo),即撤销的撤销。
删除命令
x 删除当前字符
3x 删除当前光标开始向后三个字符
X 删除当前字符的前一个字符。X=dh
dl 删除当前字符, dl=x
dh 删除前一个字符
dd 删除当前行
dj 删除上一行
dk 删除下一行
10d 删除当前行开始的10行。
D 删除当前字符至行尾。D=d$
d$ 删除当前字符之后的所有字符(本行)
kdgg 删除当前行之前所有行(不包括当前行)
jdG(jd shift + g) 删除当前行之后所有行(不包括当前行)
:1,10d 删除1-10行
:11,$d 删除11行及以后所有的行
:1,$d 删除所有行
J(shift + j)删除两行之间的空行,实际上是合并两行。
拷贝和粘贴
yy 拷贝当前行
nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。
p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。
shift+p 在当前行前粘贴
:1,10 co 20 将1-10行插入到第20行之后。
:1,$ co $ 将整个文件复制一份并添加到文件尾部。
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制
ddp交换当前行和其下一行
xp交换当前字符和其后一个字符
剪切命令
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切
ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴
:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
:1, 10 m 20 将第1-10行移动到第20行之后。
退出命令
:wq 保存并退出
ZZ 保存并退出
:q! 强制退出并忽略所有更改
:e! 放弃所有修改,并打开原来文件。
窗口命令
:split或new 打开一个新窗口,光标停在顶层的窗口上
:split file或:new file 用新窗口打开文件
split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。
Ctrl+ww 移动到下一个窗口
Ctrl+wj 移动到下方的窗口
Ctrl+wk 移动到上方的窗口
关闭窗口
:close 最后一个窗口不能使用此命令,可以防止意外退出vim。
:q 如果是最后一个被关闭的窗口,那么将退出vim。
ZZ 保存并退出。
关闭所有窗口,只保留当前窗口
:only
录制宏
按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。
执行shell命令
:!command
:!ls 列出当前目录下文件
:!perl -c script.pl 检查perl脚本语法,可以不用退出vim,非常方便。
:!perl script.pl 执行perl脚本,可以不用退出vim,非常方便。
:suspend或Ctrl - Z 挂起vim,回到shell,按fg可以返回vim。
注释命令
perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入#
3,5 s/^/#/g 注释第3-5行
3,5 s/^#//g 解除3-5行的注释
1,$ s/^/#/g 注释整个文档。
:%s/^/#/g 注释整个文档,此法更快。
帮助命令
:help or F1 显示整个帮助:help xxx 显示xxx的帮助,比如 :help i, :help CTRL-[(即Ctrl+[的帮助)。:help 'number' Vim选项的帮助用单引号括起:help 特殊键的帮助用扩起:help -t Vim启动参数的帮助用-:help i_ 插入模式下Esc的帮助,某个模式下的帮助用模式_主题的模式帮助文件中位于||之间的内容是超链接,可以用Ctrl+]进入链接,Ctrl+o(Ctrl + t)返回
其他非编辑命令
. 重复前一次命令
:set ruler?查看是否设置了ruler,在.vimrc中,使用set命令设制的选项都可以通过这个命令查看
:scriptnames查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等。
:set list 显示非打印字符,如tab,空格,行尾等。如果tab无法显示,请确定用set lcs=tab:>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了expendtab,那么tab将被扩展为空格。
Vim教程
在Unix系统上$ vimtutor在Windows系统上:help tutor:syntax 列出已经定义的语法项:syntax clear 清除已定义的语法规则:syntax case match 大小写敏感,int和Int将视为不同的语法元素:syntax case ignore 大小写无关,int和Int将视为相同的语法元素,并使用同样的配色方案
原文标题:138 条 Vim 命令、操作、快捷键全集
文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。
收藏
人收藏
扫一扫,分享给好友
复制链接分享
评论
发布评论请先 登录
相关推荐
Windows主机入侵痕迹排查办法
一般情况下,客户资产都比较多,想要对所有的资产主机进行入侵痕迹排查基本不太现实,等你全部都排查完了,....
Android编程精选 发表于 03-18 09:24 •
86次
阅读
基于Qt5.15.2的windows蓝牙开发与应用
本文介绍在QT上进行基于windows的蓝牙开发,测试用的Qt版本是5.15.2,本文主要说明环境的....
蓝牙 发表于 03-14 15:08 •
163次
阅读
国内首届Flutter Festival将于3月开展
Flutter 是 Google 开源的应用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译....
谷歌开发者 发表于 03-11 09:46 •
158次
阅读
如何在Ubuntu下实现SSH远程登录开发板的设计呢
如何在Ubuntu下实现SSH远程登录开发板的设计呢?
如何在Windows下实现SSH远程登录开发板的设计呢?
...
发表于 03-09 07:14 •
100次
阅读
YoC开发环境设置手册
一、前言
根据开发用户组的不同,YoC 支持在 Linux 命令行环境和 Windows CDK IDE 中进行开发。本节介绍如何在 W...
发表于 03-09 07:02 •
751次
阅读
怎样通过windows下SD卡烧录工具烧录统一镜像呢
paramete.txt是什么?
怎样通过windows下SD卡烧录工具烧录统一镜像呢?
...
发表于 03-07 06:40 •
86次
阅读
在windows平台下如何对RK3288进行板载系统软件更新使用呢
RK3288启动模式有哪几种啊?
在windows平台下如何对RK3288进行板载系统软件更新使用呢?...
发表于 03-04 07:48 •
423次
阅读
怎样通过远程桌面去查看ROS小车的目标识别情况呢
怎样通过windows自带的远程桌面访问RK3566呢?
怎样通过远程桌面去查看ROS小车的目标识别情况呢?
...
发表于 03-02 08:50 •
196次
阅读
华为DevEcoStudio使用技巧详解
开发鸿蒙少不了对编辑器的使用,今天就先从编辑器使用技巧开始,俗话说,工欲善其事必先利其器,下面先给我....
鸿蒙实验室 发表于 02-28 10:54 •
107次
阅读
怎样在Windows环境下去开发ESP32呢
怎样在Windows环境下去开发ESP32呢?有哪些配置过程?
...
发表于 02-28 10:35 •
195次
阅读
如何在Windows上使用STM32CubeProgrammer将STM32MP1 Starter Kit固件烧录进MicroSD卡?
如何在Windows上使用STM32CubeProgrammer将STM32MP1 Starter Kit固件烧录进MicroSD卡?...
发表于 02-28 09:35 •
74次
阅读
有哪些方案可以解决电脑网络安全问题
电子发烧友网报道(文/周凯扬)硬件安全芯片或模组其实已经不是什么新鲜事了,在黑客攻击技术不断推陈出新....
电子发烧友网 发表于 02-21 14:58 •
1738次
阅读
升级Windows 11被否?TPM 2.0是“拦路虎”还是“护城河”
硬件安全芯片或模组其实已经不是什么新鲜事了,在黑客攻击技术不断推陈出新下,更高的安全性不仅要从软件上....
21克888 发表于 02-21 07:04 •
1912次
阅读
如何使用开源工具链在windows平台下搭建STM32开发环境
简介本系列教程将介绍如何使用开源工具链在windows平台下搭建STM32开发环境,并手把手实际建立一个使用此工具链的STM32工程...
发表于 02-21 06:17 •
143次
阅读
Flutter稳定版本全面支持Windows应用
自 Flutter 推出以来,我们一直专注于为出色的、拥有定制体验的应用提供跨平台解决方案,而且这些....
谷歌开发者 发表于 02-18 18:32 •
497次
阅读
Windows3.1系统镜像资料
Windows3.1系统镜像资料
发表于 02-13 10:14 •
72次
阅读
怎样才算满足Windows11的安装要求
自 Windows 11于去年10月开始推送以来,我们看到对 Windows 11强劲的需求与喜爱,....
微软科技 发表于 02-10 16:10 •
883次
阅读
强化电脑性能的小妙招及电脑操作小技巧
计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进....
Les 发表于 01-30 17:14 •
328次
阅读
微软Microsoft Windows11操作系统安装教程
小编说:Microsoft Windows 11操作系统已在10月5日如期正式发布。自发布以来,小编....
微软科技 发表于 01-25 10:49 •
950次
阅读
盘点2021年操作系统领域值得关注的大事件
本文是“2021 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点....
普华基础软件 发表于 01-24 12:03 •
689次
阅读
Proteus8.9 VSM Studio SDCC编译器是如何对iic AT24C512进行仿真的
一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)图1二,调整原理图大小,适合可视,另存工程文件。(如下图2,3,4...
发表于 01-21 12:14 •
155次
阅读
Proteus8.9 仿真STM32407ZGT6系列007_定时器中断
一, 打开文件(可以随文下载放置在文档中打开)。(如下图1所示)图1二,调整虚拟器件,另存工程....
发表于 01-17 10:37 •
53次
阅读
什么是上位机
1.上位机与下位机上位机,与下位机对应,用来给下位机发送指令以及从下位机接收反馈数据。一般作为上位机....
发表于 01-14 13:43 •
314次
阅读
STM32F205RBT6的USB_BULK数据传输,并使用libusb_win32编写上位机进行数据读写,配有pcb文件
STM32-linusbSTM32F205RBT6的USB_BULK数据传输,并使用libusb_w....
发表于 01-14 12:59 •
36次
阅读
Proteus8.9 VSM Studio Keil编译器仿真STM32F103R6系列011_lcd1602并口
一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)图1二,调整原理图大小,适合可视,另存....
发表于 01-14 09:56 •
55次
阅读
Proteus8.9 VSM Studio Keil编译器仿真STM32F103R6系列012_lcd1602_一线屏
一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)图1二,调整原理图大小,适合可视,另存....
发表于 01-14 09:55 •
67次
阅读
怎么才能尽快完成Proteus单片机仿真的大、小作业以及小项目
有的朋友拿到Proteus单片机仿真的作业,或小项目有些头大,主要是有这二方面的原因:一,单片机的C....
发表于 01-13 14:33 •
42次
阅读
Android6.0源码文件如何在WINDOWS下解压出来呢
大家好,Android6.0源码共有5个文件,请问如何在WINDOWS下解压出来呢?是不是一定要在LINUX下解压的呢?而且这几个...
发表于 01-13 08:27 •
256次
阅读
ch340非一键下载电路烧录esp8266程序
esp8266 ch340非一键下载电路烧录问题的解决前些天对智能家居很感兴趣,在网上看了一些关于e....
发表于 01-12 19:29 •
79次
阅读
windows 任务管理器_如何在Windows 10的任务管理器中查看电源使用情况
windows 任务管理器Windows 10’s Task Manager now shows y....
发表于 01-11 14:38 •
81次
阅读
Win11笔记本电源计划怎么设置 Win11设置电源计划为高性能的方法
在我们购买电脑第一次打开的时候,电脑就已经默认了电源是节能模式,这种模式平时没有任何影响,但是一旦用....
发表于 01-11 12:53 •
855次
阅读
PowerCfg-您未使用的Windows的隐藏式能源和电池工具
There's been a lot of talk about power and en....
发表于 01-11 12:22 •
35次
阅读
win10系统下戴尔Inspiron 14 N4050出现开机画面后伪黑屏,按电源键睡眠唤醒之后回复正常
今天在给朋友的老电脑(戴尔Inspiron 14 N4050)升级中发现,系统开机出现田子画面进入用....
发表于 01-11 12:04 •
58次
阅读
【Windows】定时切换电源计划
PC一般有三个电源计划:平衡、节能、高性能。可通过右下角电池图标进入“电源选项”,如图所示:下面介绍....
发表于 01-11 11:22 •
47次
阅读
打印机疑难解答_使用内置电源疑难解答改善Windows 7中的电池寿命
打印机疑难解答Anybody who has a Windows 7 laptop is going....
发表于 01-11 10:51 •
56次
阅读
win10休眠按钮在“选择电源按钮功能”配置中找不到
问题: Win10 想开启休眠模式,当按照常规设置,在“选择电源按钮功能”配置界面,却没有找到 可....
发表于 01-11 10:32 •
64次
阅读
win10系统没有电源高性能选项
计算机系统同时按下“Windows键”+“R键”,然后输入regedit,依次点击注册表左侧的:HK....
发表于 01-11 10:07 •
198次
阅读
笔记本拔插电源黑屏问题
最近电脑不知为什么,突然在拔插电源的时候,屏幕黑屏闪一下,而后又正常。因为觉得没什么大问题,所以就没....
发表于 01-10 12:34 •
185次
阅读
电脑和手机软件同屏操作软件“手机管理助手“开源
一、软件介绍 "手机管理助手"软件参考openstf实现。主要功能如下: 二次开发minicap实时....
发表于 01-10 11:15 •
150次
阅读
戴尔dell工作站5820,通电后电源指示灯白灯长亮-待更新
主机型号:戴尔dell工作站5820故障现象:通电后电源指示灯白灯长亮故障原因:加装的独立显卡阻止主....
发表于 01-10 09:45 •
135次
阅读
windows平板找回完整的电源模式,包括高性能模式
windows平板找回完整的电源模式,包括高性能模式找回完整的电源模式,可以让你的平板关闭显示屏而不....
发表于 01-07 15:42 •
50次
阅读
笔记本电脑插上电源合盖子不睡眠不锁屏只是关闭了屏幕
问题描述:电脑插电情况下按下电源按钮不睡眠,断电情况下按下电源按钮电脑睡眠正常,电源选项设置均无问题....
发表于 01-07 10:57 •
354次
阅读
电源按钮没有关闭显示器_意外按下电源按钮时,不要关闭Windows 7 PC
电源按钮没有关闭显示器Is your computer in an odd place where ....
发表于 01-06 12:56 •
59次
阅读
NCP1680 混合信号CrM TTPFC控制器 低损耗 超高密度离线电源解决方案
安森美NCP1680临界导通模式 (CrM) 图腾柱功率因数校正 (PFC) 控制器IC设计用于驱动....
发表于 01-05 15:03 •
113次
阅读
Win10删除或移动文件进度卡在99%->系统资源管理器cpu占用率及电源使用情况非常高的解决方法
题主遇到这个问题也是非常苦恼,尝试多种方案,最终更新系统才完美解决。供各位参考。1、怀疑是系统延迟问....
发表于 01-05 14:40 •
323次
阅读
恢复Win10中缺少的电源计划
恢复节能 powercfg -duplicatescheme a1841308-3541-4fab-....
发表于 01-05 14:36 •
51次
阅读
macbook安装WIN10拔电源蓝屏死机解决方法
macbook安装WIN10拔电源蓝屏死机解决方法进入WIN10电源选项,默认的“平衡(推荐)”不要....
发表于 01-05 14:34 •
248次
阅读
Windows查看电源使用情况
这里使用Windows自带的东西查看电源使用情况。1.按Win键+R,输入cmd,回车。2.输入Po....
发表于 01-05 14:18 •
132次
阅读
Windows电脑电源选项开启“卓越性能”模式
一般我们的电脑电源选项中只有几下几项:其实在一些版本的Windows10中微软添加了一项“卓越性能”....
发表于 01-05 14:18 •
129次
阅读
Windows10 2004无线网卡电源管理消失 电源计划只有平衡
问题升级到了Windows10 2004,发现每次睡眠后QQ和微信消息都收不到了,去网卡的属性界面却....
发表于 01-05 14:11 •
66次
阅读
如何在rt-smart简化应用程序开发
RT-Thread Smart做为一个“新”的系统,在开发上相比原来的RT-Thread模式还是存在....
RTThread物联网操作系统 发表于 01-04 15:59 •
430次
阅读
硬件虚拟键盘
硬件虚拟键盘市面上存在着许多的虚拟键盘应用的软件,例如AutoHotKey,按键精灵等。软件模拟使用....
发表于 12-31 19:26 •
56次
阅读
Microsoft Windows DCOM安全更新的原因是什么
2022年,微软将更新Windows操作系统,强制改变DCOM安全相关的配置方式。这个DCOM安全的....
广州虹科电子科技有限公司 发表于 12-31 10:09 •
540次
阅读
使用VSCode编译Keil工程
VSCode全称Visual Studio Code,是微软推出的一款轻量级的代码编辑器,免费且功能....
发表于 12-29 19:47 •
61次
阅读
stm32f103c8tx芯片采用中断方式向上位机(win10)发送“hello windows”———USART 串口通讯
目录一、中断控制1.硬件部分2.软件部分编程要点二、程序编写主要代码分析三、连接电路 观察结果四、总....
发表于 12-28 19:08 •
61次
阅读
【STM32开发】win平台开源工具链开发STM32(一)工具链介绍
简介本系列教程将介绍如何使用开源工具链在windows平台下搭建STM32开发环境,并手把手实际建立....
发表于 12-27 18:43 •
65次
阅读
Proteus8.9 VSM Studio SDCC编译器仿真STC15W4K32S4系列003_Keys
一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)图1二,调整原理图大小,适合可视,另存....
发表于 12-23 19:53 •
81次
阅读
在ST官网下载HAL库函数手册
1.https://www.st.com/content/st_com/en/products/em....
发表于 12-23 18:59 •
88次
阅读
Windows 11和 Windows 10到底有哪些差别
接下来,小编将从生产力、协作、安全、部署管理和一致性五大方面给大家详细介绍一下 Windows 11....
微软科技 发表于 12-23 10:01 •
1287次
阅读
ESP8266学习之路——环境部署
文章目录前言ESP8266SDK前言ESP8266SDK官方链接
发表于 12-22 18:47 •
81次
阅读
|