vi/vim命令使用

首先讲一些vim和vi的区别:

它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:
1、多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。
vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。

h向左移动一个字符
l向右移动一个字符
j向下移动一行
nj向下移动n行

k向上移动一行

nk向上移动n行
gg或者:1移动到文件第一行
G移动到文件最后一行
w移动到下一个字的开头(不忽略有换行符或者空格)
W移动到下一个字的开头(忽略标点不忽略有换行符或者空格)
e移动到下一个字结尾
E移动到下一个字结尾忽略标点
b移动到当前字或前一个字开头
B移动到前一个字开头忽略标点
L移动到屏幕最后一行
M移动到屏幕中间一行
H移动到屏幕第一行
(即:shift+9移动到句子开头
)即:shift+0移动到句子结尾
{移动到段落开头
}移动到下一个段落开头
0(数字)或者| 移到当前行的第一列
^移到当前行的第一个非空字符
$移到当前行的最后一个字符
+或者Enter 移到下一行的第一个字符
-移到前一行的第一个非空字符

a在光标后插入文本
A在当前行尾插入文本
i在光标前插入文本
I在当前行前插入文本
o在当前行下边插入新行
O在当前行上边插入新行
s删除光标所在处字符,并进入插入模式
S删除光标所在行,并进入插入模式

Esc回到命令模式

u撤销操作

U撤消当前行的全部改动
ctrl+r反复键入,和撤销相反
.反复最后一次改动

x删除当前光标的字符,向后删除
X删除当前光标前的单词,向前删除
dl删除一个字符
dw删除到下一个字的开头
daw删除当前单词
dap删除一个段落
dd删除整行

:w保存文件但不退出
:w file将改动保存再file中但不退出vi
:wq或者ZZ或者:x保存文件并退出
:q!不保存文件,退出vi
:e!放弃全部改动,从上次保存文件开始再编辑

:set nu每行前打印行号

vim选择文本
v从光标当前位置开始,光标所经过的地方被选中,然后再按v取消选择。
V从光标当前行开始,光标所经过的行都被选中,然后再按V取消选择。
ctrl+v从当前光标位置开始,选中光标起点和终点构成的矩形区域,再按一下ctrl+v取消选择。
ggVG选中全部文本,gg为跳到首行,V选中整行,G末尾

对选中的文本进行删除,复制,粘贴
d删除
y复制(默认复制到寄存器)
p粘贴(默认从寄存器取出内容粘贴)
"+y复制到系统剪切板
"+p从剪切板粘贴

屏幕操作

crtl和y向上滚屏
crtl和e向下滚屏
ctrl和u向上滚半屏
crtl和d向下滚半屏
ctrl和b向上滚整屏
ctrl和f向下滚整屏

参考:

https://www.cnblogs.com/mengfanrong/p/5069719.html
https://www.cnblogs.com/yangjig/p/6014198.html

原文地址:https://www.cnblogs.com/kxm87/p/9561773.html