zoukankan      html  css  js  c++  java
  • linux 终端文本编辑器vim 使用 命令

     进入vi的命令

    vi filename       :打开或新建文件,并将光标置于第一行首

    vi +n filename    :打开文件,并将光标置于第n行首

    vi + filename     :打开文件,并将光标置于最后一行首

    vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

    vi -r filename    :在上次正用vi编辑时发生系统崩溃,恢复filename

    vi filename....filename :打开多个文件,依次编辑

     

    VI分为插入模式、命令模式及末行命令模式

    由插入模式到命令模式的转换:Esc

     VI命令模式下的命令

    移动光标类命令

    h              :光标左移一个字符

    l             :光标右移一个字符

    j             :光标下移一个字符

    k             :光标上移一个字符

    space         :光标右移一个字符

    Backspace     :光标左移一个字符

    k或Ctrl+p     :光标上移一行

    j或Ctrl+n     :光标下移一行

    Enter         :光标下移一行

    w或W          :光标右移一个字至字首

    b或B          :光标左移一个字至字首

    e或E          :光标右移一个字至字尾

    )             :光标移至句尾

    (             :光标移至句首

    }             :光标移至段落开头

    {             :光标移至段落结尾

    nG            :光标移至第n行首

    +n            :光标下移n行

    -n         :光标上移n行

    n$            :光标移至n行尾

    H             :光标移至屏幕顶行

    M             :光标移至屏幕中间行

    L             :光标移至屏幕最后行

    0             :(注意是数字零)光标移至当前行首

    $             :光标移至当前行尾

     

    屏幕翻滚类命令

    Ctrl+u            :向文件首翻半屏

    Ctrl+d            :向文件尾翻半屏

    Ctrl+f            :向文件尾翻一屏

    Ctrl+b           :向文件首翻一屏

    Ctrl+e           :屏幕下卷一行

     

    插入文本类命令

    i             :在光标前

    I             :在当前行首

    a             :光标后

    A             :在当前行尾

    o             :在当前行之下新开一行

    O             :在当前行之上新开一行

    r             :替换当前字符

    R             :替换当前字符及其后的字符,直至按ESC键

    s             :从当前光标位置处开始,以输入的文本替代之

    S             :删除指定数目的行,并以所输入文本代替之

    ncw或nCW      :修改指定数目的字

    nC            :修改指定数目的行

    >>            :右移当前段落一个移动宽度(shiftwidth)

    <<            :左移当前段落一个移动宽度(shiftwidth)

    yy            :复制当前行

    nyy           :复制当前开始的n行

    p             :在当前行的下面粘贴

    P             :在当前行的上面粘贴

     

    删除命令

    ndw或ndW          :删除光标处开始及其后的n-1个字

    d^                :删至行首

    d$                :删至行尾

    ndd               :删除从当前行开始的n行

    x或X              :删除一个字符,x删除光标后的,而X删除光标前的

    Ctrl+u            :删除输入方式下所输入的文本

     

    搜索及替换命令 :

    /pattern          :从光标开始处向文件尾搜索pattern

    ?pattern          :从光标开始处向文件首搜索pattern

    n                 :在同一方向重复上一次搜索命令

    N                 :在反方向上重复上一次搜索命令

    :s/p1/p2/g       :将当前行中所有p1均用p2替代

    :n1,n2s/p1/p2/g  :将第n1至n2行中所有p1均用p2替代

    :g/p1/s//p2/g    :将文件中所有p1均用p2替换

     

    . 重复上一个操作

    u 撤消上一次操作

    ~ 切换字符的大小写

     

     设置选项(set)

    语法:

    :set <选项> <参数> (如果需要参数的话)

    也可以在一行中指定多个选项

    :set all 则显示所有的选项值

    对那些无须参数的选项来说,使用:set no<选项>就可以把它给关了

    term       :设置终端类型

    ignorance  :在搜索中忽略大小写

    list       :显示制表位(Ctrl+I)和行尾标志($)

    number     :显示行号

    report     :显示由面向行的命令修改过的数目

    terse      :显示简短的警告信息

    warn       :在转到别的文件时若没保存当前文件则显示NO write信息

    nowrapscan :禁止vi在搜索到达文件两端时,又从另一端开始

    mesg       :允许vi显示其他用户用write写到自己终端上的信息

     

    vb t_vb=   : vi不响铃

     

    hlsearch   : 高亮显示搜索匹配结果

     

    四 行方式命令

     

    :n1,n2 co n3 :将n1行到n2行之间的内容拷贝到第n3行下

     

    :n1,n2 m n3  :将n1行到n2行之间的内容移至到第n3行下

     

    :n1,n2 d     :将n1行到n2行之间的内容删除

     

    :w           :保存当前文件

     

    :e filename  :不离开vi编辑<文件>

     

    :e!           :重新编辑当前文件,忽略所有的修改

     

    :n               :编辑下一个文件

     

    :x           :保存当前文件并退出

     

    :q           :退出vi

     

    :q!          :不保存文件并退出vi

     

    :!command    :执行shell命令command

     

    :r!command   :将命令command的输出结果放到当前行。

  • 相关阅读:
    Django 部署到Nginx
    Django 初识
    openstack操作之二 restful api
    openstack操作之一 命令行
    虚拟机创建流程中neutron代码分析(三)
    虚拟机创建流程中neutron代码分析(二)
    虚拟机创建流程中neutron代码分析(一)
    nova创建虚拟机源码分析系列之八 compute创建虚机
    nova创建虚拟机源码分析系列之七 传入参数转换成内部id
    Mysql之索引(六)
  • 原文地址:https://www.cnblogs.com/zhouchanwen/p/2586219.html
Copyright © 2011-2022 走看看