• 陈丹
    2019-09-08
    四种模式:
    i插入模式
    v可视模式
    n正常模式
    c命令模式

    插入模式 i a o I A O

    i进入插入模式
    I进去插入模式并且光标到当前行开头
    a进去插入模式并且光标到当前光标的下一位
    A进去插入模式并且光标到当前行的末尾
    o进去插入模式并且光标到当前光标的下一行产生空行
    O进入插入模式并且光标到当前行的上一行产生空行

    :表示末行模式

    正常模式下,四个方向hjkl

    h 左
    l 右
    j 下
    k 上

    正常模式下,复制,粘贴

    yy 复制单行 p 粘贴单行 3p 粘贴3行
    3yy 复制3行(当前行往下三行,包括当前行)

    单行无提示,多行有提示

    y$ 复制当前光标位置到这一行的结尾字符
    dd 剪切一整行
    d$ 剪切当前位置到这一行的结尾
    u 普通模式下,撤销 ,多次u多次撤销
    u ctrl +r 重做,返回上一次撤销,相当于win的ctrl+y
    x 删除指定字符,光标选中,按x
    r+新字符 字符替换,光标选中按r 在输入新字符

    G 移动到指定行
    :set nu 查看当前行
    11G 移动到第11行
    g 移动到第一行
    G移动到最后一行
    ^ 表示到这一行的开头
    $ 表示到这一行的结尾(用于一行太长的情景)
    展开
    
     16
  • we
    2019-07-17
    yy p
    3yy:复制光标下的2行 p
    dd d$
      行首 :^ 行尾: $
    首行:g 尾行:G 移动至第3行 :3G
    移动光标:h j k l


    展开
    
     4
  • 彼岸
    2019-07-08
    老师,您好,咨询个事情,写了一个脚本,用来实现远程免密传输,但是这个脚本传输小文件的时候成功,如果传输的数据量很大,超过一个G就会传到百分之五六十的时候自动断开,请问老师这个怎么解决?#!/bin/bash
    DATE=$(date +%Y_%m_%d)
    /usr/bin/expect -c "
    set timeout 10
    set host [lindex $argv 0]
    set username [lindex $argv 1]
    set password [lindex $argv 2]
    set src_file [lindex $argv 3]
    set dest_file [lindex $argv 4]
    spawn scp -r /home/mobileoa/mongo_bak mobileoa@10.224.4.215:/home/mobileoa/we_mongodb_bak/mongodb_bak_list
    expect {
         \"(yes/no)?\" {send \"yes\r\";exp_continue}
         \"password:\" {send \"Zhao@1234\r\"}
    }
    expect "100%"
    expect eof
    "
    展开

    作者回复: 1 使用ssh -v 排查错误(主要是文件传输过大是否有网络错误)
    2 set timeout 时间增长
    3 使用秘钥方式看看是否出现同样问题
    4 使用rsync 支持续传替代scp传输大型文件

     1
     2
  • 吃饭饭
    2019-06-25
    讲的真详细,👍
    
     2
  • chuwujun
    2019-12-22
    推荐一个叫做vimtutor的命令,可以通过这个命令来练习如何使用vi的基础操作。
    
     1
  • 马哲富
    2019-06-26
    老师好,如果我想复制(或者剪切)中间的几个字符是什么键啊?(yy是复制整行,y$是复制当前位置到最后一个字符,剪切类似)

    作者回复: 查了一下官方文档,类似的命令有 yw 即 复制一个单词, 因为使用vi的场景很少有复制中间这样的场景,我在视频中没有给大家介绍

    
     1
  • Mandalorian
    2019-06-26
    大写D,也有d$的效果

    作者回复: 是的,大写D和d$ 是同一功能, 选一个你自己习惯的快捷键记住就好

    
     1
  • 李晓东
    2019-06-25
    精彩
    
     1
  • allean
    2019-06-25
    实用!
    
     1
  •  Against conve...
    2020-01-16
    是gg 快速回到第一行 吧
    从当前光标处后面复制和剪切没太听清楚- -!

    作者回复: 试一下 gg 、1g 、G 三个指令

    
    
  • 迪巴哥
    2019-07-24
    在实际中,光标移到行开头大都用的0吧,感觉比shift+^更快更顺手

    作者回复: 嗯, 两个等号也可以移到开头,[[ 移到到第一行开头 ]] 移动到最后一行开头... vim还有很多的快捷键可以慢慢发现

    
    
  • 面向对象
    2019-06-28
    Vi 里面的 ? 和 / 查询有什么区别

    作者回复: ? 自下而上查找
    / 自上而下查找

    
    
我们在线,来聊聊吧