zoukankan      html  css  js  c++  java
  • 利用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的行前都带行号。

     

  • 相关阅读:
    Could A New Linux Base For Tablets/Smartphones Succeed In 2017?
    使用libhybris,glibc和bionic共存时的TLS冲突的问题
    6 Open Source Mobile OS Alternatives To Android in 2018
    Using MultiROM
    GPU drivers are written by the GPU IP vendors and they only provide Android drivers
    Jolla Brings Wayland Atop Android GPU Drivers
    How to Use Libhybris and Android GPU Libraries with Mer (Linux) on the Cubieboard
    闲聊Libhybris
    【ARM-Linux开发】wayland和weston的介绍
    Wayland and X.org problem : Why not following the Android Solution ?
  • 原文地址:https://www.cnblogs.com/lsb123/p/10240544.html
Copyright © 2011-2022 走看看