zoukankan      html  css  js  c++  java
  • vi编辑器的使用

    vi编辑器的使用


    一个编辑器具备的功能
    1)打开文件、新建文件、保存文件
    2)光标移动
    3)文本编辑
    4)(多行间|多列间)复制、粘贴、删除
    5)查找和替换

    //=========================================
    vi编辑器的配置
    cd /etc/vim
    cp vimrc ~/.vimrc
    cd ~
    gedit .vimrc
    在.vimrc中加入如下内容:

    "关闭兼容功能
    set nocompatible
    "显示行号
    set number
    "编辑时 backspace 键设置为2个空格
    set backspace=2
    "编辑时 tab 键设置为4个空格
    set tabstop=4
    "设置自动对齐为4个空格
    set shiftwidth=4
    "搜索时不区分大小写
    set ignorecase
    "搜索时高亮显示
    set hlsearch

    //=========================================


    vi编辑器有三种模式
    1)一般模式(光标移动、复制、粘贴、删除)
    2)编辑模式(编辑文本)
    3)命令行模式(查找和替换)


    注意:
    1)当不知道处于何种模式时,按ESC键返回到一般模式。
    2)wq(write quit)
    3)i(insert)


    //==================================================


    1.打开文件、新建文件、保存文件
    vi 文件名
    如果文件存在,输入结束后,:wq保存并退出文件
    如果文件不存在,输入结束后,:wq就可以新建并保存文件

    在编辑完成时,返回一般模式,
    1)输入:w则保存文件,如果已经保存文件,输入:q则退出文件
    2)直接输入:wq保存并退出
    3)如果不想保存被修改的内容,则:q!强制退出。


    2.进入编辑模式
    i(在光标前开始插入文本)
    a在光标后开始插入文本
    o(在当前行之下新开一行,并到行首)


    3.光标移动

    在一般模式下,hjkl这四个按键就可以移动光标
    h(左)
    j(下)
    k(上)
    l(右)


    快速的定位到某一行:
    文件头、文件尾、指定某一行
    ngg光标移至第n行的行首(n为数字),
    如1gg就跳到第一行的行首,就是文件头
    如2gg就跳到第二行的行首

    G转至文件结尾
    注意:ngg和G是在一般模式

    在某一行如何快速定位到某一列
    0(数字零)光标移至当前行行首
    $光标移至当前行行末
    fx搜索当前行中下一个出现字母x的地方
    注意:0、$、fx是在一般模式

    vi的难点:
    1)vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。
    当你不知道处于何种模式时,使用esc键返回到一般模式。
    再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。


    4.文本复制、粘贴、删除、撤销
    yy复制当前行(y:yank(复制))
    nyy复制当前行及其后的n-1行(n是数字)

    使用P键来粘贴(p:paste)

    dd 删除光标所在行(d:delete)
    ndd 删除当前行及其后的n-1行(n是数字)

    按u键来撤销上一步操作

    x删除光标所在位置的字符

    注意:
    yy/nyy/dd/ndd/x/u都是在一般模式。

    5.查找和替换

    /pattern 从光标开始处向文件尾搜索pattern,后按下n或N
    注意:
    n在同一个方向重复上一次搜索命令
    N在反方向重复上一次搜索命令
    n(N)来源于next

    注意:
    在/pattern之前先跳到第一行则进行全文件搜索。


    :%s/p1/p2/g将文件中所有的p1均用p2替换
    :%s/p1/p2/gc替换时需要确认

    s:substitute替换
    g:global全局
    c:confirm确认


    vi的难点:
    1)vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。
    当你不知道处于何种模式时,使用esc键返回到一般模式。
    再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。

    vi编辑器有三种模式
    1)一般模式(光标移动、复制、粘贴、删除、撤销)
    hjkl、ngg/G、0、$、fx
    yy/nyy
    p
    dd/ndd、x
    u
    2)编辑模式(编辑文本)
    i a o
    3)命令行模式(查找和替换、保存退出文件)
    /pattern、:%s/p1/p2/gc、:wq


    举例:
    1)用vi 新建一个文件test2.txt,然后输入”welaome to the world of vi.”,并保存。

    2)由于拼写错误,需要将其中的welaome中的a替换成c。

    3)在上步的基础上,复制第一行到第二行和第三行。

    4)在上步的基础上,删除第三行的全部内容。

    5)在上步的基础上,搜索出现vi的地方。

    6)在上步的基础上,将字符串vi替换成vim。

    7)保存并退出。

                                                             附录一  vi常用命令汇总

    内容

    命令/作用

    打开文件

    vi文件名

    vi  文件名+行号

    退出/保存文件

    :w  保存文件

    :wq  保存文件并退出vi

    :q!强制退出vi,即使该文件被修改,也不保存该文件

    进入编辑模式

    i在光标前开始插入文本

    a在光标后开始插入文本

    o在当前行之下新开一行,并到行首

    O在当前行之上新开一行

    光标移动

    Ctrl +f向前滚动一整屏

    Ctrl +b向后滚动一整屏

    gg转至文件开头

    G转至文件结尾

    ngg/nG光标移至第n行的行首

    (n为数字)

    :n光标移至第n行的行首

    (n为数字)

    n+光标向下移动n行(n为数字)

    n-光标向上移动n行(n为数字)

    j/nj光标向下移动1行/n行(n为数字)

    k/nk光标向上移动1行/n行(n为数字)

    0(数字零)光标移至当前行行首

    $光标移至当前行行末

    h/nh光标向左移动1列/n列

    (n为数字)

    k/nk光标向右移动1列/n列

    (n为数字)

    w光标移动到下一个字的开头

    b光标移动到上一个字的开头

    fx搜索当前行中下一个出现字母x的地方

    Fx搜索当前行中上一个出现字母x的地方

    文本复制命令

    yy复制当前行

    nyy复制当前行及其后的n-1行

    文本删除命令

    x删除光标所在位置的字符

    X删除光标前的一个字符

    nx删除光标所在位置和光标后的n-1个字符

    nX删除光标前的n个字符

    dw从光标处删至当前词尾

    db从光标处删至当前词首

    d0从光标处删至行首

    d$/D  从光标处删至行尾

    dd  删除光标所在行

    ndd 删除当前行及其后的n-1行

    文本粘贴命令

    使用P键,

    如复制当前行,先用yy复制当前行,切换到目的行的上一行后,用p来粘贴所复制的行。

    如剪切当前行,先用dd复制当前行,切换到目的行的上一行后,用p来粘贴所剪切的行。

    撤销命令

    按u键来撤销上一步操作

    查找及

    替换命令

    /pattern 从光标开始处向

    文件尾搜索pattern(在/pattern之前先跳到第一行则进行全文件搜索),后按下n或N

    注:

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

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

    ?pattern 从光标开始处向文件首部搜索pattern ,后按下n或N

    :s/p1/p2/g将当前行中所有的p1均用p2替换,:s/p1/p2/gc替换时需要确认

    :n1,n2s/p1/p2/g将n1至n2行中所有的p1均用p2替换,:n1,n2s/p1/p2/gc替换时需要确认

    :%s/p1/p2/g将文件中所有的p1均用p2替换,:%s/p1/p2/gc替换时需要确认

    版权声明:本文为博主原创文章,转载请注明文章来源,有需要帮忙可加QQ:871263854
  • 相关阅读:
    hbase与Hive的集成
    HBase API操作
    HBase原理
    HBase数据结构
    HBase Shell操作
    HBase简介
    Boxes in a Line
    B
    B. Painting Pebbles
    X
  • 原文地址:https://www.cnblogs.com/Dream998/p/8540543.html
Copyright © 2011-2022 走看看