【Linux】vi编辑器命令

       1)进入vi的命令

                     vi filename :             打开或新建文件,并将光标置于第一行首

                     vi +n filename :          打开文件,并将光标置于第n行首

                     vi + filename :           打开文件,并将光标置于最后一行首

                     vi +/pattern filename:    打开文件,并将光标置于第一个与pattern匹配的串处

                     vi -r filename:           在上次正用vi编辑时发生系统崩溃,恢复filename

                     vi filename....filename:  打开多个文件,依次编辑

       2)移动光标类命令

                     h :           光标左移一个字符

                     l :           光标右移一个字符

                     space:        光标右移一个字符

                     Backspace:    光标左移一个字符

                     k或Ctrl+p:    光标上移一行

                     j或Ctrl+n :   光标下移一行

                     Enter :       光标下移一行

                     w或W :        光标右移一个字至字首

                     b或B :        光标左移一个字至字首

                     e或E :        光标右移一个字j至字尾

                     ) :           光标移至句尾

                     ( :           光标移至句首

                     }:            光标移至段落开头

                     {:            光标移至段落结尾

                     nG:           光标移至第n行首

                     n+:           光标下移n行

                     n-:           光标上移n行

                     n$:           光标移至第n行尾

                     H :           光标移至屏幕顶行

                     M :           光标移至屏幕中间行

                     L :           光标移至屏幕最后行

                     0:           (注意是数字零)光标移至当前行首

                     $:            光标移至当前行尾

       3)屏幕翻滚类命令

                     Ctrl+u:       向文件首翻半屏

                     Ctrl+d:       向文件尾翻半屏

                     Ctrl+f:       向文件尾翻一屏

                     Ctrl+b;     向文件首翻一屏

                     nz:           将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

       4)插入文本类命令

                     i :           在光标前

                     I :           在当前行首

                     a:            光标后

                     A:            在当前行尾

                     o:            在当前行之下新开一行

                     O:            在当前行之上新开一行

                     r:            替换当前字符

                     R:            替换当前字符及其后的字符,直至按ESC键

                     s:            从当前光标位置处开始,以输入的文本替代指定数目的字符

                     S:            删除指定数目的行,并以所输入文本代替之

                     ncw或nCW:     修改指定数目的字

                     nCC:          修改指定数目的行

       5)删除命令

                     ndw或ndW:     删除光标处开始及其后的n-1个字

                     do:           删至行首

                     d$:           删至行尾

                     ndd:          删除当前行及其后n-1行

                     x或X:         删除一个字符,x删除光标后的,而X删除光标前的

                     Ctrl+u:       删除输入方式下所输入的文本

       6)搜索及替换命令 :

                     /pattern:     从光标开始处向文件尾搜索pattern

                     ?pattern:     从光标开始处向文件首搜索pattern

                     n:            在同一方向重复上一次搜索命令

                     N:            在反方向上重复上一次搜索命令

                     :s/p1/p2/g:   将当前行中所有p1均用p2替代

                     :n1,n2s/p1/p2/g:   将第n1至n2行中所有p1均用p2替代

                     :g/p1/s//p2/g:     将文件中所有p1均用p2替换

       7)选项设置

                     all:         列出所有选项设置情况

                     term:        设置终端类型

                     ignorance:   在搜索中忽略大小写

                     list:        显示制表位(Ctrl+I)和行尾标志($)

                     number:      显示行号

                     report:      显示由面向行的命令修改过的数目

                     terse:       显示简短的警告信息

                     warn:        在转到别的文件时若没保存当前文件则显示NO write信息

                     nomagic:     允许在搜索模式中,使用前面不带“\”的特殊字符

                     nowrapscan:  禁止vi在搜索到达文件两端时,又从另一端开始

                     mesg:        允许vi显示其他用户用write写到自己终端上的信息

       8)最后行方式命令

                     :n1,n2 co n3:   将n1行到n2行之间的内容拷贝到第n3行下

                     :n1,n2 m n3:    将n1行到n2行之间的内容移至到第n3行下

                     :n1,n2 d :      将n1行到n2行之间的内容删除

                     :w :            保存当前文件

                     :e filename:    打开文件filename进行编辑

                     :x:             保存当前文件并退出

                     :q:             退出vi

                     :q!:            不保存文件并退出vi

                     :!command:      执行shell命令command

:r!command:     将命令command的输出结果放到当前行 。

                     :n1,n2 w!command:  将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入

                    

转载于:https://www.cnblogs.com/zhuyibo/p/3985211.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

The Architecture of Open Source Applications

http://www.aosabook.org/en/index.html 有 nginx http://www.aosabook.org/en/nginx.html转载于:https://www.cnblogs.com/cloudstorage/archive/2012/07/12/2588196.html

html2canvas生成海报的各种问题

html2canvas(一)官网下载安装(二)基础用法(三)生成海报问题canvas高分屏下的模糊问题html2canvas图片模糊问题canvas图片getImageData,toDataURL跨域问题1) 首先,图片服务器需要配置Access-Cont…

Bootstrap中DropDown插件显示下拉列表,点击下拉列表区域,不会再自动关闭。

目标: Bootstrap中DropDown插件显示下拉列表,点击下拉列表区域,不会再自动关闭。 参考:http://v3.bootcss.com/javascript/#dropdowns // http://stackoverflow.com/questions/19740121/keep-bootstrap-dropdown-open-when-cl…

前端字符串内HTML标签无效的处理方式

1&#xff09;将元素的innerText 赋值成 元素的 innerHTML。即可避免转义的问题&#xff0c;将字符串中包含的 HTML标签生效。 <div ref"introContent" class"intro__content">{{intro}}</div>mounted() {// let text this.$refs.introConte…

获取当前目录绝对路径

echo offecho 当前盘符&#xff1a;%~d0echo 当前盘符和路径&#xff1a;%~dp0echo 当前批处理全路径&#xff1a;%~f0echo 当前盘符和路径的短文件名格式&#xff1a;%~sdp0echo 当前CMD默认目录&#xff1a;%cd%echo 目录中有空格也可以加入""避免找不到路径echo 当…

【CSS】css特殊性-优先级-权重

注&#xff1a;文章来源&#xff1a;《css权威指南》 第三章。 部分未予记录css选择器可以用多种方式去选择元素&#xff0c;实际上一个元素可以由使用两个或者多个规则来匹配&#xff0c;每个规则都有各自的选择器。请看例子CSS:h1 {color: red;}body h1 {color: green;}h2.gr…

vue开发问题积累

mounted钩子中使用$refs出现undefined 原因&#xff1a;如果在DOM结构中的某个DOM节点使用了v-if、v-show或者v-for&#xff08;即根据获得的后台数据来动态操作DOM&#xff0c;即响应式&#xff09;&#xff0c;那么这些DOM是不会再mounted阶段找到的。 **解决方法&#xff1…

动态规划0—1背包问题

动态规划0-1背包问题 问题描写叙述&#xff1a;给定n种物品和一背包。物品i的重量是wi&#xff0c;其价值为vi&#xff0c;背包的容量为C。问应怎样选择装入背包的物品&#xff0c;使得装入背包中物品的总价值最大?对于一种物品&#xff0c;要么装入背包&#xff0c;要么不装。…

Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释

本文大部分参考自 http://blog.csdn.net/mayingcai1987/article/details/6200909 &#xff0c;对原文中的讲解FLAG_NEW_TASK地方加了一些自己的观点&#xff0c;用红色标记 1. Task是包含一系列Activity的堆栈, 遵循先进后出原则. 2. Task默认行为: (1) 前提: Activity A和Ac…

vmstat命令详解

参数详情&#xff1a; r runingb blockswpd 虚拟内存使用时间free 物理free内存buff 从硬盘--->内存的 缓冲cache 从内存--->硬盘的 缓存si 从磁盘写入swap的大小/sso 从swap写入磁盘的大小/sbi 块设备每秒接收的块数量bo 块设备每秒发送的块数量cs 每秒上下文切换次数us…

CSharp设计模式读书笔记(22):策略模式(学习难度:★☆☆☆☆,使用频率:★★★★☆)...

策略模式(Strategy Pattern)&#xff1a;定义一系列算法类&#xff0c;将每一个算法封装起来&#xff0c;并让它们可以相互替换&#xff0c;策略模式让算法独立于使用它的客户而变化&#xff0c;也称为政策模式(Policy)。 模式角色与结构&#xff1a; 示例代码&#xff1a; usi…

评论 展开|收起

场景&#xff1a; 列表中文本最多三行&#xff0c;超出部分省略&#xff0c;并显示展开收起按钮&#xff0c;如果文本没有超出三行则不显示展开收起按钮 方案&#xff1a; 1&#xff09;在div 中添加一个span 然后给div设置超出三行省略&#xff0c;这时候就可以获取到文本高…

【原创】linux 下远程连接windows桌面

一、安装过程 首先到http://www.rdesktop.org下载rdesktop 解压后进入rdesktop文件夹 执行命令&#xff1a; [rootmaster swxing]#./configure [rootmaster swxing]#make ; make install 提示没有安装openssl-devel 执行命令安装openssl-devel&#xff08;以下是在centos下用yu…

什么是.NET

Microsoft.NET 是Microsoft XML Web Service平台。 平台包含4个主要部分1.底层操作系统--Windows。 2.辅助产品--.NET企业服务器。 3.Microsoft XML Web服务--.NET My Servers。 4.开发平台--.NET框架。 CLR和FCL提供的部分服务转载于:https://www.cnblogs.com/dongdongguo/arc…

springboot + ApplicationListener

ApplicationListener自定义侦听器类 Component public class InstantiationTracingBeanPostProcessor implementsApplicationListener<ContextRefreshedEvent> {private static final Logger LOG Logger.getLogger(InstantiationTracingBeanPostProcessor.class);privat…

c语言使用小结

mallocfree typedef struct{   int a;   int b;}HA; cpp是C的扩展在大多数CPP的头文件里 CPP用到的关键字都会被条件编译扩起来以方便C的使用 当C用时CPP用到的关键字不会被编译。本质上CPP是兼容C的。 .lib .o 是程序编译时要使用的己经编译的函数库。 minGW环境可以使用.…

JAVA学习之动态代理

JDK1.6中的动态代理 在Java中Java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口&#xff0c;通过使用这个类和接口可以生成一个动态代理对象。JDK提供的代理只能针对接口做代理 java.lang.reflect.Proxy 提供用于创建动态代理类和实例的静态方法&#xff0c;…

net开源项目

1 以色列 特思开源软件 http://cn.tersus.com/#Id3924 2 开源社区 http://www.ctochina.net/ .NET开源项目链接 http://www.cnblogs.com/dustinyang/articles/361479.html项目网址简介Rainbowhttp://www.rainbowportal.net/ http://sourceforge.net/projects/rainbowportal/The…

screen状态变Attached连接会话失败

使用xshell远程登录主机&#xff0c;使用screen命令启动程序运行至后台&#xff0c;意外发现screen session的状态为Attached&#xff0c;使用命令screen -r &#xff1c;session-id>,提示失败信息&#xff0c;重复多次无果。 解决方法&#xff1a;把自己踢掉&#xff0c;然…

引用类型赋值

转载于:https://www.cnblogs.com/dongyuhan/p/6519711.html