zoukankan      html  css  js  c++  java
  • vi命令的使用 分类: arm-linux-Ubuntu 2015-01-24 11:38 544人阅读 评论(0) 收藏

    

    vi编辑器使用方法   

    1vi的基本概念

      基本上vi可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insert mode)和底行模式(lastline mode

      1) 命令行模式commandmode

      控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

      2) 插入模式Insert mode

      只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。

      3) 底行模式(lastline mode

      将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

    一般把vi简化成两个模式,即将底行模式(last line mode)也算入命令行模式command mode)。

    2vi的基本操作

    2.1、三种模式的转换

    a) 进入vi

      在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

      $ vi myfile

    进入vi之后,是处于[命令行模式(command mode],要切换到[插入模式(Insert mode]才能够输入文字。

    b) 切换至插入模式(Insert mode)编辑文件

      在[命令行模式(command mode]下键入对应字母就可以进入[插入模式(Insertmode],此时可以开始输入文字了。

    c) Insert 的切换

      处于[插入模式(Insert mode],就只能一直输入文字。若发现输错了字!要按[ESC]键转到[命令行模式(commandmode]再删除文字。

    d) 退出vi及保存文件

      在[命令行模式(command mode]下,按一下[]号键进入[Lastline mode],例如:

      : w filename (输入 [w filename]将文章以指定的文件名filename保存)

      : wq (输入[wq],存盘并退出vi)

      : q! (输入q!, 不存盘强制退出vi)

    2.2、命令行模式(command mode)功能键

    1. 插入模式

      按切换进入插入模式,按“i”进入插入模式后是从光标当前位置开始输入文件;

      按[a]进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

    [o]进入插入模式后,是插入新的一行,从行首开始输入文字。

    “I”:在光标所在行的行首插入。
    “A”:在光标所在行的行末插入。
    “O”:在光标所在的行的下面插入一行。
    “s”:删除光标后的一个字符,然后进入插入模式。
    “S”:删除光标所在的行,然后进入插入模式

     

    输入字符时,是从当前字符的前面插入的。

    2. 从插入模式切换为命令行模式

      按[ESC]键。

    3. 移动光标 (略)

    vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母[h][j][k][l],分别控制光标左、下、上、右移一格(注:不是键盘中上下左右键)。

    4. 回复上一次操作

    u键执行恢复操作。

    5. 删除文字

      [x]:每按一次,删除光标所在位置的当前的一个字符。

      [#x]:例如,[6x]表示删除光标所在位置的后面”6个字符。

      [X]:大写的X,每按一次,删除光标所在位置的前面一个字符。

      [#X]:例如,[20X]表示删除光标所在位置的前面”20个字符。

      [dd]:删除光标所在行。 [#dd]:从光标所在行开始删除#

     

    2.4Last line mode下命令简介

    []冒号即可进入[last line mode]

     

    1.列出行号

    “set nu”:输入“set nu”后,会在文件中的每一行前面列出行号。

    2.取消列出行号

    “set nonu”:输入“set nonu”后,会取消在文件中的每一行前面列出行号。

    3.搜索时忽略大小写

    “set ic”:输入“set ic”后,会在搜索时忽略大小写。

    4.取消搜索时忽略大小写

    “set noic”:输入“set noic”后,会取消在搜索时忽略大小写。

    5.跳到文件中的某一行

    “n”“n”表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车就会跳到文本的第15行。

    6.查找字符

    “/关键字:先按“/”,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按“n”,往后查找一个关键字。
    “?
    关键字:先按“?”键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按,往后查找一个关键字。

    7.运行shell命令

    “!cmd”:运行shell命令cmd

    8.替换字符

    “s /SPARCH/REPLACE/g”:把当前光标所处的行中的SEARCH单词替换成REPLACE,并把所有SEARCH高亮显示。
    “%s /SPARCH/REPLACE”
    :把文档中所有SEARCH替换成REPLACE
    “n1,n2 s /SPARCH/REPLACE/g”
    n1n2表示数字,表示从n1行到n2行,把SEARCH替换成REPLACE

    9.保存文件

    “w”:在冒号输入字母“w”就可以将文件保存起来。

    10.离开vi

    “q”:按“q”即退出vi,如果无法离开vi,可以在“q”后面一个“!”强制符离开vi
    “qw”
    :一般建议离开时,搭配“w”一起使用,这样在退出的时候还可以保存文件。

     

     

     

     

     

     

     

    3.各模式命令的快捷键

    命令行模式:移动光标的方法

    h或向左方向键(

    光标向左移动一个字符

    j或向下方向键(

    光标向下移动一个字符

    k或向上方向键(

    光标向上移动一个字符

    l或向右方向键(

    光标向右移动一个字符

    如果想要进行多次移动的话,例如;向下移动30行,可以使用“30j”“30↓”的组合键,即加上想要进行的次数(数字)后,操作即可。

    [Ctrl]+[f]

    屏幕向下移动一页,相当于[Page Down]按键

    [Ctrl]+[b]

    屏幕向上移动一页,相当于[Page Up]按键

    [Ctrl]+[d]

    屏幕向下移动半页

    [Ctrl]+[u]

    屏幕向上移动半页

    +

    光标移动到非空格符的下一行

    -

    光标移动到非空格符的上一行

    n<space>

    n表示数字,例如20.按下数字后再按空格键,光标会向右移动这一行n个字符。例如20<space>则光标会向后面移动20个字符距离

    0

    这是数字“0”:移动到这一行的最前面字符处(常用)

    $

    移动到这一行的最后面字符处(常用)

    H

    光标移动到这个屏幕的最上方哪一行

    M

    光标移动到这个屏幕的中央哪一行

    L

    光标移动到这个屏幕的最下方哪一行

    G

    移动到这个文件的最后一行(常用)

    nG

    n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合:set nu

    gg

    移动到这个文件的第一行,相当于1G(常用)

    n<Enter>

    n为数字。光标向下移动n行(常用)

     

    命令行模式:搜索与替换

    /word

    从光标位置开始,向下寻找一个名为word的字符串。例如要在文件内搜索vbird这个字符串,就输入/vbird即可(常用)

    ?word

    从光标位置开始,向上寻找一个名为word的字符串

    n

    n是英文按键。表示重复前一个搜索的动作。举例来说,如果刚刚执行/vbird去向下搜索vbird字符串,则按下n后,会向下继续搜索下一个名称为vbird的字符串。如果是执行?vbird的话,那么按下n,则会向上继续搜索名称为vbird的字符串

    N

    这个N是英文按键。与n刚好相反,为反向进行前一个搜索操作。例如/vbird后,按下N则表示向上搜索vbird

    命令行模式:搜索与替换

    :n1n2s/word1/word2/g

    n1n2为数字。在第n1n2行之间寻找word1这个字符串,并将该字符串替换为word2。举例来说,在100200行之间搜索vbird并替换为VBIRD则:“:100200s/vbird/VBIRD/g”(常用)

    :1$s/word1/word2/g

    从第一行到最后一行寻找word1字符串,并将该字符串替换为word2(常用)

    :1$s/word1/word2/gc

    从第一行到最后一行寻找word1字符串,并将该字符串替换为word2。且在替换前显示提示符给用户确认(conform)是否需要替换(常用)

     

    命令行模式:删除、复制与粘贴

    p,P

    p为将已复制的数据粘贴到光标的下一行,P则为贴在光标上一行。举例来说,当前光标在第20行,且已经复制了10行数据。则按下p后,那10行数据会粘在原来的20行之后,即由21行开始贴。但如果是按下P,那么原来的第20行会被变成30行(常用)

    J

    将光标所在行与下一列的数据结合成同一行

    c

    重复删除多个数据,例如向下删除10行,[10cj]

    u

    复原前一个操作(常用)

    [Ctrl]+r

    重做上一个操作(常用)

    U[Ctrl]+r是很常用的命令。一个是复原,另一个则是重做一次。利用这两个功能按键,编辑起来就得心应手。

    命令行模式:删除、复制与粘贴

    .

    这就是不数点。意思是重复前一个动作。如果想重复删除、重复粘贴,按下小数点“.”就可以(常用)

     

    插入模式

    iI

    插入:在当前光标所在处插入输入文字,已存在的文字会向后退;其中,i从当前光标所在处插入I在当前所在行的第一个非空格符处开始插入(常用)

    aA

    a从当前光标所在的下一个字符处开始插入A从光标所在行的最后一个字符处开始插入(常用)

    oO

    这是英文字母o的大小写。o在当前光标所在的下一行处插入新的一行O在当前光标所在处的上一行插入新的一行(常用)

    rR

    替换:r会替换光标所在的那一个字符;R会一直替换光标所在的文字,直到按下Esc键为止(常用)

    使用上面这些按键时,在vi画面的左下角处会出现“—INSERT--”“—REPLACE--”的字样。通过名称就知道是什么操作。特别注意,上面也提过了,想在文件中输入字符时,一定要在左下角处看到INSERT/ REPLACE才能输入。

    Esc

    退出插入模式,回到命令行模式中(常用)

     

    末行命令模式

    :w

    将编辑的数据写入硬盘文件中(常用)

    :w!

    若文件属性为只读时,强制写入该文件。不过,到底能不能写入,与文件权限有关

    :q

    离开vi(常用)

    :q!

    若曾修改过文件,又不想存储,使用!为强制离开不存储文件

    注意一下,那个感叹号(!)在vi当中,常常具有强制的意思。

    :wq

    存储后离开,若为:wq!则为强制存储后离开(常用)

    :e!

    将文件还原到最原始的状态

    ZZ

    若文件没有更改,则不存储离开,若文件已经更改,则存储后离开

    :w[filename]

    将编辑的数据存储成另一个文件(类似另存新文件)

    :r[filename]

    在编辑的数据中,读入另一个文件的数据。即将“filename”这个文件内容加到光标所在行的后面

    :n1n2 w[filename]

    n1n2的内容存储成filename文件

    :!command

    暂时离开vi到命令模式下执行command的显示结果。例如,“:! ls  /home”,即可在vi中查看/home中以ls输出的文件信息

    :set nu

    显示行号,设置之后,会在每一行的前缀显示该行的行号

    :set nonu

    set nu相反,为取消行号

     

     

     

     

     

    3.脚本执行

    (1)输入定向到Shell脚本(脚本后面不能带有参数)

    格式为:$ bash< 脚本名

    (2)以脚本名作为参数(脚本可以带有参数以及进行程序调试)

    其一般形式是:$ bash脚本名 [参数]

    (3)Shell脚本的权限设置为可执行,然后在提示符下直接执行它。

     http://dlsvr04.asus.com/pub/ASUS/mb/Atom_onboard/P9A-I/C2550/4L/Driver&Utility/MARVELL_9485_SAS_SATA2_VER400.zip

     

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    《Django By Example》第十二章(终章) 中文 翻译 (个人学习,渣翻)
    《Django By Example》第十一章 中文 翻译 (个人学习,渣翻)
    《Django By Example》第十章 中文 翻译 (个人学习,渣翻)
    《Django By Example》第九章 中文 翻译 (个人学习,渣翻)
    《Django By Example》第八章 中文 翻译 (个人学习,渣翻)
    《Django By Example》第五章 中文 翻译 (个人学习,渣翻)
    我的superui开源后台bootstrap开发框架
    LayoutInflater 总结
    Android屏幕分辨率概念(dp、dip、dpi、sp、px)
    android studio安装问题
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706450.html
Copyright © 2011-2022 走看看