• 【Linux】鸟哥的Linux私房菜基础学习篇整理(四)


    1. VI按键说明。
    (1)移动光标的方法
    h或向左箭头:光标向左移动一个字符;
    j或向下箭头:光标向下移动一个字符;
    k或向上箭头:光标向上移动一个字符;
    l或向右箭头:光标向右移动一个字符;
    进行多次移动,如向左移动30行,可以使用“30k”或者“30<-”
    [ctrl]+[f]:屏幕向下移动一页;
    [ctrl]+[b]:屏幕向上移动一页;
    [ctrl]+[d]:屏幕向下移动半页;
    [ctrl]+[u]:屏幕向上移动半页;
    +:光标移动到非空格的下一行;
    -:光标移动到非空格的上一行;
    n[space]:n表示数字,按下数字键后再按下空格,光标会向右移动这一行的n个字符;
    0或功能键[Home]:移动到这一行的最前面字符处;
    $或功能键[End]:移动到这一行的最后面字符处;
    H:光标移动到这个屏幕的最上方那一行的第一个字符;
    M:光标移动到这个屏幕的中央那一行的第一个字符;
    L:光标移动到这个屏幕的最下方那一行的第一个字符;
    G:光标移动到这个文件的最后一行;
    nG:n为数字。移动到这个文件的第n行;
    gg:移动到这个文件的第一行,相当于1G;
    N[Enter]:n为数字,光标向下移动n行。

    (2)查找与替换
    /word:向下寻找一个名为word的字符串;
    ?word:向上寻找一个名为word的字符串;
    n:n为按键n,代表重复前一个查找操作;
    N:代表反向重复前一个查找操作,例如前一个操作为向下查找,使用N后即向上查找;
    :n1,n2s/word1/word2/g:n1与n2为数字。在第n1行与n2行之间查找word1这个字符串,并将该字符串替换为word2;
    :1,$s/word/1word2/g:从第1行到最后一行查找word1,并替换为word2;
    :1,$s/word/1word2/gc:从第1行到最后一行查找word1,并替换为word2,且在替换前显示提示字符给用户确认(confirm)是否替换。

    (3)删除、复制与粘贴
    x,X:在一行字当中,x为向后删除一个字符(相当于[Del]),X为向前删除一个字符(相当于[Backspace]);
    nx:n为数字,连续向后删除n个字符;
    dd:删除光标所在的那一整行;
    ndd:n为数字,删除光标所在的向下n行;
    d1G:删除光标所在行到第1行的所有数据;
    dG:删除从光标所在行到最后一行的所有数据;
    d$:删除从光标所在字符到该行行末的数据;
    d0:删除从光标所在字符到该行行首的数据;
    yy:复制光标所在行;
    nyy:n为数字,复制光标所在的向下n行;
    y1G:复制光标所在行到第1行的所有数据;
    yG:复制光标所在行到最后1行的所有数据;
    y$:复制光标所在的字符到该行的行末的数据;
    y0:复制光标所在的字符到该行的行首的数据;
    p,P:p为将已复制数据在光标下一行粘贴,P则为将已复制数据在光标上一行粘贴;
    J:将光标所在行与下一行的数据合并成同一行;
    c:重复删除多个数据,例如向下删除10行,10cj;
    u:复原前一个操作;
    [ctrl]+[r]:重做上一个操作;
    .:小数点,重复删除、复制和粘贴操作。

    (3)一般模式切换到编辑模式
    i,I:进入插入模式,i从目标光标处插入,I为目前所在行的第一个空白字符插入;
    a,A:进入插入模式,a从光标所在的下一个字符开始插入,A为光标所在行的最后一个开始插入;
    o,O:进入插入模式,o从光标所在的下一行处插入新的一行,O从光标所在行的上一行插入新的一行;
    r,R:进入替换模式,r只会替换光标所在行的那一个字符一次,R会一直替换光标所在的字符,直到按下[Esc]键为止;
    [Esc]:退出编辑模式,回到一般模式。

    (4)一般模式切换到命令行模式
    :w:将编辑的数据写入硬盘文件中;
    :w!:若文件属性为“只读”,强制写入该文件,不过,到底是否可以写入与权限有关;
    :q:离开vi;
    :q!:强制离开,不保存;
    :wq:保存后离开;
    :w[filename]:将编辑的数据保存成另一个文件filename;
    :n1,n2w[filename]:将n1到n2的内容保存成filename这个文件;
    :! command:暂时离开vi到命令行模式执行command并显示结果;
    :set nu:显示行号;
    :set nonu:取消显示行号。

    2. vim的功能
    (1)快选择(Visual Block)
    v:字符选择,会将光标所经过的地方反白选择;
    V:行选择,会将光标所经过的行反白选择;
    [ctrl]+[v]:快选择,可以用长方形的方式选择数据;
    y:将反白处复制;
    d:将反白处删除。

    (2)多文件编辑
    :n:编辑下一个文件;
    :N:编辑上一个文件;
    :files:列出目前这个vim打开的所有文件。

    (3)多窗口功能
    :sp [filename]:打开一个新窗口,若指定filename表示在新窗口打开filename文件,否则表示在新窗口打开原文件;
    [ctrl]+w+j或向下箭头:先按下ctrl不放,再按下w后放开所有键,然后按下j或方向键,光标移动到下方窗口;
    [ctrl]+w+k或向上箭头:同上,光标移动到上方窗口;
    [ctrl]+w+q:结束离开。

    (4)vim的环境设置参数
    :set nu:设置行号;
    :set nonu:取消设置行号;
    :set hlsearch:high light search,设置将选择的数字反白;
    :set nohlsearch:取消设置将选择的数字反白;
    :set autoindent:设置自动缩排;
    :set noautoindent:取消设置自动缩排;
    :set backup:设置自动保存备份文件;
    :set ruler:设置状态说明;
    :set showmode:设置模式显示;
    :set backspace=(012):backspace=2时,可以删除任意值,backspace=0或1时,仅可删除刚才输入的字符;
    :set all:显示目前所有环境参数设置值;
    :set:显示与系统默认值不同的设置参数;
    :syntax on:设置依据相关语法显示不同颜色;
    :syntax off:取消设置依据相关语法显示不同颜色;
    :set bg=dark:设置dark色调;
    :set bg=light:设置light色调。

    3. dos2UNIX [-kn] file [newfile]
        UNIX2dos [-kn] file [newfile]:断行符处理
    参数:
    -k:保留该文件的元贝mtime时间格式;
    -n:保留原本的旧文件,将转换内容输出新文件。

    4. iconv [-f] 原本编码 [-t] 新编码 filename [-o newfile]:语系编码转换
        iconv [--list]:列出支持的语系
    参数:
    --list:列出iconv支持的语系数据;
    -f:from,后接原始编码格式;
    -t:to,后接新编码格式;
    -o:保留原文件,将新数据写入新目标文件。

  • 相关阅读:
    【java】一维数组循环位移方阵
    【java】for循环输出数字金字塔
    C++编程tips
    C++中cin.get 和cin.peek 及其相关的用法
    ubuntu增加字符设备驱动程序/ 操作系统课程设计
    C++ Primer 学习笔记/ 处理类型
    C++学习,顶层const
    C++学习笔记/const和指针
    ubuntu16.04增加系统调用(拷贝)
    Java学习笔记#数组 循环遍历
  • 原文地址:https://www.cnblogs.com/bombe1013/p/3889656.html
Copyright © 2020-2023  润新知