利用vi编辑器创建和编辑正文文件(二)
末行模式下的命令
1、 w:写文件,将编辑的内容保存到文件系统。
2、 w!:如果只读文件,强制写入系统。
3、 q!:退出vi,但文件内容修改的话,系统要提示是否保存。
4、 wq!:保存内容,并退出。
5、 /:查找匹配的字符串,在编辑时,要查找包含某个字符串,可使用/字符串“”,自动查找,系统会突然显示所找到的字符串,并转到第一个字符串。
6、 n:表示加载新文件,若加载目录下的文件hello.c,可使用“n hello.c”。
7、 e:表示创建新文件。
编辑多个文件
1、 vi编辑器允许用户一次调入多个文件进行编辑,但是每次只能对单个文件进行修改,要同时调入多个文件,依次进行编辑,使用的命令格式:
vi [文件1] [文件2 [文件3]…….[文件3]。其中文件1 文件2 文件3表示要使用vi查看文件的名称。当用户完成第一个文件编辑并且存盘后,在末行模式下输入 n (next)就能进入第二个文件;输入rew能回到首文件,输入args就会在最后一行显示当前缓冲区的文件名称。
分割多个窗口
1、在末行模式下输入split,即实现窗口分割功能。在命令行模式下输入ctrl+w,将光标移动到下一个窗口。关闭窗口:q! ,wq!,或者close,quit。垂直分割vsplit。
2、数据恢复:在vi编辑器下可以使用 –r命令恢复。例如:vi -r name.txt。
3、定义新命令:进行程序或者文本编辑时,对于常用的字符或者短语,vi提供使用定义快捷输入的方式。Vi中经常使用新定义的方法:第一种使用ab命令,另一种在末行命令模式下使用imap或者map命令。 ab命令方式:ab字符1 字符串1.在该模式下使用字符1代替字符串1.。 imap命令方法:imap 快捷键 需要替换的字符串。
4、文本整体移动:文本左右移动>> <<。上下移动m:n m k,其中n表示源目的行,m表示移动的操作,k表示将移动的行移动到第k行下方。
vi的高级使用
vi编辑器中用户可以根据自己的需要灵活的制定工作环境,这些命令一旦设置就会立即生效。
1、ai:autoindent选项把每一行缩排为与其上一行首对其,它的默认值是autoindent.off.
2、ap:autoprint选项在当前行改变时将它打印到屏幕上,他的默认值是autoprint.on.
3、sm:showmatch选项在输入右圆括号时显示匹配的左圆括号,这个选项对于编写代码的程序而言非常有用,默认值是showmatch off
4、Wm=n:warpmargin选项定义一个右边距。在本命令语法中,n是一个整数。如果n大于0,那么本命令强迫回车,以便留出右边距。例如 wm=5告诉vi当字符出现在行内的最后5个字符中时换行。默认wm=0.
5、report:report选项设置编辑操作改变的次数,这个次数能导致一个信息出现在状态行上。例如report=3,将在你删除3行后触发信息,当你删除少于3行时不显示信息,他的默认值为5、
6、smd:showmode选项在给出相关命令时,在状态行下面显示插入,它的默认值 showmode off。
7、ws:word search:选项在查找期间遇到文件结束符时,从结束符处绕文件到文件开始字符,继续查找。默认值为on。
8、eb:errorbells:选项在出现命令错误时使计算机报警。它的默认值为 errorbells off。
9、redaw:redraw选项发生变化时使屏幕刷新,默认值为redraw on。
10、warn:当已修改了缓冲区内容,但没有将缓冲区存在磁盘中却试图突出vi时,warn选项将显示一个警告信息。默认值为on。
11、fl:通常情况下在vi编辑器汇总输入无效的命令或者按下ESC时,都会发出滴答的声音,设置为flash表示不再发出声音,再设置为onflash表示发出声音。
12、list:设置list,会使vi中的Tab符号用^1表示,用$表示每行的结束,设置nolist表示用空白符号显示Tab,不显示行的结束符。
13、ic:ignorecase通常情况下在vi中区分大小写的搜索,即区分大写字母和小写字母,当设置为ignorecase将不再区分大小写,而设置noignorecase将恢复大小写搜索。
14、wrap:erap用于控制不能在屏幕一行显示的较长行,设置为true表示自动换行,设置为nowrap表示不自动换行,默认自动换行。
15、如果用户要修改环境的配置,只需在末行模式下输入set加相关的参数即可。
16、变量设置方法:尽管上述方法可以对vi进行设置,但这些设置仅可以在末行模式下使用,有些用户可能想在加载文件时,就让他们自动设置,而不需要内粗编辑文件时都手工进行。鉴于此,vi使用EXINIT变量自动设置选项,通过set命令设置想要的选项。任何时候进入vi编辑器,存储在EXINIT中的set命令都会自动执行。
$EXINIT=’set numbert’ :在任何时候让vi的行前都带行号。
利用vi编辑器创建和编辑正文文件(二)的更多相关文章
- linux基础-第九单元 利用vi编辑器创建和编辑正文文件
vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...
- 第九单元 利用vi编辑器创建和编辑正文文件
vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下 ...
- 利用vi编辑器创建和编辑正文文件(一)
1. vim是vi的升级版本. 2. vi所UNIX和Linux系统内嵌的标准文编辑器,可执行,修改,复制,移动,粘贴和删除正文等命令,也可以进行移动光标,搜索字符和退出vi的 ...
- Linux基础-5.利用vi编辑器创建和编辑正文文件
1.vi编辑器简介 1)掌握vi编辑器的定义:vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界面,vi是效率很高的文本编辑器.尽管在Linux上也有很多图形界面 ...
- Linux 正文处理命令及tar命令 利用vi编辑器创建和编辑正文文件
要点回顾 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cp /etc/passwd . cat ./passwd >1.txt cp /etc/group ...
- Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接
作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt2) 将用户信息数据库文件和用户 ...
- 创建和编辑 crontab 文件
http://docs.oracle.com/cd/E24847_01/html/819-6951/sysrescron-24589.html 创建和编辑 crontab 文件 创建 crontab ...
- 非正常关闭vi编辑器时会生成一个.swp文件
非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...
- 使用Python Shapefile Library创建和编辑Shapefile文件
介绍 shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Classes),主要包括点(point).线(polyline)和多边形(polygon).P ...
随机推荐
- python微信自动回复
模块是itchat 下载:命令行输入 pip install itchat import itchat #导入itchat模块 itchat.auto_login() #登陆微信,授权 用命令行发送给 ...
- nginx server
配置nginx 首先apt install nginx 然后安装php apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-mbs ...
- vue中集成pdfjs自定义分页
<template> <div id="div_read_area_scrool" class="no-scrollbar--x" :styl ...
- 你可能不知道的web api
简介 作为前端工作者,我们的工作与web是分不开的,随着HTML5的日益壮大,浏览器自带的webapi也随着增多.本篇文章主要选取了几个有趣且有用的webapi进行介绍,分别介绍其用法.用处以及浏览器 ...
- 使用IDEA进行版本控制
1.使用IDEA进行版本控制 创建git repository add-添加到暂存区 commit-提交到本地库 push-推送指定远程库(自己的) idea上的pull指的是合并(merge),并非 ...
- POJ - 3984 迷宫问题 bfs解法
#include<stdio.h> #include<string.h> #include<algorithm> #include<stack> usi ...
- hadoop2.7单节点
$ sudo apt-get install ssh$ sudo apt-get install rsync 修改文件 etc/hadoop/hadoop-env.sh # set to the ro ...
- 求N!的位数
#include<iostream> #include <cstdio> #include <cmath> using namespace std; const d ...
- spark入门
这一两年Spark技术很火,自己也凑热闹,反复的试验.研究,有痛苦万分也有欣喜若狂,抽空把这些整理成文章共享给大家.这个系列基本上围绕了Spark生态圈进行介绍,从Spark的简介.编译.部署,再到编 ...
- SpringMVC框架出现 405 request method post not supported 的解决方法
在SpringMVC框架中当使用post请求服务,然后请求成功转到一个静态文件,如html,htm等网页时.页面出现405 request method post not supported错误,只要 ...