• (转)Vim用法小结


    这是我转的一些vim基本用法,可能对初用者会有帮助,独乐乐不如众乐乐,是吧!
    Vim一般的Unix和Linux下均有安装。
     三种状态
    Command: 任何输入都会作为编辑命令,而不会出现在屏幕上,任何输入都引起立即反映
    Insert: 任何输入的数据都置于编辑寄存器,按ESC,可跳回command方式
    Escape: 以“:”或者“/”为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。
     离开vi
    :q! 离开vi,并放弃刚在缓冲区内编辑的内容。
    :wq 将缓冲区内的资料写入磁盘中,并离开vi。
    :x 同wq。
    (注意—— :X 是文件加密,一定要与:x存盘退出相区别)
     进入输入模式
    a (append) 由游标之后加入资料。
    A 由该行之末加入资料。
    i (insert) 由游标之前加入资料。
    I 由该行之首加入资料。
    o (open) 新增一行於该行之下供输入资料之用。
    O 新增一行於该行之上供输入资料之用。
     删除与修改
    x 删除游标所在该字元。
    X 删除游标所在之前一字元。
    r 用接於此指令之后的字元取代(replace)游标所在字元。如:ra将游标所在字元以 a 取代之。
    R 进入取代状态,直到《ESC》为止。
    s 删除游标所在之字元,并进入输入模式直到《ESC》。
    S 删除游标所在之该行资料,并进入输入模式直到《ESC》。
     光标的移动
    m<a-z> 设置书签<a-z>
    ‘<a-z> 移至书签<a-z>处
    0 移至该行之首
    $ 移至该行之末。
    e 移动到下个字的最後一个字母
    w 移动到下个字的第一个字母。
    b 移动到上个字的第一个字母。
    ^ 移至该行的第一个字元处。
    H 移至视窗的第一行。
    M 移至视窗的中间那行。
    L 移至视窗的最后一行。
    G 移至该文件的最后一行。
    + 移至下一列的第一个字元处。
    - 移至上一列的第一个字元处。
    :n 移至该文件的第 n 列。
    n+ 移至游标所在位置之后的第 n 列。
    n- 移至游标所在位置之前的第 n 列。
    <Ctrl><g> 显示该行之行号、文件名称、文件中最末行之行号、游标所在行号占总行号之百分比。

    (Vim) 光标移动基本用法小解:
    (这只要组合上边的功能就可以明白了,不用再一一讲解了吧!)
    ge b w e
    ← ← ---→ --→
    This is-a line, with special/separated/words (and some more).
    ←- ←-- -----------------→ ---→
    GE B W E

     视窗的移动
    <Ctrl><f> 视窗往下卷一页。
    <Ctrl><b> 视窗往上卷一页。
    <Ctrl><d> 视窗往下卷半页。
    <Ctrl><u> 视窗往上卷半页。
    <Ctrl><e> 视窗往下卷一行。
    <Ctrl><y> 视窗往上卷一行。
     剪切、复制、删除
    Operator + Scope = command
     Operator
    d 剪切
    y 复制。
    p 粘帖,与 d 和 y 配和使用。可将最后d或y的资料放置於游标所在位置之行列下。
    c 修改,类似delete与insert的组和。删除一个字组、句子等之资料,并插入新建资料。
     Scope
    e 由游标所在位置至该字串的最后一个字元。
    w 由游标所在位置至下一个字串的第一个字元。
    b 由游标所在位置至前一个字串的第一个字元。
    $ 由游标所在位置至该行的最后一个字元。
    0 由游标所在位置至该行的第一个字元。
     整行动作
    dd 删除整行。
    D 以行为单位,删除游标后之所有字元。
    cc 修改整行的内容。
    yy 使游标所在该行复制到记忆体缓冲区。
     取消前一动作(Undo)
    u 恢复最后一个指令之前的结果。
    U 恢复游标该行之所有改变。
    (vim) u 可以多次撤消指令,一次撤消一个操作,直至本次操作开始为止。
    (vim) Ctrl+r 可以恢复撤消前内容,按多次可恢复多次。
     查找与替换
    /字串 往游标之后寻找该字串。
    ?字串 往游标之前寻找该字串。
    n 往下继续寻找下一个相同的字串。
    N 往上继续寻找下一个相同的字串。
    % 查找“(”,“)”,“{”,“}”的配对符。
    s 搜寻某行列范围。
    g 搜寻整个编辑缓冲区的资料。
    :1,$s/old/new/g 将文件中所有的『old』改成『new』。
    :10,20s/^/ / 将第10行至第20行资料的最前面插入5个空白。
    (vim)
    /字符串 后边输入查询内容可保存至缓冲区中,可用↑↓进行以往内容选择。
    另外:将光标移动在选定单词下方按*,则可以选中此单词作为查询字符,可以避免输入一长串字符的麻烦。
     (vim) 大小写替换
    首先用按v开启选择功能,然后用↑↓←→键来选定所要替换的字符,若是小写变大写,则按U;反之按u;
    如果是选择单词,则可以在按v后,按w,最后按U/u,这样就可以将字符随意的改变大小写了,而不用删除后重新敲入。

     资料的连接
    J 句子的连接。将游标所在之下一行连接至游标该行的后面。
     环境的设定
    :set all 可设置的环境变量列表
    :set 环境变量的当前值
    :set nu 设定资料的行号。
    :set nonu 取消行号设定。
    :set ai 自动内缩。
    :set noai 取消自动内缩。
    (vim)
    :set ruler 会在屏幕右下角显示当前光标所处位置,并随光移动而改变,占用屏幕空间较小,使用也比较方便,推荐使用。
    :set hlsearch 在使用查找功能时,会高亮显示所有匹配的内容。
    :set nohlsearch 关闭此功能。
    :set incsearch 使Vim在输入字符串的过程中,光标就可定位显示匹配点。
    :set nowrapscan 关闭查找自动回环功能,即查找到文件结尾处,结束查找;默认状态是自动回环

     ex指令
     读写资料
    :10,20w test 将第10行至第20行的资料写入test文件。
    :10,20w>>test 将第10行至第20行的资料加在test文件之后。
    :r test 将test文件的资料读入编辑缓冲区的最后。
    :e [filename] 编辑新的文件。
    :e! [filename] 放弃当前修改的文件,编辑新的文件。
    :sh 进入shell环境,使用exit退出,回到编辑器中。

    :!cmd 运行命令cmd后,返回到编辑器中。
     删除、复制及搬移
    :10,20d 删除第10行至第20行的资料。
    :10d 删除第10行的资料。
    :%d 删除整个编辑缓冲区。
    :10,20co30 将第10行至第20行的资料复制至第30行之后。
    :10,20mo30 将第10行至第20行的资料搬移至第30行之后。

     
  • 相关阅读:
    虚拟机centos7下安装Python3.7
    笔试基础题
    虚拟环境的安装和配置
    记录记录每天的知识点和一些疑惑
    利用最小堆实现topk
    windows和虚拟机环境下的centos7进行文件传输
    vscode中命令行创建文件或文件夹|flask搭建环境的配置
    TS的点与区域的写法
    java——集合——Collections工具类——Collections集合工具类的方法——sort(List)
    java——集合——Set集合——可变参数
  • 原文地址:https://www.cnblogs.com/boright88/p/3209343.html
Copyright © 2020-2023  润新知