linux中vi过滤,vim高级编辑(一)

------------------------------------------------------------------------------------------------

本文内容学习自《使用vi编辑器, Lamb & Robbins编著》

本文内容概要:

set设置

.vimrc配置

vim下执行linux命令

利用linux命令来编辑当前文件

短语缩写

本文约定:

$ + 命令 表示在普通的bash的命令行下

:  + 命令 表示在vim的ex(命令)模式, 按"Ctrl" + ":" 进入

------------------------------------------------------------------------------------------------

set命令

有两种类型的选项可以使用:set命令进行修改:不是开就是关的触发选项和带数字或字符串值的选项(如页边距的位置和文件名)

一般触发选项的命令为:set cmd

关闭选项的命令为:set nocmd

上面cmd代表某种命令选项

例如,

:set ic  在搜索时忽略大小写 (ic=ignore case

)

:set noic在搜索时不忽略大小写

可以用:set all命令查看所有的选项,可以看到你设置的值或者默认值

:set option?   查看option这个选项的当前设置值

:set               显示在.vimrc文件或当前会话期间修改或设置过的选项

.vimrc文件

在Linux中,.vimrc在用户home目录下(初始时没有,要自己创建一个),可以修改这个文件。

可以把set, ab和map命令写入该文件中,那么打开vim编辑,会使用这个文件里的配置

替换环境

除了读取home目录下的.vimrc配置文件外,还可以让vim读取当前目录下的.vimrc文件,这样可以对那些适用于特殊项目的选项进行设置。

注意,可以在home目录下的.vimrc设置某些选项,然后在本地目录中取消这些设置。

执行linux命令

在vim进行编辑时,可以显示或读取任何Linux命令执行的结果。

用感叹号(!)可以制定vim创建一个shell并把它后面的内容看成Linux命令:

:!command

例如,

:!date  显示当前时间

上面的命令,只能执行一次命令,然后就返回vim编辑环境了,如果想要执行多次命令而不会返回vim编辑环境,可以用命令,

:sh

这个命令其实是新建了一个shell,可以像正常的命令行一样操作。

如果要退出shell并返回vim编辑,按 Ctrl + D

利用read(r)命令可以把Linux命令执行的结果读入到当前编辑的文件中:

:r  !date

将会把当前时间读入到编辑文件中

使用命令过滤文本

利用感叹号执行linux命令,可以让vim利用linux命令所提供的功能来编辑。

例如文件内容:

4

5

2

3

要把这几行从小到大排序,可以利用系统的sort命令:

:1, 4 !sort

将会对这四行排序

短语缩写

缩写很有用,我们经常在文件中反复输入同样长的短语,无论是在插入模式还是在命令模式下,vim和ex都有许多不同的用来保存长命令序列的方法

:ab  hw  hello world!

这个命令表示hw是hello world!的缩写,那么在插入模式或者命令模式下,只要输入hw作为一个完整的单词(不能是其他单词的一部分),就会自动拓展成hello world!

如果要取消这个缩写,可以输入

:unab hw

列出当前的所有缩写

:ab

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

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

相关文章

ruby中的self

self,自己,在ruby中表示当前对象或默认对象。程序执行的任一时刻,有且仅有一个self。 1.谁成为self,在什么位置成为self? 要知道哪个对象是self,就必须知道当前的上下文。上下文主要有顶层上下文&#xff0…

二手宏碁上网本装linux,Acer国内20日首发“上网本” 放弃Linux使用XP

据相关媒体报道 8月20日将在国内正式推出XP系统版的8.9英寸超便携笔记本电脑Aspire One,放弃使用Linux系统,硬件配置方面,除了依然采用英特尔Atom处理器之外,推出120GB传统硬盘和SSD两个版本。其中,XP系统 120G传统硬盘…

gwt-2.8.2下载_GWT 2 Spring 3 JPA 2 Hibernate 3.5教程

gwt-2.8.2下载本分步指南将介绍如何使用以下方法开发简单的Web应用程序 Google的网络工具包 (GWT)用于富客户端,而Spring作为后端服务器端框架。 该示例Web应用程序将提供对数据库执行CRUD(创建检索更新删除)操作的功能…

免费WiFi,仅仅为好久没联系的你们

昨日,认识五年的朋友搬来与我一起住了,说不上来,没有激动,仅仅是突然感觉生活又多了一点生机。兴致上来,晚上立马联系了已经近四个月没有联系的好友,才知道他们的生活也因这几个月发生了翻天覆地的变化。究…

c语言诡异程序,为什么C语言诡异离奇、缺陷重重,却获得了巨大的成功?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼已经使用了C语言十几年了,今天还在写C语言代码,C语言算是很多编程语言祖师爷了,已经取得了巨大的成功但还是很多人对于C语言存在很大的偏见,觉得C语言里面很多语法别扭,特…

translateZ 带来的Z-index 问题

今天遇到了一个问题,当一个3D变换元素translateZ这个属性的值为负值的时候,这个元素的Z-index就不会其作用,解决方法就是translateZ的值必须大于等于0才能让Z-index 起作用。 原因:太累了,想了想,translate…

五猴分桃c语言课程设计,c语言程序设计五猴分桃问题实验报告.doc

c语言程序设计五猴分桃问题实验报告.doc 课程设计报告学院、系:吉林大学珠海学院计算机科学与技术系专业名称:软件工程课程设计科目C语言程序课程设计所在班级:10班学生学号:04121010学生姓名:赵学文指导教师&#xff…

菜根谭#161

道是一重公众物事,当随人而接引; 学是一个寻常家饭,当随事而警惕。转载于:https://www.cnblogs.com/star4knight/p/3862140.html

c语言100以内奇数的和为多少,编写C#程序,计算100以内所有奇数的和。谢谢了,大神帮忙啊...

编写C#程序,计算100以内所有奇数的和。谢谢了,大神帮忙啊以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!编写C#程序,计算100以内所有奇数的和。谢谢了&am…

监控系统的多协议直播(RTSP RTMP HTTP Live Streaming)

监控系统的多协议直播(RTSP RTMP HTTP Live Streaming) 转载于:https://www.cnblogs.com/cl1024cl/p/6204791.html

阿里媒体转码公共参数_Xuggler教程:转码和媒体修改

阿里媒体转码公共参数注意:这是我们的“ Xuggler开发教程 ”系列的一部分。 在上一教程中,我对视频处理Xuggler进行了简短介绍 。 在这一部分中,我们将看到Xuggler和FFmpeg提供的一些更令人兴奋的功能,例如视频转码和媒体修改。 别…

52单片机iic读写c语言,如何52单片机的I2C读写24C08程序问题排查修改

------波形在一楼isoimg2130老师提供在单片机正常运行的程序:#include "reg52.h"#include "intrins.h"typedef unsigned char u8;sbit SCLP2^1; //I2C 时钟sbit SDAP2^2; …

怎么用c语言写一个贪吃蛇,刚学C语言,想写一个贪吃蛇的代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#include#include#includetypedef struct snake{int a;int b;struct snake *u;struct snake *n;}snake,*snake1;typedef struct food{int a;int b;}food;void main(){char c,c0 d;int i,j,k,n1,t,at;snake p,q;snake *dd,…

题目1065:输出梯形 (直接用循环控制输出)+题目1432:叠筐 (数组控制形状,最后输出数组)...

题目1065:输出梯形 (直接用循环控制输出) 样例输入: 4 样例输出: ****************** ********** 题目1432:叠筐 样例输入: …

毕业设计C语言网吧管理系统,毕业设计网吧管理系统.doc

毕业设计网吧管理系统.doc本科生毕业论文(设计)题目: 网吧管理系统――服务器子系统学 院 数学与计算机学院学科门类 理 科专 业 信息与计算科学学 号 024092553姓 名 陈绍指导教师 白云2007年5月25日网吧管理系统——服务器子系统摘 要随着上个世纪九十年代计算机网…

sql注入查找注入点_基本的EJB参考,注入和查找

sql注入查找注入点在本系列的第一部分中 ,我们介绍了Enterprise JavaBeans v。3.0规范提供的机制,用于定义EJB组件,声明对EJB的引用并通过依赖项注入或程序化JNDI查找将它们连接起来。 在此博客文章中,我们将研究一些基本示例以了…

安徽省c语言选择题题库,C语言选择题题库.doc

C语言程序设计题库说明一 本题库适用对象计算机应用技术计算机软件软件技术计算机网络技术与计算机控制技术等专业二 本题库包含有175道选择题三 本题库所有题目均附有答案一、选择题下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡…

求二叉树的最小深度

思路:用递归的方法求解。 输入:二叉树的根节点; 输出:二叉树的最小深度。 最小深度的定义:从根节点到叶子节点的最短路径上的节点数。 算法如下: 将二叉树分为这么几种情况: 传入的根节点为空&a…

qfp封装能够linux,QFP、PQFP、LQFP、TQFP封装形式及PCB详解

问题:画PCB时,会发现很多的集成电路都是QFP封装,比如很多的单片机都有这种封装。各个器件商会在自己的数据手册中说明他的器件是QFP,LQFP或TQFP,然后,有的给出封装尺寸图,有的则不给。那么&…

编写下载服务器。 第三部分:标头:内容长度和范围

这次,我们将探索更多的HTTP请求和响应标头,以改善下载服务器的实现: Content-length和Range 。 前者表示下载量很大,后者允许部分下载文件或在我们开始时失败后继续下载。 Content-length响应标头对于跟踪下载进度的客户端非常有…