zoukankan      html  css  js  c++  java
  • 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 将光标所在行移到屏幕最下面
       

     

  • 相关阅读:
    DIY 作品 及 维修 不定时更新
    置顶,博客中所有源码 github
    openwrt PandoraBox PBR-M1 极路由4 HC5962 更新固件
    使用 squid 共享 虚拟专用网至局域网
    第一次参加日语能力测试 N5
    libx264 libfdk_aac 编码 解码 详解
    开发RTSP 直播软件 H264 AAC 编码 live555 ffmpeg
    MFC Camera 摄像头预览 拍照
    http2 技术整理 nginx 搭建 http2 wireshark 抓包分析 server push 服务端推送
    plist 图集 php 批量提取 PS 一个个切
  • 原文地址:https://www.cnblogs.com/-beyond/p/8276674.html
Copyright © 2011-2022 走看看