zoukankan      html  css  js  c++  java
  • vi使用教程

    Vi有3种模式:
    命令模式——命令操作
    插入模式——进入vi之后,输入i/a/o,按Esc键,进入命令模式
    编辑模式——:set nu, 以回车结束

    1、插入
    a - 光标后插入
    A - 本行末尾插入
    i - 光标前插入
    I - 本行行首插入
    o - 光标下插入新行
    O - 光标上插入新行

    2、定位
    h - 左移
    j - 下移
    k - 上移
    i - 右移
    $ - 移至行尾
    0 - 移至行首

    H - 移至屏幕上端
    M - 移至屏幕中央
    L - 移至屏幕下端

    :set nu      设置行号
    :set nonu    取消行号
    gg           到第一行
    G            到最后一行
    nG           到第n行
    :n           到第n行

    3、删除
    x           删除光标所在处字符
    nx          删除光标所在处后n字符
    dw          删除一单词
    dd          删除光标所在行,ndd删除n行
    dG          删除光标所在行到文件最后一行的内容
    D           删除光标所在处到行尾内容
    :n1,n2d     删除n1行到n2行

    4、复制&剪切
    yy, Y  复制当前行,nyy, nY复制当前行以下的n行
    dd 剪切当前行,ndd剪切当前行以下的n行
    p, P 粘贴在当前光标所在行下一行或上一行

    5、查找&替换
    /str           向前搜索,忽略大小写时:set ic
    ?str           向后搜索
    n              搜索指定字符下一个位置
    N              搜索指定字符上一个位置
    :%s/old/new/g  全文替换
    :%s/old/new/c  替换前询问
    :n1,n2s/old/new/g  在一定范围内替换

    6、保存退出
    :wq 保存退出
    ZZ 保存退出
    :wq! 强行保存退出(对于没有写权限的文件,只有文件所有者或root)
    :q! 不保存退出
    :w 保存不退出
    :w /home/test 另存为

    7、屏幕翻滚
    Ctrl+u:向文件首翻半屏 
    Ctrl+d:向文件尾翻半屏 
    Ctrl+f: 向文件尾翻一屏 
    Ctrl+b:向文件首翻一屏 
    nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

    8、vi使用技巧
    :r /etc/issue   导入issue内容
    :!date          vi中使用命令
    :r !date        导入命令执行结果

    9、定义快捷键
    (1) 行首插入/删除注释
    :map ^P I#<ESC>        命令行模式下,按ctrl+p, 实现在行首添加注释
    :map ^D 0x             命令行模式下,按ctrl+d,实现删除行首字符
    注意:^P(不是上位键,是特殊字符) - ctrl+v, ctrl+p。I#表在行首插入#。<ESC>表示按下ESC键。0x,0表示光标跳到行首,x表示删除光标当前字符。

    (2) 连续行注释
    :n1,n2s/^/#/g          每行行首加入#注释,^表示行首
    :n1,n2s/^#//g          删除每行行首#注释,^表示行首,如果没有^,则替换所有的#为空字符
    :n1,n2s/^////g       每行行首加入//, 因为”//”是特殊字符,需要用转义字符//代表//

    (3) 快捷键插入内容
    :map ^E itoughhou@126.com  命令行模式下,按ctrl+e,插入邮箱地址

    (4) 自动替换输入的内容为指定内容
    :ab mymail toughhou@126.com 输入mymail回车或空格后,自动替换成toughhou@126.com

    10、vi配置文件
    如果不把设置保存的话,退出vi后设置消失,下次进入时需要再重新设置,比较麻烦。此时我们可以通过vi配置文件,在各个用户的home目录下(像如我的用户名是tough,配置文件/home/tough/.vimrc).每次进入vi,:set nu, :map ^P I<ESC>都是可以用的。

    :set nu
    :map ^P I#<ESC>

     

  • 相关阅读:
    Java实现HadoopHA集群的hdfs控制
    Hadoop-2.8.5的HA集群搭建
    Python实现bing必应壁纸下载
    使用Python3将Markdown(.md)文本转换成 html、pdf
    使用GitHub作Free图床
    JavaMail实践--实现邮件发送
    Python3实现图片转字符画
    Java编写的Java编辑器_JavaIDE
    Java实现简易版计算器
    Java实现Excel表格操作--API:jxl
  • 原文地址:https://www.cnblogs.com/toughhou/p/3778771.html
Copyright © 2011-2022 走看看