• 常用的vi快捷方式


    一般情况来说:

    0代表行首,$代表行末

    $,G代表最后一行

    光标移动

    0 移动到本行最前面

    $ 移动到本行最后

    G 移动文件最后一行

    nG 移动到文件第n行

    gg 移动到文件第一行

    n【space】移动这一行的第n个字符

    n【enter】移动n行

    H屏幕第一行

    M屏幕中间一行

    L屏幕最后一行

    查找和替换

    /word 查找word

    ?word 查找word,不过是向上查找

    n 向下重复上一个查找

    N 向上重复下一个查找

    :n1,n2s/word1/word2/g 替换

    :1,$s/word1/word2/g 第一行到最后一行的替换

    因此多行注释的方法就是:

    :n1,n2s/^/#/g

    删除多行注释的方法就是

    :n1,n2s/#//g(还是:n1,n2s/^#//g)

    删除,复制和粘贴

    dd 删除当前行

    ndd删除当前行之后所有n行

    dG删除当前行到最后一行

    d1G删除当前行到第一行

    d0删除光标值第一个字符

    d$ 删除光标至当前行最后一个字符

    yy 复制当前行

    nyy复制当前行之下的n行

    y1G复制当前行至第一行

    yG 复制当前行之最后一行

    y0 复制当前字符至本行首个字符

    y$ 复制当前字符至本行最后一个字符

    p 将复制内容粘贴至当前行的下一行

    重复、撤销等操作

    j 将光标所在行和下一行数据合并

    . 重复上一个操作

    u 撤销上一个操作

    【ctrl】+r 重复上一个操作

    其他命令行操作

    :wq! 强制保存退出

    :w【filename】 相当于另存为

    :r[filename] 将filename的内容加到光标所在行的后面

    :n1,n2 w[filename]将n1至n2行的内容保存到filename文件中

    :set nu 设置行好

    :set nonu 取消行好

    vi的选择功能:

     v 字符选择,将光标经过的地方反白

    V  行选择,光标经过的行反白

    [ctrl]+v 块选择

    y 将反白的地方复制起来

    d 将反白的地方删除

    vi 多文件编辑功能

    之前碰到过这种情况,将文件一中某些行复制粘贴到文件二中,格式会乱掉

    此时,可以利用i同时打开多个文件vi -o file1 file2 file3

    :file 显示当前所有文件

    :n 编辑下一个文件

    :N 编辑上一个文件

    [ctrl] +w 也可在多文件之间切换

    这样就可以采用上面的快捷方式,如同在一个文件中操作

    windows以CRLF(^M$)换行,linux以$换行,转换的时候可以采用dos2unix、unix2dos命令

     除了vi之外,如果仅仅是查看一个文件,还有cat、tac、nl等方式,并可以通过参数设置是否显示行号,时候显示断行、【tabl】等看不见的字符。

    vi的多窗口编辑和参数设置

    如果编辑的文件篇幅过大时,可能需要vi多窗口编辑功能,

    打开一个文件,:sp可以实现多窗口切换【ctrl】+w可以进行窗口之间的切换

    对于vi环境参数的设置等,可以参照linux私房菜的p287

    对于编码或者语系编码转换,同上

  • 相关阅读:
    os.environ()详解
    查看django setting 源码
    FBV or CBV django settings 源码 模板层语法 摸板的继承 摸板的导入
    jq
    centos安装docker
    idea mapper报红解决
    Method has too many Body parameters
    Gradle安装配置
    itext生成PDF报错java.io.IOException: The document has no pages
    数字千分位
  • 原文地址:https://www.cnblogs.com/bobodeboke/p/3355549.html
Copyright © 2020-2023  润新知