如何使用vim来进行编辑文档和脚本

1.vim模式介绍

vim会有4种常见的模式,分别为普通模式、命令模式、插入模式、可视模式。

普通模式:利用vim打开某个文件时,即进入普通模式。

普通模式转为命令模式,使用 “:”。

普通模式转为插入模式,在键盘上输入以下字母:"i,I,a,A,o,O"中任意一个。

普通模式转为可视模式,在键盘上输入字母:“V”,注意是大写。

命令模式、插入模式、可视模式转为普通模式,键盘上按下"Esc"按键。

2.常用命令
2.1 普通模式
2.1.1 移动光标:
按键按键功能
k或向上箭头向上移动光标
j或向下箭头向下移动光标
h或向左箭头向左移动光标
l或向右箭头向右移动光标
gg文件首行的行首
GG文件尾行的行首
ngg移动到第n行的行首
2.1.2 删除操作:

注意,删除时会将文本内容进行缓存,然后通过粘贴,实现剪切功能。

按键按键功能
x删除光标处的一个字符
dd删除光标处的所在行
ndd删除从光标所在行开始的n行(包含光标行),1dd等于dd
dw删除从光标位置开始的一个单词
d$删除从光标处到该行行尾的字符
d^删除光标处到该行行首的字符
dG删除光标行到行尾的所有行
dnG删除从光标行到第n行(包含第n行)
2.1.3 复制:
按键按键功能
yy复制光标所在行
y$复制从光标处到该行行尾的字符
y^复制从光标处到该行行首的字符
nyy复制从光标所在行开始的n行(包含光标行),1yy等于yy
yG复制从光标行到行尾的所有行
ynG复制从光标行到第n行(包含第n行)
2.1.4 粘贴:
按键按键功能
p将复制的内容粘贴到光标所在行的下一行(小写,地位低,居下方)
P将复制的内容粘贴到光标所在行的上一行(大写,地位高,居上方)
2.1.5 替换:
按键按键功能
r替换光标处的一个字符
R从光标处开始往后连续替换
cc替换光标所在行
c$替换光标处到该行行尾
c^替换光标处到该行行首
cG替换从光标行到行尾
cnG替换从光标行到第n行(包含n行)
2.1.6 可视块操作:
按键按键功能
u撤销(返回上一步)
ctrl+r重做,与u操作相反
ctrl+v对可视化块进行批量操作
ctrl+v,选取区块,x批量删除
ctrl+v,选取区块,shift+i,输入内容,Esc批量编辑
2.2 命令模式
2.2.1 文件的保存和退出:
按键按键功能
:w保存
:q退出
:wq保存并退出
:x保存并退出
:wq!强制保存并退出
:q!不保存并退出
2.2.2 显示文件名称,切换文件:

:args,显示该文件的名称

2.2.3 编辑某文件时,新打开1.txt:

:e 1.txt

2.2.4 将正在操作的文件另存为~/2.txt:

:saveas ~/2.txt

2.2.5 切分窗口
按键按键功能
:split上下分屏
:nsplit 1.txt打开一个高度为3的窗口,并打开1.txt
:vsplit左右分屏

可以利用ctrl+w将光标在各窗口之间进行切换

:qa! 或 :qa ,可退出所有窗口。

2.2.6 字符串替换
按键按键功能
:%s/old_string/new_string全局替换
: s /old_string/new_string替换光标所在行
: n, $s /old_string/new_string替换第 n行开始到最后一行中的第一个old_string
: n,$s /old_string/new_string/g替换第n行开始到最后一行的所有old_string
2.2.7 跳转到某一行

:n,跳转到第n行

2.2.8 设置选项

:set,设置选项

:set nonu,不显示行号

:set nu,显示行号

具体设置情况,可在~/.vimrc文件中进行查看和设置,从而使配置永久生效。

2.3 插入模式
按键按键功能
i在光标前插入
I在光标所在行的行首插入
a在光标后插入
A在光标所在行的行尾追加
o在光标所在位置的下一行打开新行插入
O在光标所在位置的上一行打开新行插入
2.4 可视模式
按键按键功能
v每次选择一个字符
V每次选择一行
ctrl+v批量编辑,详见2.1.6
gv重选上一次的高亮区
选中后,按下d删除所选中部分
选中后,按下D删除所选中部分所在的行
选中后,按下v复制选中的部分
选中后,按下V复制所选中部分的所在行
选中后,按下c或C删除所选中部分(选中部分所在行),并切换到输入模式
选中后,按下J将选中部分合并为一行
选中后,按下r将选中的部分的每个字符替换为新字符
3.其他技巧
3.1 操作技巧
按键按键功能
普通模式下ctrl+z将编辑的文档挂起
普通模式下 /search_string在文档中查找某些字符串,n向下查找,N向上查找

文档挂起后:在终端输入jobs,可以查看所有挂起的文档;在终端输入fg %n,可以进入某个挂起的文档进行编辑;在终端输入fg,可以快速进入最后一个标记挂起(前面有+)的文档中。

3.2 提升技巧
3.2.1 内置的训练模式

在终端输入 vimtutor(英文模式) 或vim zh(汉化模式)

3.2.2 其他

可以在终端中,可以输入man vim ,查看在线手册。

3.3 常用命令举例
#3显示行号和不显示行号
set nu
set nonu
#取消高亮显示
:nohl
  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

theskylife

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值