Vim基础

Vim 的设计理念是 Composability (组合):
例如在 Vim 中,“d” 表示删除,“j” 移动到下一行,组合 “dj” 表示删除当前行和下一行;“^” 代表行首,故组合 “d^” 表示删除到行首;“ " 代表行尾, " d " 代表行尾,"d "代表行尾,"d” 表示删除到行尾。而且我们还可以指定命令重复的次数:“dd” 表示删除光标所在行,“2dd” 或"d2d" 表示连续删除两行,效果和 “dj” 一致。

1、常见操作

Vim 是一种模式编辑器,它与我们熟悉的"所见即所得"的编辑器不太一样。Vim 在不同模式下有不同的功能,也是 Vim 之所有这么 NB 的原因之一。Vim 有多种模式,最常用的是:普通(命令)模式、插入(编辑)模式和视觉模式。这些模式之间可以相互转换,如下图所示:

Linux2vimjpg:::tipsi: 在光标前面插入
I: 在行首插入
a: 在光标后面插入
A: 在行尾插入
o: 在下面另起一行,并在行首插入
O: 在上面零七一行,并在行首插入
v: 进入行选模式
[ctrl]+v: 进入竖选模式:::

1.1普通模式

普通模式又叫命令模式,顾名思义,这种模式就是用来执行各种命令的。命令可以分为长命令和短命令::::tips长命令:以:开头,以[Enter]结尾的命令。比如,:wq[Enter]
短命令:如a,o,i…:::

移动光标

命令含义
h往左移动一个字符
j往下移动一个字符
k往上移动一个字符
l往右移动一个字符
[n]-往上移动n行
[n]+往下移动n行
:n 或 [n]G移动到第n行
gg移动到文件的第一行
G移动到文件的最后一行
^移动到行首
$移动到行尾
w下一个单词的词首
b上一个单词的词首
t)向后查找,将光标移动到)的前一个字符
T"T"
f)向后查找,将光标移动到)
F"向前查找,将光标移动到"

删除文本(delete)🤖

Vim 中的删除类似 Windows 中的剪切,会将删除的内容复制到 Vim 的"剪切板"中。

命令含义
x删除一个字符
dw删除一个单词
[n]dw 或 d[n]w删除n个单词
dd删除一行
[n]dd 或 d[n]d删除n行
:[m],[n]d删除[m,n]行
d^删除到行首
d$删除到行尾
dt)删除到)
dt"删除到"

粘贴,撤销和恢复

命令含义
p 或 P(paste)粘贴
u(undo)撤销
[ctrl] + r(recovery)恢复

复制文本(yank)

命令含义
yy复制一行
[n]yy 或 y[n]y复制n行
:[m],[n]y复制[m,n]行
yw复制一个单词
[n]yw 或 y[n]w复制n个单词
yt)复制到)
yt"复制到"

修改文本(change)

在 Vim 中修改操作其实就是删除操作和进入编辑模式的组合:

命令含义
cc 或 S删除当前行,并进入编辑模式
[n]cc 或 [n]S删除n行,并进入编辑模式
cw删除一个单词,并进入编辑模式
[n]cw 或 c[n]w删除n个单词,并进入编辑模式
c^删除到行首,并进入编辑模式
c$删除到行尾,并进入编辑模式
ct)删除到),并进入编辑模式
ct"删除到",并进入编辑模式
c[n]G删除到第n行,并进入编辑模式
cG删除到文件末尾,并进入编辑模式

查找

命令含义
/pattern从光标所在位置向后查找匹配pattern的内容,pattern为正则表达式
?pattern从光标所在位置向前查找匹配pattern的内容,pattern为正则表达式
n移动到下一个匹配项
N移动到上一个匹配项

替换(substitute)

:::tips格式:
😒/pattern/substitute/选项
将匹配pattern的内容替换为substitute
1) 😒/pattern/substitute
只会替换光标所在行的第一个匹配项
2) 😒/pattern/substitute/g
替换光标所在行的所有匹配项 (g for globally)
3) :[m],[n]s/pattern/substitute/g
替换[m,n]行的所有匹配项
4) :%s/pattern/substitute/g
替换全文的所有匹配项:::

1.2 视图模式

视图模式是用来选择内容的。选择内容之后,我们就可以对其进行复制或删除了。进入视图模式有两种模式::::tipsv: 行选模式
[ctrl]+v: 竖选模式:::常见用法: 批量注释:::tips

  1. [ctrl]+v 进入竖选模式
    2) 选择范围
    3) 输入I
    4) 输入//
    5) 输入[ESC]:::

2、对文件的操作

命令含义
:w将buffer里面的内容写入文件,即保存
:q退出
:q!不保存退出
:wq保存退出

:::warning注意:[ctrl] + s 不表示保存,而是进入僵死状态;[ctrl] + q 可以退出僵死状态。:::

3、多窗口

命令含义
:split (:sp)水平分割
:new水平分割
:vsplit (:vsp)垂直分割
:vnew垂直分割
[ctrl]+ww切换窗口
:wall保存所有修改过的窗口
:qall退出所有窗口
:only保留当前窗口,关闭所有其它窗口

4、配置Vim

我们可以在 ~/.vimrc 文件中配置 Vim,让 Vim 的使用更加得心应手。每次启动 Vim
时,Vim 都会读取这个文件,然后将里面的命令执行一遍。
vimplus直接安装.txt:::tips

  1. rc是"running command"的意思。每次启动时,都会执行这个文件中的命令。
    2) 如果没有~/.vimrc文件,不要惊慌,自己创建一个即可。
    3) 作为初学者,不建议大家自己去配置Vim。我们只需要安装vimplus就好了,vimplus会帮
    我们配置好Vim。:::

5、练习手册

  $ vimtutor
  $ vimtutor zh_CN # 汉化版的vimtutor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值