mac vi快速删除_Vim (vi) 编辑器快捷键大全【图解】,各种操作,指令大全 | 从无到有 | linux | mac | terminal...

前言:

最近发现 vim 是个好强大的文本编辑工具,有多强大,看下面就知道。几乎涵盖了所有可能的操作。

我会在前面七张图片下面摘写一些有用常用的指令

举个例子证明它的强大

这上图中,我需要删除文件里的 ( svg | png ) 这一段文字。

只需要下面几个操作就好了,以下是步骤,和步骤解释:

步骤

指令

解释

1

/type(

用 / 搜索该字段前面的 type( 将光标定位到此

2

f(

将光标移动到 (上

3

df)

用 d 删除指令,删除当前位置到下一个 ) 的字符

4

:wq

保存并退出

0 基础开始

vi (vim) 是 linux 系统下一个命令行文本编辑器,使用的时候直接 vi 后接文件名

vi test.txt

## 编辑 test.txt 文件,文件存在就编辑它,不存在就新建一个文件并编辑

vi 的最常用的两种模式: 普通模式 | 输入模式

普通模式

是你打开文件时的样子

这个时候你可以直接使用本文章中提到的指令操作文本,此时你按键盘上的键会被编辑器接收,作为指令来执行,而不是输入到文本中。

如直接输入 :wq 来保存并退出文件。

:w 存储文本

:q 退出文本,如果你对文本做了改动,这个是退不出去的。需要下面:

:q! 退出不保存文本

:wq 保存并退出文本

:set nu 显示行号

:set nonu 不显示行号

:syntax enable 语法高亮 (如果支持的话)

:set filetype=html 文档格式,配合上面语句

输入模式

按 指令 i 后会在光标位置开始输入,这时候左下角会有 --- INSERT --- 提示,表示当前正在输入模式。

此时你键盘的所有按键操作都会写入到文本中。

要切换到 普通模式 只需要按一下键盘的最左上角 esc 键即可。

基础编辑,移动光标

指令

解释

$

行尾

^

行首

w

下一个单词 (词首)

e

下一个单词(词尾)

b

前一个单词

x

del 删除后一个字符

X

backspace 删除前一个字符

u

撤销

ctrl + r

重做

k

h

g

l

i

插入,开始写东西

s

覆盖

esc

退出输入模式,进入普通模式,可执行各种命令

操作和重复操作

指令

解释

f

查找字符,按f后再按需要移动到的字符,光标就会移动到那

f; 就会移动到下一个 ;的位置

F

反向查找字符

.

重复上一个操作

v

选择模式,用上下左右选择文本,按相应的指令直接执行,如:选中后执行 d 就直接删除选中的文本

ctrl + v

块状选择模式,可以纵向选择文本块,而非以行的形式

d

高级删除指令:

dw 删除一个单词

df( 配合 f ,删除从光标处到 ( 的字符,单行操作

dd 删除当前行

d2w 删除两个单词

d2t, 删除当前位置到后面第二个 , 之间的内容,不包含 , (t = to)

复制 和 粘贴

指令

解释

y

复制

yy

复制当前行

p

粘贴到后面

P

粘贴到前面

o

在当前行的下一行添加空行并开始输入

O

在当前行的上一行添加空行并开始输入

所有经过 d x e 处理的字符串都已经复制到了粘贴板上。

搜索

指令

解释

/

从当前位置向后搜索

从当前位置后前搜索

n

搜索完之后,如果有多个结果,跳到 下一个匹 配项

N

跳到 上一个 匹配项

*

直接匹配当前光标下面的字符串,移到下一个匹配项,跟/ ? 没有关系

#

上一个匹配项

标记 和 宏

标记

m 后跟 a - z 任意字符来设置一个标记

` 后跟 字符来跳到这个标记点

大写 A - Z 是全局的,小写 a - z

'. 代表最后编辑位置

q 后接 a - z 开始录制宏

q 结束宏的录制

@ 后接 a - z 读取宏

@@ 代表最后一个宏

高级移动

% 在配对的 () [] 之间移动

H M L 移动到编辑器可视范围的头部,中间,尾部

G 到文件的尾部,前面添加数字再按 G 跳到输入的行,写行号的时候是看不见的

- + 跳到上一行,下一行

( ) 跳到当前句子的 首 / 尾

{ } 跳到 前一个 / 后一个 空行

[[ jumps to the previous { in column 0

]] jumps to the next } column 0

高级指令

J 合并当前行与下一行。合并已选中的所有行。

r 替换当前字符到下一个输入的字符。如: r 后接 4 会把当前字符替换成 4

C 是 c$ 的缩写:修改从光标到结尾

D 是 d$ 的缩写:删除从光标到结尾

Y 是 yy 的缩写:复制当前行

s 删除光标下字符,并开始编辑

S 删除当前行,并开始编辑

< 向前缩进,一行,或多行,范围设置在前面提到了,t等等

> 向后缩进,一行,或多行

= 格式化,一行,或多行

~ 切换光标下的字符大小写

规则

上面 7 张合起来就是这样的

任何指令前输入的数字,都会作为指令的重复值:5d, 2u, d2w

重复指令会在当前行执行: dd 删除当前行,yy 复制当前行

ZZ 保存并退出

ZQ 退出不保存

zt 滚动光标到顶部,光标在文件中的位置不变,只是改变光标在屏幕上的位置

zb 光标滚动到底部

ctrl + F/B PageUp / PageDown

高级

入门

现代

文字

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值