Vim编辑器常用命令-程序员宅基地

技术标签: SV  vim  

没用过vim编辑器,记录一下命令

Vim三种工作模式(命令模式、输入模式和编辑模式)

  • 使用Vim编辑文件时,默认处于命令模式。此模式下,可使用方向键(上、下、左、右)或k、j、h、i移动光标位置,还可以对文件内容进行复制、粘贴、替换、删除等操作;
  • 输入模式下,Vim可以对文件执行写操作,类似于在Windows系统的文档中输入内容。使Vim进行输入模式的方式是在命令模式状态下输入i、I、a、A、o、O等插入命令,当编辑温江完成后按Esc键即可返回命令模式;
    在这里插入图片描述
  • 编辑模式用于对文件中的指定内容执行保存、查找或替换等操作。使Vim切换到编辑模式的方法是在命令模式状态下按“:”键,此时Vim窗口的左下方出现一个“:”符号,这时就可以输入相关指令进行操作了;
  • 指令执行后,Vim会自动返回命令模式。如果想直接返回命令模式,按Esc即可;

Vim打开文件

  • 使用Vim打开文件,

    $ vim test.txt &
    

    用【vim】文件会在terminal打开,【gvim】文件会在gui界面打开
    &表示当前进程打开,但不影响在终端敲其他命令

Vim快捷方向键和以单词为单位移动

w/W:可以移动到下一个单词的首
e/E:可以移动到下一个单词的尾
b/B:可以移动到上一个单词的首

Vim插入文本

  • 从命令模式进入输入模式使用不同的键:
    i:在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
    I:在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行i命令
    o:在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
    O:在光标所在行的上面插入新的一行。光标停在空行首,等待输入文本
    a:在当前光标所在位置之后插入随后输入的文本
    A:在当前光标所在行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令

Vim查找文本

/abc:从光标所在位置向前朝朝字符串abc
/^abc:查找以abc为行首的行
/abc$:查找以abc为行尾的行
?abc:从光标所在位置向后查找字符串abc

查找快捷键:【shift+*】,等同于第二种

在这里插入图片描述

在这里插入图片描述

  • :set nohls:取消永久高亮
  • :set hls:打开永久高亮
  • :noh:取消当前高亮内容

Vim替换文本

r:替换贯标所在位置的字符,只能替换一个
R:从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束
: s/a1/a2/g:将当前光标所在行中的所有a1用a2替换

Vim删除文本

x:删除光标所在位置的字符
dd:删除光标所在行
ndd:删除当前行(包括此行)后n行文本
dG:删除光标所在行到文件末尾的所有内容
D:删除光标位置到行尾的内容
:a1,a2d:删除从a1行到a2行的文本内容

Vim删除单词

【dw】:删除单词,从当前位置到单词末尾
【daw】:删除单词,光标所在整个单词

选中当前单词:【viw】

vim复制和粘贴文本

p:将剪贴板中的内容粘贴到光标后
P:将剪贴板中的内容粘贴到光标前
y:复制已选中的文本到剪贴板
yy:将光标所在行复制到剪贴板,此命令前可以加数字n,可复制多行
yw:将光标位置的单词复制到剪贴板

Vim保存退出文本

:wq:保存并退出Vim编辑器
:wq!:保存并强制退出Vim编辑器
:q:不保存就退出Vim编辑器
:q!:不保存就强制退出Vim编辑器
:w:保存但是不退出Vim编辑器
:w!:强制保存文本
:w filename:另存到filename文件
x!:保存文本,并退出Vim编辑器
ZZ:直接退出Vim编辑器

Vim光标移动

  • 移动至行首或行尾
    【0】或^:光标移动到当前行的行首
    【$】:光标移动到当前行的行尾
    n $:光标移动至当前行只有n行的行尾,n为数字
  • 移动至指定行
    【gg】:光标移动到文件开头
    【G】:光标移动至文件末尾
    nG:光标移动到第n行,n为数字
    【:n】:编辑模式下使用的快捷键,可以将光标快速定义到指定行的行首
  • 光标移动到匹配的括号处
    程序员在编辑程序时,经常会为将光标移动到与一个“(”匹配的“)” (对于[ ]和{ }也是一样的)处而感到头疼。Vim里面提供了一个非常方便地查找匹配括号的命令,这就是%
    【%】:可以查看匹配的“(”和“)”、“{”和“}”、“begin”和“end”、“case”和“endcase”等
    【e】:向后,跳转到单词末尾
    【w】:向后,跳转到单词首
    【b】:向前,跳转到单词首

多行编辑

使用Ctrl+v进入visual block模式,上下键选择要编辑的行,大写“I”进入编辑模式,输入要插入的内容,完成后esc退出

在行尾编辑,每一行的行尾添加“word”内容
在这里插入图片描述
回车后,文件改写了
在这里插入图片描述

正则替换文本内容 行尾添加 行首添加

:[range]s/s1/s2/g
在这里插入图片描述

:473,478s/test/word/g

在这里插入图片描述
:473,478s/$/dog
$表示行尾
^表示行首
在这里插入图片描述

大小写转换

【Ctrl + v】进入visual block模式,上下左右选择要转换的文本范围
【viw】:选中当前单词
【gu】:转小写
【gU】:转大写

文本代码折叠

方法很多,能用就行
【创建折叠】:
zf28G:创建从当前行起到28行的代码折叠
10zf / 10zf↓ / zf10↓ :创建从当前行起到后10行的代码折叠
10zf↑:创建从当前行起到之前10行的代码折叠
zf%:创建从当前行起到对应的匹配的括号上的代码折叠
【展开当前折叠】:zo / za
【折叠当前折叠】:zc / za
【展开/关闭所有折叠】:zi
【删除当前折叠】:zd

删除和检索相关行

【:v/test/d】:删除没有关键字test的行;保留test
【:g/test/d】:删除有关键字test的行;删除test

分屏操作

【:sp】:上下分屏,后面可以加文件名
【:vsp】:左右分屏,后面可以加文件名
【Ctrl+w+w】:在多个窗口中切换

删除从指定字符串到行尾的内容

【:%s/puppy.*//】删除从puppy起始位置到行尾的字符串

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Bunny9__/article/details/123349155

智能推荐

java ee项目案后台模板_12个非常不错的免费HTML后台管理模板-程序员宅基地

文章浏览阅读481次。下面介绍的这些免费后端管理HTML模板,都非常不错。建议您收藏。Charisma是一个响应式管理模板,基于Twitter Bootstrap构建。拥有9种外观主题,包括几乎所有的东西,如表单、图表、按纽、表格、文件管理器、相册等。可到GitHub link下载该模板。INADMIN是一个基于jQuery开发的管理模板,拥有头+顶部导航,提供了tables、forms、messages等样式,还..._java后端查询内容的数据赋值定制的html 模板

vue-amap官网文档链接,vue-amap画圆-程序员宅基地

文章浏览阅读1.7k次。1.4.3 圆 - vue-amap 中文文档 - 文江博客基础示例 组件 | vue-amap

几何光学学习笔记(1)- 1.1 几何光学的基本概念和定律-程序员宅基地

文章浏览阅读5.8k次,点赞11次,收藏33次。几何光学学习笔记(1)1.1 几何光学的基本概念和定律1.绪论2. 几何光学的基本概念3.几何光学的基本规律1.绪论几何光学:直线传播;互不影响;折射反射。物理光学:波动光学,量子光学几何光学和物理光学在一定条件下可以统一起来。例如:几何光学认为光源通过光学系统会成像为一个几何点;而物理光学则认为会成像为一个黑白相间的衍射斑。其中,第一个亮斑的半径为y=1.22λDy=\frac {1.22\lambda} Dy=D1.22λ​当λ→0\lambda\to0λ→0时,y也为0,此时几何光

ios python 越狱_如何使用Frida绕过iOS应用程序中的越狱检测!!!-程序员宅基地

文章浏览阅读685次。注意 注意 请注意:一、Frida介绍Frida是一个可以hook App的动态代码工具包,可以向Windows、macOS、Linux、iOS、Android和QNX的本机应用程序中注入JavaScript或自己的库代码。最开始的时候,它是基于谷歌的V8 Javascript运行,但是从版本9开始,Frida已经开始使用其内部的Duktape运行。列举一些Frida的使用场景:1、hookin..._python hook ios app

shiro权限缓存_shiro-activesessioncache-程序员宅基地

文章浏览阅读935次。在每次操作的时候都会查询一遍权限,说实话,确实有点压力,所以可以考虑采用一下缓存来缓解一下压力Ehcache本地缓存的实现1、<!-- shiro缓存管理器 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <vers_shiro-activesessioncache

好久没有写CSDN上的博客了-程序员宅基地

文章浏览阅读325次。今天搜索关于谷歌所使用的技术的时候看到CSDN上的文章,随便看了看自己的,发现自己有快两年没有写过了,真是汗颜啊,所以决定以后关于技术的全放到程序员宅基地上,同时保留163博客上的内容 还希望各位朋友多多捧场

随便推点

notepad++快捷键_notepad加粗快捷键-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏2次。notepad++是一款在windows上表现很不错的编辑器,学习成本低,支持的语言多,可拓展性高。 我原本打算用notepad++做为主编辑器,但是发现他对markdown的支持并不好,况且优秀的编辑器有很多。我打算去探索新的编辑器。 目前,notepad++依然有用武之地,因为通过notepadstarterplugin插件能完全取代记事本,即一些默认打开记事本的程序,将会打开notepad++,非常_notepad加粗快捷键

HarmonyOS —— MD5 摘要计算_harmony md5-程序员宅基地

文章浏览阅读760次,点赞8次,收藏7次。计算 MD5 摘要需要导入HarmonyOs提供的统一的密码算法库加解密相关接口。_harmony md5

Windows 解决cmd/dos窗口中文乱码问题_cmd中文乱码解决方法-程序员宅基地

文章浏览阅读6.5w次,点赞10次,收藏55次。Windows 解决cmd/dos窗口中文乱码问题,本文提供了多种解决方案,总有一款适合你!_cmd中文乱码解决方法

FireFox与IE中CSS兼容技术集绵整理-程序员宅基地

文章浏览阅读87次。1.css在不同浏览器下显示效果不同firefox和IE对某些css样式的认定有不少区别,包括:· ul和ol的默认padding值是不一样的,在Firefox中,padding-left默认值为40px左右,而IE中为0,一般设置ul{margin:0;padding:0;}就能解决大部分问题· ..._火狐 p height 多了 0.45

Scala finally块_scala finally-程序员宅基地

文章浏览阅读657次。finally块用于在异常时释放资源。资源可能是文件,网络连接,数据库连接等,finally块执行代码运行保证。以下程序说明了finally块的用法。Scala finally块示例class ExceptionExample{ def divide(a:Int, b:Int) = { try{ a/b ..._scala finally

QNX学习笔记-Neutrino-QNX-boot启动流程分析_qnx启动时序图-程序员宅基地

文章浏览阅读2.8k次。嵌入式系统的启动都是类似的,先启动一个boot程序,然后又boot控制系统的进一步加载运行_qnx启动时序图

推荐文章

热门文章

相关标签