• vi编辑器的使用


    工作中经常用vi,所以统计整理了一下自己用得最多一些vi编辑器的快捷键。

    常用的设置项

    命令 作用
    set nu 显示行号
    set nonu 隐藏行号
    set ts=4

    将1个制表符的长度设为4

    将缩进长度设为4

    set sw=4   (shiftwidth)
    set expandtab
    syntax on  开启语法高亮
       

    常用快捷键

    复制
    命令 作用
    yy => p 复制光标所在行,p粘贴
    nyy => p 复制包含光标以内的n行,p粘贴
    yy =>np 将复制的内容粘贴n次
    yw 复制光标所在的一个词(光标之后部分)
    ynw 复制光标所在的之后n个词
    yb 复制光标所在的一个词(光标之前的部分)
    ynb 复制光标所在处的之前n个词
    y^ 复制行首到光标之间的内容
    y$ 复制光标所在处到行尾的内容
    y1G 复制文档首部到光标所在处的内容
    yG 复制光标处到文档尾部的内容
    剪切
    命令 作用
    x 剪切光标所在的单个字符
    nx 剪切包括光标所在及其后的n个字符
    dw,de 剪切光标之后一个词(或者说是光标所在的word的后部分)
    dnw,dne 剪切光标之后n个词
    db 剪切光标前面一个词(或者说是光标所在的word的前部分)
    dnb 剪切光标之前n个词
    d$或者D或者C 剪切至行尾
    d^ 剪切至行首
    dd 剪切当前行,注意是剪切,而不是删除,之后可以使用p招贴
    ndd 剪切包含本行在内的n行
    dG 从光标所在处,删除至文档结尾处
    dnG 删除从第n行到光标所在行的内容
    v 进入visual视图
    d => p 在visual视图模式下,利用方向键选中内容后,d表示剪切,然后p粘贴
       
    粘贴
    p 粘贴在光标之后
    P 粘贴在光标之前
       
    替换  
     r + char  将光标所在的字符替换为char
    R 从光标处开始,持续替换,知道ESC退出替换
    ~ 命令模式下翻转光标所在的大小写,如果在visual模式下,则翻转所选中的内容的大小写
    u 撤销
    ctrl + r 反撤销
    :s/old/new  将本行的第一个old替换为new,注意只替换本行的第一个old
    :s/old/new/g 将本行的所有old替换为new,注意替换本行的所有old
    :s/old/new/gc 将本行的所有old替换为new,每次替换前,先询问是否替换    c->confirm
    :10,20s/old/new 将第10行到第20行之间的第一个old替换为new
    :10,20s/old/new 将第10行到第20行之间所有的old都替换为new
       
    查找
    /keyword 向后查找keyword
     ?keyword  向前查找keyword    然后n查找下一个,N查找上一个
     :noh  取消查找后keyword的高亮状态
       
    缩进
    << 向左缩进
    >> 向右缩进
    n<<或者n>> 向左或向右缩进n个tab
     shift + j  删除行末的换行(代码提交之前的压缩)
       
    光标移动
     h  光标左移
     j  光标下移
     k  光标上移
    l  光标右移
    shift + h  光标移动到屏幕的第一行
    shift + l  光标移动到屏幕的最后一行
       
    加密
     vi -x a.txt  编辑a.txt之前设定密码或者输入密码,输入密码不对,看不到真实内容
       
    文件切换
    vi a.txt b.txt c.txt 同时编辑多个文件
    :first  切换到第一个文件
    :previous  切换到上一个文件
    :next  切换到写一个文件
    :last  切换到最后一个文件
       
    文字大小
    ctrl +  放大字体(注意是ctrl+shift+=)
    ctrl -  减小字体
    mac下对应  
    command +  放大
    command -  缩小
       
    多栏多列窗口
    vi -o a.txt b.txt 多窗口的方式打开a.txt,b.txt
    :split a.txt 水平分出一栏,打开a.txt,呈上下两块
    :vsplit a.txt 垂直分出一栏,打开a.txt,呈左右两块
    ctrl + w(两下w) 光标切换到下栏(一次切换)
    ctrl + w + h 光标切换到当前窗口的左边窗口
    ctrl + w + j 光标切换到当前窗口的下边窗口
    ctrl + w + k 光标切换到当前窗口的上边窗口
    ctrl + w + l 光标切换到当前窗口的右边一窗口
    ctrl + w + t 光标切换到最上面的窗口
    ctrl + w + b 光标切换到最下面的窗口
    :wall 保存所有做过修改的窗口的文件
    :qall 退出所有保存过的文件
       
    视野移动
    zt 将光标所在行移到屏幕最上面
    zz 将光标所在行移到屏幕中间
    zb 将光标所在行移到屏幕最下面
       

     

  • 相关阅读:
    中芯国际唐镇生活园区二期奠基 助力员工安居乐业
    权限管理架构
    不登录电脑启动程序
    Nagios 系统监控
    JieBaNet+Lucene.Net
    FontAwesome 图标
    Net多线程编程
    Scala Control Structures
    OAuthLogin2.0
    Telnet服务器和客户端请求处理
  • 原文地址:https://www.cnblogs.com/-beyond/p/8276674.html
Copyright © 2020-2023  润新知