zoukankan      html  css  js  c++  java
  • linux心得笔记

    vim:

    vimtutor  查看vim帮助
           基本 移动
    h l k j 左/右移动一个字符:上/下 移动一行
    b w  向左/右 移动一个单词
    ge e 向 左/右 移动一个单词 (光标在词尾)
    { }  移动到前 一个/后一个 段落开头
    ( ) 移动到前一个/后一个 句子开头
    0 gm  移动到行首/行正中
    ^ $   移动到行 第一个非空白字符/行尾
    nG ngg  移动到第n行,默认到尾行/首行
    n% 移动到文件的n百分比处
    n|  移动到当前行的第n列
    nH nL  移动到窗口 顶端/底部 第n行
     % 匹配下一个 项目 (括号、方括号等.....)
     M  移动到窗口的中间行
     
              编辑修改
    i a  在光标 前/后  插入文本
    I A  在 行首/行尾  插入文本
    gl  在第一列 插入文本
    o O  在光标的 下方/上方 插入新行
    rc  把光标下的字符换成c
    gro  类似r,但替换的是虚拟字符
    R  进入替换模式
    gR   类似R, 但替换的是虚拟字符
    cm  更改动作m跨越的文本
    CC or S  更改当前行的内容
    C   更改光标到行尾的文本
    s  更改一个字符并进入插入模式
    ~  切换当前字符大小写,同时光标前移
    g~m  切换动作m跨越文本的大小写
    gum gUm  小写/大写 动作跨越的文本
    <m >m  左移/右移  动作m 跨越的行
    n<< n>> 将n行 左移/右移 一个缩进位
    
           删除
    x  X   删除光标 后/前 的字符
    dm  删除动作m 跨越的文本
    dd D  删除动作m 跨越的文本
    J gJ   连接两行 删除缩进、插入空格/ 直接连接
    :rd  删除范围r 包括的行
    :rdx  删除范围r包括的行寄存器x
    
           插入模式
    ^Vc ^Vn  插入字符 c 的本义/十进制值n
    ^A     插入最近插入的文本
    ^@    插入最近插入的文本,并退出插入模式
    ^Rx    原样插入寄存器x的内容
    ^N ^P  补全关键字并作 正向/反向 查找
    ^W   删除光标前的单词
    ^U   删除当前行光标前所有输入的字符
    ^D ^T  左移/ 右移 一个缩进位
    ^KC1C2  输入C1C2代表的二合字母
    ^Oc   在临时命令模式执行命令c
     ^X ^E   向上滚动一行
     ^X ^Y    向下滚动一行
     <esc> ^[   结束插入模式,回到命令模式
     
                  复制
    ”x   指定下次删除、抽出和放置使用寄存器x
    :rcg  显示所有寄存器的内容
    :reg x 显示寄存器x 的内容
    ym 抽出动作m 跨越的文本
    yy or Y 抽出整行
    p P  放置寄存器内容到光标 之后/之前
    ]p [P  类似“p” “P”,但调整当前行的缩进
    gp gP   类似“p”“P” ,光标停留在新文本之后
    
              复杂改动
    g?m   对动作m 跨越的文本做 rot13 编码
    n^A n^X  光标之上或之后的数值或者字母 +n/-n
    gqm  格式化动作m跨越的所有行
    :rce W  将范围r中的行依据 宽度w 居中对齐
    :rce i  将范围r中的行靠左对齐,缩进i列
    :rri w  将范围r中的行依据宽度w靠右对齐
    !mc  将动作m跨越的行用命令c过滤
    n!!c   将n行用命令c 过滤
    :r!c   将范围r中的行用命令c过滤
    
           可视模式
    v  V  以字符/行 方式开始(结束) 高亮
    ^V   以列块 方式开始(结束)高亮
    o   交换高亮区域的开始处和光标位置
    gv  使用上一次的可视区域开始高亮
    aw  as  ap   选择“一个单词“一个句子”/“一个段落”
    ab aB  选择“一个块”()/“一个大块”{}
             撤消,重做
    u U  撤消最近的改动/恢复最近被改动的行
    . ^R  重复最近的改动/重做最近撤消的改动
    n.  重复最近的改动n次
    
             寄存器
    qc  qC   记录键入的字符,存入/添加到寄存器c
    q       停止记录
    @c    执行寄存器c 的内容
    @@   重复上次的@c 操作
    :@c  将寄存器c的内容当作Ex 命令来执行
    :rg/p/c  在范围r 中找到匹配内容p时执行 Ex 命令c
    
             复合移动
    - +  上移/下移 一行 ,至第一个非空白字符
    B W  向前/后 移动一个字串
    gE E    向前/后 移动一个额字串(光标在末尾)
    n    下移动n-1行,至第一个非空白字符
    gO   移动到屏幕行第一个字符
    g^  g$  移动到屏幕行 第一个非空白字符/最后一个字符
    gk  gj   上移 /下移 一个屏幕行
    fc  Fc  移动到 后一个/前一个 字符c 处
    tc Tc  移动到 后一个/前一个 字符c之前
    ;, 正向/反向重复上次“f”、“F”、“t”或“T”命令
    [[ ]]  向后/向前 一小节,置于小节的开始
    [{ ]}   向后/向前 至未闭合的‘{’/‘}’
    [m ]m  向后/向前 至java method的开始
    [# ]#  向后/向前 至未闭合的#if,#else,#endif
    [* ]*  向后/向前 至注释的开始/结束/* */
    
           查找替换
    /s ?s  向前/向后 查找s
    /s/o  ?s/o  向前/向后 查找s , 光标偏移量o
    n or/  向前重复上次查找
    N or?  向后 重复 上次查找
    # *  向后/向前 查找光标下的标识符
    g# g*  向“#”/“*”,但也查找部分匹配
    gd  gD  跳转到光标下标识符的局部/全局 声明
    :rs/f/t/x   将范围r中 的f 替换成t   选项x:q- 所有匹配项,c-确认替换
    :rs x   在新的范围r 中以选项x 重复上一替换
    

     软硬链接区别

    软链接的原始文件要写相对路径 一定写的是相当于软链接的路径 而不是相当于当前工作目录。
     硬链接和软链接的区别
     1、本质:硬链接:同一个多个名字,软连接不同文件
     2、跨分区(硬链接不支持跨分区,软连接支持跨分区)
     3、目录(硬链接不支持目录创建,软链接支持目录创建)
     4、相互关系硬链接相互之间是平等独立的关系,毫不相干,你删了一个硬链接 只是说少了个名,不影响别人,大不了链接数减一。而软连接
        原始文件和软连接有依赖关系,你把原始文件删了,与软连接就失效了,它是有依赖关系的。
     5、inode 号 硬链接所有的文件inode是相等的。而软连接不一样。
     6、链接数的增长问题和减少问题;创建硬链接,链接数会增长,软连接不会增长。删除硬链接少一个连接数。软连接删的话就相当于少 了一个文件
     7、路径问题;路径如果不用原始文件路径,原始文件的路径。软连接的原始文件路径,要相对的是软链接的相对路径,而不是相对于当前目录。 而硬链接的时候,硬链接创建的可不是相对于软链接的相对路径,他相对的是当前的工作目录。
     8、文件类型不一样,软连接表现为L 是软连接。 硬链接原来是啥就是啥,原来普通文件就是普通文件。 颜色也不一样。
     9、(命令) ln  一个 加s  一个不加s
    

     具体就这些吧,期待我的作品话,就等我下周更新哟。

  • 相关阅读:
    1037. 在霍格沃茨找零钱(20)
    1036. 跟奥巴马一起编程(15)
    Java基础(五)面对对象
    Java基础(四)方法和数组
    Java基础(三)选择和循环结构
    Java基础(一)
    工厂模式(Factory Pattern)
    git 基本操作
    CXF生成客户端遇到的问题
    简单的CRUD(二)
  • 原文地址:https://www.cnblogs.com/guopeilin/p/10886718.html
Copyright © 2011-2022 走看看