Vi基本操作命令

来源:互联网 发布:nginx 配置文件目录 编辑:程序博客网 时间:2024/06/04 19:03

对于VI的命令行,不需要特意的去记忆,写下来,让要用到的时候能找到就行


 游标控制

h游标向左移
j游标向下移k游标向上移l (or spacebar)游标向右移w向前移动一个单词
b向后移动一个单词
e向前移动一个单词,且游标指向单词的末尾
(移到当前句子的首部
)移到下一个句子的首部
{移到当前段的首部
}移到下一段的首部
[[移到当前区段的首部
]]移到下一个区段的首部
0移到当前行的首部
$移到当前行的尾部
^移到当前行第一个非空白字符的地方
+ or RETURN移动到下一行的第一个字符
-移动到上一行的第一个字符n |移动到当前行的字符n的地方
H移动到当前屏幕的首部
M移动到当前屏幕的中部L移动到当前屏幕的尾部nH移动到当前屏幕首部下的n行nL移动到当前屏幕尾部上的n行Ctrl-F移动到下一屏
Ctrl-B移动到上一屏Ctrl-D向下移动半屏
Ctrl-U向上移动半屏




z RETURN刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的首部(是不是不明白???不明白的话,试试就知道是什么意思了)
z .刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的中部z -刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的尾部Ctrl-L刷新屏幕,不调整屏幕位置Ctrl-R刷新屏幕,不调整屏幕位置/text 向下搜索text
/重复上次的搜索的内容向下搜索一次
?text 向上搜索text
?重复上此搜索的内容向上搜索一次
n重复上此的搜索,向下搜索N重复上此的搜索,向上搜索/text/+n 移动到text所在行的下面n行
?text?-n 移动到text所在行的上面n行



nG移动到n行
:n 移动到n行G移动在最后一行


内容编辑

A:当前行的尾部追加内容

i:游标前插入内容

I:游标后插入内容

o:在鼠标所在行的下面添加内容

O:在鼠标所在行的上面添加内容

ESC:退出编辑模式

Ctrl-T:移动到下一个tab

Backspace:向后移动一个字符

Ctrl-U:删除当前

cw:删除游标所在的字符,然后进入编辑模式

cc:删除游标所在的行,然后进入编辑模式

C:删除从游标所在的位置到行尾的字符,然后进入编辑模式

dd:删除当前行

ndd:删除第n行

D:删除当前行游标所在的位置后面的字符

dw:删除邮编所在的字符

d}:删除当前段剩余的字符

d^:删除游标前到行首的字符

c/pat:删除游标后面到第一次匹配字符间的内容

dn:删除游标后面到下一个匹配字符间的内容

dfa:删除当前行游标到匹配字符间的内容(匹配的字符也将被删)

dta:删除当前行游标到匹配字符间的内容(匹配的字符不被删)

dL:删除从游标到屏幕的最后一行之间的内容

dG:删除从游标到文件末尾之间的内容
J:连结上下两行的内容

p:在游标后面插入buffer中的内容

P:在游标前面插入buffer中的内容

rx:用x替换字符

Rtext:用text从游标开始处进行替换

u:撤销最后的改变

U:还原当前行的内容

x:向后删除游标所在位置的字符

X:向前删除游标前面的字符

nX:删除前面的n个字符,游标所在的字符将不会被删

.:还原最后的改变

~:反转字母的大小写

y:拷贝当前行到新的buffer

yy:拷贝当前行

"xyy:拷贝当前行的buffer名为x的buffer

ye:拷贝当单词的末尾


文件操作

:w写文件












:w!写文件,忽略警告信息:w! file 覆盖文件,忽略警告信息:wq写文件之后退出编辑:q退出编辑器:q!强制退出编辑器:w file 把文件的内容写到另一个文件ZZ退出编辑器,如果文件有改动,则保存再退出:x退出编辑器,如果文件有改动,则保存再退出:n1,n2file 把n1行到n2行间的内容写到文件file:n1,n2>> file 把n1行到n2行间的内容追加到文件file:e file2 在当前文件的命令行模式下编辑file2:e!重新从磁盘加载文件:e#交替编辑文件



:n编辑地下一行:n!编辑地下一行(忽略警告)

:r file 在游标后面插入文件:r !command 在当前行的后面,插入运行命令后的输出内容

在Linux下,可以键入vimtutor命令,有一个包含实操的vim教程。


1.VI的三种命令模式
  1)Command(命令)模式,用于输入命令;
  2)Insert(插入)模式,用于插入文本;
  3)Visual(可视)模式,用于视化的的高亮并选定正文;

2.文件的保存和退出
  2.1):w  保存;
  2.2):w  filename 另存为filename;
  2.3):wq! 保存退出;
  2.4):wq! filename 注:以filename为文件名保存后退出;
  2.5):q! 不保存退出;
  2.6):x 应该是保存并退出 ,功能和:wq!相同

3.光标移动
  3.1)j 向下移动一行;
  3.2)k 向上移动一行;

  3.3)h 向左移动一个字符;
  3.4)l 向右移动一个字符;

  3.5)ctrl+b  向上移动一屏;
  3.6)ctrl+f  向下移动一屏;

  3.7)向上箭头    向上移动;
  3.8)向下箭头    向下移动;
  3.9)向左箭头    向左移动;
  3.10)向右箭头    向右移动;

  3.11)$ 移至行尾
  3.12)gg 移动至文档开始
  3.13)GG 移动到文档尾部
  3.14)ctrl + f 向前翻页
  3.15)ctrl + b 向后翻页

4.插入模式
  4.1)i  在光标之前插入;
  4.2)a  在光标之后插入;

  4.3)I在光标所在行的行首插入;
  4.4)A  在光标所在行的行末插入;

  4.5)O  在光标所在的行的上面插入一行;
  4.6)o  在光标所在的行的下面插入一行;

  4.7)s  删除光标后的一个字符,然后进入插入模式;
  4.8)S  删除光标所在的行,然后进入插入模式;

5.文本内容的删除
  5.1)x 一个字符;
  5.2)#x 删除几个字符,#表示数字,比如3x;
  5.3)dw 删除一个单词;
  5.4)#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
  5.5)dd 删除一行;
  5.6)#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
  5.7)d$ 删除光标到行尾的内容;
  5.8)J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;

6.恢复修改及恢复删除
  6.1)u  撤消修改或删除操作;

7.可视模式
  可视模式是vim提供的,vi没有可视模式,如果我们想键入vi ***.txt时调用vim,则可以输入以下命令:
  echo alias vi=vim >> /etc/profile
  下次登录后,使用vi命令打开文件就直接调用vim了

8.复制及粘帖
  8.1)yy 复制当前行
  8.2)#yy 复制多行,#用数字表示,比如3yy表示复制三行;
  8.3)如果在可视模式下,y可以复制选定的内容

  8.4)p在光标之后粘帖
  8.5) shift + p 在光标之前粘帖

9.查找和替换
  9.1)/SEARCH  注:正向查找,按n键把光标移动到下一个符合条件的地方;
  9.2)?SEARCH  注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

  9.3):s /SEARCH/REPLACE/g  注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
  9.4):%s /SEARCH/REPLACE  注:把文档中所有SEARCH替换成REPLACE;
  9.5):#,# s /SEARCH/REPLACE/g  注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;  
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(53) | 评论(0) | 转发(0) |
0

上一篇:查看python安装路径

下一篇:RPM及常用命令

相关热门文章
  • 验证有效!Mac OS X 如何手动...
  • SAP validations and substitu...
  • 草榴社区,草榴社区最新地址,...
  • 让无数撸友欲罢不能的撸管神器...
  • OSX下面用ffmpeg抓取桌面以及...
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
原创粉丝点击