Vim(vi)使用整理,对比式记忆

1 篇文章 0 订阅

Vim是一款强大的编辑器,但记命令挺麻烦,自行学习整理了下。比对着记忆起来更方便。当然常用才是王道!

 

3种工作模式:普通模式、插入模式、命令模式

普通模式->插入模式:输入a(光标后)、A(段尾)、i(光标前)、I(段首)、o(下新行)、O(上新行)
插入模式->普通模式:按ESC
普通模式->命令模式:输入“:” w(保存)、wq(保存退出)、wq!(强制保存退出)

一、Vim默认进入普通模式,通过a、A、i、I、o、O进入插入模式
a(append追加) 、i(insert插入)和o(on new line新行插入)
小写命令后输入,大写命令前输入

a:插入内容至 光标 后
A:插入内容至 段 尾
i:插入内容至 光标 前
I:插入内容至 段 首
o:新建空白行于 行 后
O:新建空白行于 行 前

二、按ESC从插入模式回到普通模式
1、光标移动
1.1 光标以 字符 为单位移动:
上(k)、下(j)、左(h)、右(l)
^(首)、&(尾)------与正则表达式一致
fx(下一个x字符)、Fx(前一个字符处)-----find查找

1.2 光标以 行 为单位移动
gg(首)、G(尾)-----go去
nG(第n行)

1.3 光标以 word词 为单位移动
b(左)、w(右)
nb(左n个)、bw(右n个)

2、编辑文档
2.1 以 字符 为单位
x:删除光标当前字符
rx:将光标当前字符替换成键盘输入字符replace X

2.1以 行 为单位
dd(删除一行)----delete
ndd(删除n行)----delete
d&(删除光标至行尾的内容)----正则表达式
d^(删除光标至行首的内容)----正则表达式
J(删除换行符,两行合并一行)
yy(复制当前行)
P(粘贴至当前行之后)----paste
p(粘贴至当前行之前)----paste

2.3撤销undo
u:撤销上一步操作,可多次使用,两个u,撤销两步操作

2.4查找定位
/关键字:自上往下查找关键字 ,n(next)跳转 后 一个匹配,N(next)跳转 前 一个匹配
?关键字:自下往上查找关键字 ,n(next)跳转 前 一个匹配,N(next)跳转 后 一个匹配
查找出结果后,
通过n(next)跳转 后 一个匹配关键词处
通过N(next)跳转 前 一个匹配关键词处

2.5退出
普通模式下输入ZZ 保存并退出文档


三、输入“:”分号从普通模式进入命令模式

w:write写 q:quit退出 !:强制
3.1 常规保存退出
:q!(不保存并退出)----quit、!(强制)
:wq!(保存并退出)----write、quit、!(强制)
:x(保存并退出)
:w(保存)----write
:w b.txt(另存为b.txt)----write
3.2 替换
:s/root/admin/(将光标当前行中的 第一个 出现的root替换为admin,没有则不替换)
:s/root/admin/g(将光标当前行中的 所有 root替换为admin)
:3,5 s/sbin/bin/g(将第3-5行之间的所有sbin替换为bin)
:% s/nologin/fault/g (将所有行的nologin都替换为fault)

3.3 多窗口操作

:split second.txt 水平分割窗口并打开新的文件second.txt
:vsplit second.txt 垂直分割窗口并打开新的文件second.txt
:close 关闭当前窗口
窗口间切换
Ctrl+w(window/widget窗口)+j(上)
Ctrl+w(window/widget窗口)+k(下)
Ctrl+w(window/widget窗口)+h(左)
Ctrl+w(window/widget窗口)+l(左)

3.4 执行shell命令
在不想退出Vim执行shell命令
命令模式下输入
:!{shell命令}
eq:
:!ls(查看下当前目录下档案的名称)

3.5其他
:set number(显示行号)
:set nu(显示行号number缩写)
:set ignorecase(不区分大小写查找)

四、输入内容自动补齐以词为单位
前面输入过FIRST_TIME=09,以后再输入FIRST_TIME仅需要输入FI再使用快捷键Ctrl+N


注意:用Vim打开文件出现Found swap file by the name,两种情况,其他进程正在编辑该文件,或上Vim非正常关闭,导致
swap文件未清除。处理办法是,将该文件所在目录下 以"."点开头的隐藏文件删除,文件名后缀一般为swap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值