末行模式下的命令

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编辑器创建和编辑正文文件(二)的更多相关文章

  1. linux基础-第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...

  2. 第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介  什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下 ...

  3. 利用vi编辑器创建和编辑正文文件(一)

    1.       vim是vi的升级版本. 2.       vi所UNIX和Linux系统内嵌的标准文编辑器,可执行,修改,复制,移动,粘贴和删除正文等命令,也可以进行移动光标,搜索字符和退出vi的 ...

  4. Linux基础-5.利用vi编辑器创建和编辑正文文件

    1.vi编辑器简介 1)掌握vi编辑器的定义:vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界面,vi是效率很高的文本编辑器.尽管在Linux上也有很多图形界面 ...

  5. Linux 正文处理命令及tar命令 利用vi编辑器创建和编辑正文文件

    要点回顾 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cp /etc/passwd . cat ./passwd >1.txt cp /etc/group ...

  6. Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接

    作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt2) 将用户信息数据库文件和用户 ...

  7. 创建和编辑 crontab 文件

    http://docs.oracle.com/cd/E24847_01/html/819-6951/sysrescron-24589.html 创建和编辑 crontab 文件 创建 crontab  ...

  8. 非正常关闭vi编辑器时会生成一个.swp文件

    非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...

  9. 使用Python Shapefile Library创建和编辑Shapefile文件

    介绍 shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Classes),主要包括点(point).线(polyline)和多边形(polygon).P ...

随机推荐

  1. python微信自动回复

    模块是itchat 下载:命令行输入 pip install itchat import itchat #导入itchat模块 itchat.auto_login() #登陆微信,授权 用命令行发送给 ...

  2. nginx server

    配置nginx 首先apt install nginx 然后安装php apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-mbs ...

  3. vue中集成pdfjs自定义分页

    <template> <div id="div_read_area_scrool" class="no-scrollbar--x" :styl ...

  4. 你可能不知道的web api

    简介 作为前端工作者,我们的工作与web是分不开的,随着HTML5的日益壮大,浏览器自带的webapi也随着增多.本篇文章主要选取了几个有趣且有用的webapi进行介绍,分别介绍其用法.用处以及浏览器 ...

  5. 使用IDEA进行版本控制

    1.使用IDEA进行版本控制 创建git repository add-添加到暂存区 commit-提交到本地库 push-推送指定远程库(自己的) idea上的pull指的是合并(merge),并非 ...

  6. POJ - 3984 迷宫问题 bfs解法

    #include<stdio.h> #include<string.h> #include<algorithm> #include<stack> usi ...

  7. hadoop2.7单节点

    $ sudo apt-get install ssh$ sudo apt-get install rsync 修改文件 etc/hadoop/hadoop-env.sh # set to the ro ...

  8. 求N!的位数

    #include<iostream> #include <cstdio> #include <cmath> using namespace std; const d ...

  9. spark入门

    这一两年Spark技术很火,自己也凑热闹,反复的试验.研究,有痛苦万分也有欣喜若狂,抽空把这些整理成文章共享给大家.这个系列基本上围绕了Spark生态圈进行介绍,从Spark的简介.编译.部署,再到编 ...

  10. SpringMVC框架出现 405 request method post not supported 的解决方法

    在SpringMVC框架中当使用post请求服务,然后请求成功转到一个静态文件,如html,htm等网页时.页面出现405 request method post not supported错误,只要 ...