vi编辑器的使用 linux命令

来源:互联网 发布:日本旅游花费 知乎 编辑:程序博客网 时间:2024/05/21 19:50

vi编辑器的使用

 

一、vi的工作模式
vi有两种工作模式:
  编辑模式:用来输入和编辑文件的模式,屏幕上会显示用户的键入,按键不是被解释为命令执行,而是作为文本写到用户的文件中。
  指令模式:用来编辑、存盘和退出文件的模式。
    运行vi后,首先进入指令模式。此时输入的任何字符都被视为指令,键入的命令不会在屏幕上显示。
    从指令模式切换到编辑模式,则可以按“Insert”键或“i”键,从编辑模式切换到指令模式,可按“Esc”键。
    状态行是屏幕底部一行,被vi编辑器用来反馈编辑操作结果。错误消息或提供信息的消息会在状态行中显示出来。

二、vi的启动和退出
1.启动vi

    在系统图示字符下键入“vi”+“空格”+“文件名”,如:vitest.txt
    vi可以自动载入所要编辑的文件或是开启一个新文件。
2.退出vi
在指令模式下键入如下命令可以退出vi:
  :q 如果用户只是读文件的内容而未对文件进行修改,可以在命令模式下输入“:q”退出vi。
  :q! 如果用户对文件的内容作了修改,又决定放弃对文件的修改,则用“:q!”命令。
  :w! 强行保存一个vi文件,如果该文件已存在,则进行覆盖。
  :wq 保存文件并退出vi。
  ZZ 快速保存文件的内容,然后退出vi。功能和“:wq”相同。
  :w filename   相当于“另存为”。
  :n,mw filename   将第n-m行的文本保存到指定的文件filename中。

三、vi长指令和短指令
  长指令:以冒号开头,键入冒号后,在屏幕的最末尾一行会出现冒号提示符,等待用户键入指令,输入完指令后回车,vi会执行该指令。
  段指令:与快捷键相似,键入短指令后,vi不会给任何提示就直接执行。
1.输入输出命令
  a 在光标后输入文本
  A 在当前行末尾输入文本
  i 在光标前输入文本
  I 在当前行开始输入文本
  o 在当前行后输入新一行
  O 在当前行前输入新一行
2.光标移动命令
  b 移动到当前单词的开始
  e 移动到当前单词的结尾
  w 向后移动一个单词
  h 向前移动一个字符
  l 向后移动一个字符
  j 向下移动一行
  k 向上移动一行
3.删除操作命令
  x 删除光标所在的字符
  dw 删除光标所在的单词
  dd 删除当前行
  d$ 删除光标至行尾的所有字符
  D 与“d$”命令相同
4.替换操作命令
  r 替换光标所在的字符
  R 替换字符序列
  cw 替换一个单词
  ce 与“cw”命令相同
  cb 替换光标所在的前一字符
  c$ 替换自光标位置至行尾的所有字符
  C 与“c$”命令相同
  cc 替换当前行
5.查询操作命令
  /abc 向后查询字符串“abc”
  ?abc 想前查询字符串“abc”
  n 重复前一次查询
  N 重复前一次查询,但方向相反
6.拷贝粘贴命令
  yw 将光标所在单词拷入剪贴板
  y$ 将光标至行尾的字符拷入剪贴板
  Y 与“y$”命令相同
  yy 将当前行拷入剪贴板
  y 将选取的内容拷入剪贴板
  p 将剪贴板中的内容粘贴在光标后
  P 将剪贴板中的内容粘贴在光标前
7.其他操作命令
  v 选取文本内容
  u 取消上一次的操作
  U 可以恢复对光标所在行的所有改变
  J 把两行文本链接到一起
  :set 用来设置或浏览vi系统当前的选项(加参数“all”后查看所有选项的列表)
  :X 对所编辑的文件进行简单加密

四、vi的高级应用
1.设置vi环境

    vi编辑器的行为可以通过设置编辑参数来定义。
    使用vi的set命令进行设置。vi在进行设置前必须处于指令模式,但选项的改变是临时的,只在用户当前编辑回话下有效,当用户退出vi编

辑器时,设置会被丢弃。
  autoindent选项
    将新行与前一行的开始对准,缩写:ai
    该选项将用户键入的每个新行与前一行的开始对齐。该选项对于使用程序语言编程时十分有用。本选项的默认值是noai。
  ignorecase选项
    在搜索命令下忽略大小写,缩写:ic
    vi编辑器提供大小写敏感的搜索,要使vi忽略大小写,键入“:set ignorecase”,要返回大小写敏感状态,键入“:setnoignorecase”.
  magic选项
    在搜索时,允许使用特殊字符。
    某些符号在用于搜索时有特殊的含义。当用户将这些符号开头置为nomagic时,这些符号不再有特殊含义。
  number选项
    显示行号,缩写:nu
    vi编辑器一般情况下不显示每行的行号。可以改变number选项来显示行号。
  report选项
    告知用户最后一个命令作用行的行号。
    vi编辑器对用户的编辑工作并不给予任何反馈,如果希望在屏幕上看到自己编辑的反馈信息,用户可以通过编辑report选项来实现。
  scroll选项
    设定在指令模式下使用“Ctrl+d”命令翻滚的行数。
  shiftwidth选项
    设定缩进空格数,一般与autoindent一同使用,缩写:sw
  showmode选项
    在屏幕右角显示vi编辑器模式,缩写:smd
  terse选项
    缩短错误信息。
  wrapmargin选项
    将右边界设定为一定的字符个数,缩写:wm
    用户的终端屏幕通常为80列,当键入到行的末尾时,屏幕即开始一个新行,这就是行回绕。在用户按回车键时,屏幕同样开始一个新行。

因此,屏幕上一行的长度可以为1-80个字符之间的任何长度。但是,vi编辑器只在用户按回车时,才在用户文件中生成一个新行。如果用户在

按回车前键入了120个字符,这时键入的文本看起来是在2行,但实际在文件中,这120个字符只在1行中。如果要限制行长度,一是在到达屏幕

行末尾前按回车换行,另一种是设定wrapmargin选项使vi编辑器自动插入回车。


2.缩写操作符
    缩写操作符“:ab”命令使得用户给任何字符串指定缩写,该功能可以帮主用户提高输入速度。用户可以为自己经常输入的文本选择一个易

输入的缩写。
    例如:键入“:ab uox Unix Operating System”命令,当vi处于文本输入模式时,用户键入“uox”接着键入一个空格时,vi自动将键入的

“uox”变为“Unix Operating System”。
    取消缩写“:unab”命令可以取消一个缩写,例如:键入“:unab uox”命令即可。
    想列出已经设置了的所有缩写,键入“:ab”命令即可。
3.宏操作符
    宏操作符“:map”命令使用户能将一系列按键指定给某一按键。给用户一个在指令模式下的快捷按键。
    例如:键入“:map q dd”命令,此后处于指令模式时,每当用户键入q时,vi编辑器自动执行“dd”命令。
    取消宏操作“:unmap”命令。
    用户也可以使用map指令指定功能键,例如:键入“:map #n dd”命令,其中“#n”代表以n为功能键号的功能键。
4.“.exrc”文件
    用户在vi编辑器中所设置的所有选项都是临时的,当用户退出时,它们都会失效。要使这些设置永久保存,可以将选项的设置保存到文件

“.exrc”中。
    当用户打开vi编辑器时,它自动查看用户当前的工作目录中的“.exrc”文件,并根据在文件中的内容设置编辑环境。如果vi没有在当前目

录中发现“.exrc”文件,则将查找用户的主目录,并根据在哪里发现的“.exrc”文件设置编辑环境。如果vi一个“.exrc”文件也没找到,则

对选项使用默认值。
    “.exrc”文件属于启动文件。
例如:建立一个“.exrc”文件。
在终端中键入“vi .exrc”,回车。
在vi编辑器中键入:
  set autoindent
  set shiftwidth=2
  set nomagic
  set number
  set scroll=20
  set showmode
保存退出即可
5.运行Shell命令
    用户可以在vi的命令行运行Linux Shell命令,使得用户可以临时抛开vi来运行Shell命令。
    vi编辑器用“!”来通知vi其后面是一个Shell命令。例如:键入“:!date”命令,vi编辑器将清除屏幕,输出当前系统时间,后按任意键返回vi编辑器,并可以继续编辑。
    如果用户系统将Shell命令执行的结果加到文件文本中,可以使用“:r!”和相应的Shell命令来将命令结果写到用户文件文本中。

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 辅警体检视力不行怎么办 护士延续注册体检怀孕怎么办 护士资格证没有延续注册怎么办 申请信用卡没有座机号码怎么办 网上申请信用卡没有座机号码怎么办 我叫上门服务被骗了怎么办 上门服务被骗了3000多怎么办 微信被骗9000元怎么办 奥迪a8气囊灯亮怎么办 驾考站岗迟到了怎么办 老板欠员工工资不给怎么办 如果有一天我没头发了怎么办 苏州公积金密码忘了怎么办 科二考试第二把怎么办 科一老是记不住怎么办 科目二考试没去怎么办 网约车驾龄不到怎么办 科四预约不上怎么办 教练不退钱怎么办找谁 驾考出入证丢了怎么办 科二成绩单丢了怎么办 考驾照的准考证丢了怎么办 驾考预约去不了怎么办 科目一预约没去怎么办 打狂犬疫苗期间感冒了怎么办 公司社保欠费不交怎么办 25号社保不交怎么办欠费 会计从业停考了怎么办 黑龙江龙育黄了档案怎么办 科目四档案丢了怎么办 从上海调档案到杭州怎么办 户口迁移身份证变更护照怎么办 有中国签证的孩子怎么办户口 大学生户口在学校怎么办签证 户口在南方人才市场怎么办签证 报警电话接到说方言的怎么办 学生去新加坡旅游签证怎么办 出入境的受理编号不见了怎么办 职工下岗档案单位丢失怎么办退休 大学毕业档案在自己手里怎么办 青岛李沧区房产证加名字怎么办手续