Skip to content

Menu
Menu

vim常规使用

Posted on 2021年10月23日2022年7月5日 by zhezimi

Vim是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中得到非常广泛的使用。Vim 能够大大提高程序员的工作效率。对于Vim高手来说,Vim能以与思考同步的速度编辑文本。同时,学习和熟练使用Vim又有一定的难度。

常用命令列表

1:移动

h 左移一列

l 右移一列

j 下移一行

k 上移一行

w 正向移动到下一个单词的开头

b 反向移动到当前单词/下一单词的结尾

2:重复上次修改

.命令会“重复上次修改”,要理解.命令的强大,我们需要意识到这一点:”上次修改”可以指很多东西, 一次修改的单位可以是字符,整行,甚至是整个文件。

3:缩进命令

>G命令会增加从当前行到文档末尾处的缩进层级

4:删除命令

x:删除当前光标所在字符

dw:删除一个单词/光标之后的单词剩余部分

d$:删除光标之后的该行部分

d^:删除光标之前的该行部分

dd:删除整行

5:复制粘贴

ddp是对文本行的剪切与粘贴操作,实际上是调换了两行的顺序

yyp是针对行的复制与粘贴操作

6:查找

在普通模式下,按下 / 或者?键会调出 Vim 的查找提示符,/是正向扫描,?是反向扫描,可在它的后面输入要查找的模式或者原义文本。另外,只有当我们按下CTRL键时,Vim才会执行查找命令,而如果换用ESC键的话,查找提示符会消失,我们将重回普通模式。

n 命令用于跳转到下一处匹配,而 N命令则用于跳转到上一处匹配。通过 n与 N这两条命令,我们可以方便地在各个匹配之间往来穿梭

:noh 可以禁用查找高亮功能

7:替换

:substitute 命令很复杂,除了要提供查找的模式以及替换字符串外,还要指定执行的范围。另外,作为可选项,我们还可以通过标志位来调整该命令的行为。

substitute命令允许我们先查找一段文本,再用另一段文本将其替换掉。命令的语法如下所示:

:[range]s[ubstitute]/{pattern}/{string}/[flag]一条完整的substitute 命令由许多部分组成。其中,[range] 的规则对于每一条Ex命令都适用,substitute命令也不例外。

range讲解:

当前行::s/foo/bar/g

全文::%s/foo/bar/g

5-10行:5,10s/foo/bar/g

flag讲解

标志位 g使得 subsititute 命令可在全局范围内执行,即可以修改一行内的所有匹配,而不仅仅是第一处匹配。

标志位c让我们有机会可以确认或拒绝每一处修改。

标志位 n 会抑制正常的替换行为,即让 Vim 不执行替换操作,而只是报告本次substitute 命令匹配的个数。

8:多文件

:ls命令会列出所有被载入到内存中的缓冲区的列表。

:bprev 和 :bnext 在列表中反向或正向移动,每次移动一项;

:bfirst 和 :blast 则分别跳到列表的开头和结尾

:buffer N命令直接凭编号跳转到一个缓冲区

:edit 命令允许通过文件的绝对路径或相对路径来打开文件

:find 命令允许我们通过文件名打开一个文件,但无需输入该文件的完整路径。要想利用此功能,首先要配置 ‘path’ 选项。

:set path+=app/ **

** 通配符会匹配 app/ 目录下的所有子目录。

相关文章

  • 排查网络故障常用命令

  • Linux 性能问题排查思路

  • 网络I/O模型

  • grep

  • 《shell脚本攻略》笔记

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

近期文章

  • 排查网络故障常用命令
  • PHP-FPM异常问题
  • RabbitMQ 1:介绍
  • 观察者模式
  • 装饰者模式

近期评论

没有评论可显示。

分类

  • cdn
  • css
  • docker
  • git
  • http
  • javascript
  • linux
  • mysql
  • nginx
  • php
  • RabbitMQ
  • 代码规范
  • 性能
  • 正则表达式
  • 网络协议
  • 设计模式
© 2025 | Powered by Minimalist Blog WordPress Theme