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起始位置到行尾的字符串

  • 21
    点赞
  • 186
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值