linux中的vi命令
linux的重要的几个命令如下:
①,光标的操作
1,gg,G,nG,:n
gg移到文档的开头一行,G移动到最后一行,nG移动到第n行,到指定的行。
2,H,M,L
光标分别移动到这个界面的最上边,中间,最下边
3,n+<space>和n+<Enter>
光标分别向右n列,向下n行。
4,Ctrl+f/+b/+d/+u
5,o,O,
o:光标所在行的下面加入空行,并转成插入模式
O:光标所在行的上面加入空行,并转成插入模式
6,A,I
A:光标移动到行尾,并转成插入模式
I:光标移动到行首,并转成插入模式
②,搜寻相关
1,/
向游标之下搜寻/后边的字比如/work,在文中搜寻work。
2,?
向游标之上搜寻
3,n
重复前一个搜寻的动作
4,N
与n的搜寻方向相反,方向搜寻上一个动作
5,grep
可以查找关键字:grep "pattern" ,cn跳转到下一个匹配处。
6,[ i和[ I
[ i是查找本文档中与光标所在位置的词一样的位置,[ I是包含include的文件的查找。
7,gd
使用"gd"可以跳转到当前光标所在的单词(变量)的局部定义处。
8,*---效果暂时和gd相同
使用"*"可以高亮显示文中所有的单词(变量) 。
③,复制粘贴相关
1,x或者X--删除
x是向后删除一个字元,如同del
X是向前删除一个字元,如同backspace
2,nx
连续向后删除n个字元
3,dd和ndd
dd是删除游标所在的一整行,ndd是删除游标所在的向下的n列。
4,d0和d$
d0是删除游标所在处到行首的字元,d$是删除游标所在处到行尾的字元.
剪切第19行到41行
:19,41d
5,yy和nyy--复制
yy是复制游标所在的一行,nyy是复制游标所在的向下的n列。
6,y0和y$
y0是复制游标所在处到行首的字元,y$是复制游标所在处到行尾的字元.
复制第19行到41行
:19,41y
7,p和P--粘贴
p是将内容粘贴到光标所在行的下一行,P是将内容粘贴到光标所在行的上一行。
8,u--如同ctrl+z
返回上一个动作
9,ctrl+r
重复上一动作,跟u相反
10,:s--替换
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky:%s/vivian/sky/g 替换文档中所有 vivian 为 sky,注意中间没有空格
④,在一般模式中的命令
1,:w和:w!
将编辑癿数据写入硬盘档案中。和
若文件属性为『只读』时,强制写入该档案。丌过,到底能丌能写入, 还是跟你对该档案癿档案权限有关啊!
2,:q和:q!
离开 vi。和
若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
3,:wq和ZZ
储存后离开,若为 :wq! 则为强制储存后离开。和
若档案没有更改,则不储存离开,若档案已经被更改过,则储存后离开!
4,:w [filename]
将编辑癿数据储存成另一个档案(类似另存新档)
5,:r [filename]
在编辑癿数据中,读入另一个档案癿数据。亦即将 『filename』 这个档案内容加到游标所在行后面
6,:n1,n2 w [filename]
将 n1 到 n2 癿内容储存成 filename 这个档案。
7,:! command
暂时离开 vi 到指令列模式下执行 command 癿显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出癿档案信息!
8,:set nu和:set nonu
显示行号。和
取消行号。
⑤,附图一张:
参考:
①、鸟哥的linux私房菜
②、百度gvim
版权声明:本文为博主原创文章,未经博主允许不得转载。
linux中的vi命令的更多相关文章
- 10个你必须掌握的Linux超酷VI命令技巧
大部分Linux开发者对vi命令相当熟悉,可是遗憾的是,大部分开发者都只能掌握一些最常用的Linux vi命令,下面介绍的10个vi命令虽然很多不为人知,但是在实际应用中又能让你大大提高效率. 在使用 ...
- Linux系统的vi命令
Linux系统的vi命令 vi编辑命令 1,格式: #vi filename 2,用法: //打开或新建文件,并将光标置于第一行首 #vi + filename //打开文件,并将光标置于第n行首 # ...
- Linux中的历史命令
Linux中的历史命令一般保存在用户 /root/.bash_history history 选项 历史命令保存文件夹 选项 -c:清空历史命令 -w :把缓存中的历史命令写入历 ...
- 关于XShell的常见使用和设置以及Linux中的常见命令.
本文部分转自:http://sundful.iteye.com/blog/704079 和 http://www.vckai.com/p/5 有时候在XShell中操作的一些命令傻傻的分不清这个命令到 ...
- linux中的strings命令简介2
摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 之前我们聊过linux strings的用法和用 ...
- linux中的strings命令简介
摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 在linux下搞软件开发的朋友, 几乎没有不知道 ...
- linux中的ps命令用法。
在linux中使用ps命令可以查看有哪些进程在运行和运行的状态.进程是否结束.进程有没有僵尸.哪些进程占用了过多的资源等等. ps命令最常用的是用于监控后台进程的工作情况. 名称:ps 使用权限:所有 ...
- linux中的 tar命令的 -C 参数,以及其它一些参数(转)
linux中的 tar命令的 -C 参数,以及其它一些参数 复制源:http://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.htmltar命令 ...
- Linux故障:linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0"。
linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0". ...
随机推荐
- Marriage Ceremonies LightOJ - 1011
Marriage Ceremonies LightOJ - 1011 常规状压dp.popcount(S)表示S集合中元素数量.ans[S]表示S中的女性与前popcount(S)个男性结婚的最大收益 ...
- git简单使用方法
跟远程库关联起来: http://www.cnblogs.com/Gabriel-Wei/p/6564102.html http://www.liaoxuefeng.com/wiki/00137395 ...
- azkaban web ui界面出现异常诡异“丑”界面的问题解决(图文详解)
前期博客 启动azkaban时出现User xml file conf/azkaban-users.xml doesn't exist问题解决(图文详解) 问题详情 [hadoop@master co ...
- Suricata的Reputation
见官网 https://suricata.readthedocs.io/en/latest/reputation/index.html Docs » 9. Reputation Edit on Git ...
- android开发学习 ------- json数据与实体类之间的相互转换
在网络请求的时候,会返回给我们实体类,我们需要将实体类转化为json字符串,方便处理数据: 有时候也会将json数据转换为实体类. 在Android Studio中,json要互相转换,需要用到gso ...
- iOS圆形图片裁剪,原型图片外面加一个圆环
/** * 在圆形外面加一个圆环 */ - (void)yuanHuan{ //0.加载图片 UIImage *image = [UIImage imageNamed:@"AppIcon1 ...
- Understanding Scroll Views 深入理解 scroll view 读书笔记
Understanding Scroll Views 深入理解 scroll view 读书笔记 It may be hard to believe, but a UIScrollView is ...
- IOS开发之关于UIButton点击没有响应问题
1.如果一个UIButton的frame超出父视图的frame,UIButton还是可以显现的,但响应不了点击事件了,当开发中,遇到UIButton点击没有响应问题时,我们需要输出btn及它父视图的f ...
- Long time no blogging
It is a long time before I posted the last blog on myspace and seems that all of my blogs/documents ...
- 求N个数的最大公约数
使用 “辗转相除法” 计算2个数的最大公因数: int GCD_2(int nNum1, int nNum2) { if (nNum1 > nNum2) { nNum1 = nNum1 ^ nN ...