Zbrel 发表于 2017-7-21 22:46:19

vi的一般模式

本帖最后由 Zbrel 于 2017-7-21 22:47 编辑

vi的一般模式的可用按钮说明:光标移动、复制粘贴、搜寻取代等
移动光标的方法
h或向左箭头键        光标向左移动一个字符
j或向下箭头键        光标向左移动一个字符
k或向上箭头键        光标向上移动一个字符
l或向右箭头键        光标向右移动一个字符
注:多次移动可以加上想要进行的次数(数字)后,按下动作即可,如30j表示向下移动30行。
Ctrl + f 屏幕向下移动一页,相当于Page Down按键
Ctrl + b 屏幕向上移动一页,相当于Page Up按键
Ctrl + d 屏幕向下移动半页
Ctrl + u 屏幕向上移动半页
+        光标移动到非空格符的下一列
-        光标移动到非空格符的上一列
n<space>        按下数字后在按空格键,光标会向右移动这一行的n个字符,如20<space>则光标会向后移动20个字符
数字0或Home键        移动到这一行的最前面字符处
$或End键        移动到这一行的最后字符处
H        光标移动到这个屏幕的最上方那一行的第一个字符
M        光标移动到这个屏幕的中央那一行的第一个字符
L        光标移动到这个屏幕的最下方那一行的第一个字符
G        移动到这个档案的最后一行
nG        n为数字,移动到这个档案的第n行,如20G则移动到档案的第20行(可配合set nu显示行号使用)
gg        移动到这个档案的第一行,相当于1G
n<Enter>        n为数字,光标向下 移动n行

搜寻与取代
/word        向光标之下寻找word字符串
?word        向光标之上寻找word字符串
n        重复前一个搜寻的动作,如执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执
行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N        与n相反,为反向搜寻动作。
:n1,n2s/word2/word2/g        在第n1行与n2行之间寻找word1字符串并替代为word2
:1,$s/word1/word2/g        从第一行到最后一行寻找word1字符串并替代为word2
:1,$s/word1/word2/gc从第一行到最后一行寻找word1字符串并替代为word2,且在取代前显示提示字符给用户确认(confirm)是否需要取代
:$s/word1/word2/g        全文寻找word1字符串并替代为word2

删除、复制与粘贴
x,X 在一行字符当中,x为向后删除一个字符(相当于delete键),X为向前删除一个字符(相当于backspace键)
nx        连续向后删除n个字符
dd        删除游标所在的那一整列
ndd        删除光标所在的向下n列
d1G        删除光标所在的那一行到第一行的所有数据
dG        删除光标所在的那一行到最后一行的所有数据
d$        删除游标所在处,到该行的最后一个字符
d0        数字0,删除游标所在处,到该行的最前面一个字符
yy        复制游标所在的那一行
nyy        n为数字,复制光标所在的向下n列
y1G        复制光标所在列到第一列的所有数据
yG        复制光标所在列到最后一列的所有数据
y0        复制光标所在的那个字符到该行行首的所有数据
y$        复制光标所在的那个字符到该行行尾的所有数据
p,P        p为将已复制的数据在光标的下一行贴上,P则为贴在游标的上一行
J        将光标所在列与下一列的数据结合成同一列
c        重复删除多个数据
u        复原前一个动作
Ctrl +r        重做上一个动作
.        小数点,重复前一个动作

Zbrel 发表于 2017-7-29 13:22:01

如何在vim中插入换行符和制表符tab
:%s/pattern/pattern^m/g
:%s/pattern/pattern^I/g
^m表示换行符,用ctrl+v再ctrl+m输入.
^I表示tab制表符,按tab键输入.
页: [1]
查看完整版本: vi的一般模式