warmheard的个人空间 https://blog.eetop.cn/449058 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

vi 用法大全

已有 4113 次阅读| 2010-10-26 10:05

vi命令模式中可用的移动键:
h -------------- 将光标向左移一个字符
j -------------- 将光标向下移一个字符
k -------------- 将光标向上移一个字符
l -------------- 将光标向右移一个字符
w -------------- 将光标向前移一个单词
b -------------- 将光标向后移一个单词
e -------------- 将光标移到下一个单词之后
0 -------------- 将光标移到行首
$ -------------- 将光标移到行末
) -------------- 将光标移到下一句句首
( -------------- 将光标移到上一句句首
} -------------- 将光标移到下一段开始处
{ -------------- 将光标移到下一段开始处
shift+G -------- 将光标移到当前文档的底部
^ -------------- 将光标移到行内非空格的第一个字符
H -------------- 将光标移到屏幕上第一行
L -------------- 将光标移到屏幕上最后一行
[[ ------------- 将光标移到文档第一行
]] ------------- 将光标移到文档的最后一行
ngg ------------ 将光标移到文档的第n行
:n  ------------ 将光标移到文档的第n行

在vi中滚动屏幕:
z然后按回车 ---- 将光标所在的那一行移至屏幕顶部
z然后按"-" ----- 将光标所在的那一行移至屏幕底部
z然后按"." ----- 将光标所在的那一行移至屏幕中部
Ctrl+u --------- 向上滚动半屏
Ctrl+d --------- 向下滚动半屏
Ctrl+f --------- 向前滚动全屏
Ctrl+b --------- 向后滚动全屏
Ctrl+e --------- 向下滚动一行
Ctrl+y --------- 向上滚动一行


vi的文本编辑命令:
D -------------- 从光标定位的行末删除文本
dw ------------- 删除光标当前所在的单词
dd ------------- 行删除光标定位的当前行
ndd ------------ n代表即将删除的行数。例如5dd命令不仅会把当前行删除,还会把紧随其后的4行也删除
rc ------------- c代表字符。光标下方的字符将被替换为r后面的字符
R -------------- R后键入的文本将改写当前文本,从光标所在位置开始,一直到按下Escape返回命令模式为止
S -------------- 删除当前行,并开始在当前的空白行插入文本
x -------------- 删除光标下方的字符,并将字符右移填空
X -------------- 删除光标前的字符,并移动字符,令光标下方的字符来填空
~ -------------- 更改光标下方的字母的大小写
J -------------- 将当前行和前一行连接起来,并删除因此而来的空行


vi中的文件操作:
ZZ ------------- 保存对当前文件的更改,然后退出vi
:wq ------------ 保存对当前文件的更改,然后退出vi(和ZZ一样)
:w ------------- 保存对当前文件的更改
:w! ------------ 保存对当前文件的更改,如果有同名文件存在的话,就改写他
:q ------------- 退出vi。如果有未保存的更改,vi将发出抱怨,并"拒绝"退出
:q! ------------ 退出vi,即使还有尚未保存的更改。所有未保存的更改将被丢失
:e filename ---- 把指定文件载入vi进行编辑。如果指定文件不存在,将创建一个新文件
:e! ------------ 丢失所有更改,并从硬盘中重载已保存的文件
:sp filename - 将vi窗口划分为两部分,其中一部分显示新打开的文件,利用ctrl+ww在两个子窗口之间切换,利用该命令可以打开更多的子窗口


vi中的查找和替换命令
/pattern ------- pattern(样式)指代的是要查找的内容。vi将在文件中向前查找与指定内容匹配的第一样式
/ -------------- 重复上一次查找,在文件中查找下一个匹配样式
?pattern ------- pattern(样式)指代的是要查找的内容。vi将在文件中向后查找与指定内容匹配的第一样式
? -------------- 重复上一次查找,在文件中查找与上一次查找内容匹配的样式
% -------------- 把当前光标移至匹配的圆括号或方括号。对程序员来说,该命令非常有用
* -------------- 查找当前光标所在的单词
n -------------- 查找下一个
shift+n -------- 查找上一个
:s/pattern1/pattern2 -------------- 用pattern2替换当前行中与pattern1匹配的每个内容
:%s/pattern1/pattern2 ------------- 用pattern2替换整个文件中与pattern1匹配的每个内容


vi中的yank命令
yw ------------- 把光标当前所在的单词移到缓冲区
y$ ------------- 把当前行及其以前的所有文本移到缓冲区
yy ------------- 把当前行整行移到缓冲区
nyy ------------ n代表打算移到缓冲区的文本的行数。例如5yy将把当前行和紧随其后的4行移到缓冲区
p -------------- 粘贴
u -------------- undo,撤销上一次更改


VISUAL和VISUAL LINE模式:
在命令模式下,按v进入VISUAL模式,按V进入VISUAL LINE模式。
然后利用上下左右键(或者h,j, k, l四个键)选择标识的内容,按“y”复制,最后按“p”粘贴。


点赞

发表评论 评论 (2 个评论)

回复 simonyhchen 2010-10-29 17:11
真是太棒了 好文章

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 3

    粉丝
  • 0

    好友
  • 0

    获赞
  • 9

    评论
  • 648

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-18 05:03 , Processed in 0.015416 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部