zoukankan      html  css  js  c++  java
  • vim 熟练度练习

    :w /tmp/bbb #另存为

    0 行首

    $ 行尾

    ctrl+f  下翻页

    ctrl+b 上翻页

    行复制,命令行模式下

    yy 复制光标所在的行

    p 在光标所在行的下面插入复制的一行

    P 在光标所在行的上面插入复制的一行

    2yy 从光标开始复制二行 #数字多少,代表复制多少行

    p 粘贴

    段复制,命令行模式下

    v 移动光标选择自己想复制的段,按下y复制某个段

    p 在光标所在字符后面粘贴

    P 在光标所在字符前面粘贴

    删除单个字符,命令行模式下

    x 删除光标所在的字符

    X 删除光标前的字符

    3x 删除三个字符

    删除某个单词,命令行模式下

    dw 删除光标后的单词

    db 删除光标前的单词

    daw 删除光标所在的单词 delete a word

    . 重复之前的操作

    删除某个段,命令行模式下

    v 选中选择段,然后x删除

    删除行,命令行模式下

    dd 删除光标所在的行

    3dd 删除光标所在开始的三行,往下数 #数字多少,代表删除几行

    快速清空正在编辑的文件,命令行模式下

    gg然后111111dd #数字>行数就能够清空

    gg然后dG   #删除当前行到最后一行

    某行我们指定删除到某个字符,命令行模式下

    dtu 从当前字符删除到u   delete to u

    d0 从当前字符到行首的字符全部删除

    d$ 从当前字符到行尾的字符全部删除

    删除后的字符自动复制

    向下搜索,命令行模式下

    /mask 向下搜索mask

    n  继续向下

    N  反向

    向上搜索,命令行模式下

    ?mask 向上搜索mask

    n  继续向上

    N  反向

     

    忽略大小写搜索

    /Maskc

    正则搜索,命令行模式下(不支持扩展正则)

    /^L 以L开头的

    /(mask) 不支持扩展正则

    针对行的字符快速定位,命令行模式下

    f1 光标快速定位到1

    单个字符快速替换,命令行模式下

    r4 光标所在的字符替换为4   replace

    批量替换,命令行模式下

    :%s/no/yes/g 所有的no替换为yes

    :%s/no/yes 每一行的第一个no替换为yes

    :2s/2/3/g  只替换第二行的

    :2,4s/3/4/g 第二行到第四行的3替换4

    替换前进行确认

    :%s/no/yes/gc c表示替换前需要确认

    正则替换(不支持扩展正则)

    :%s/ListenAddress .*/ListenAddress 127.0.0.1/g

    vim从命令行模式转换为编辑模式的方法

    字符前插入

    i

    字符后插入

    a

    行首插入

    I

    行末插入

    A

    光标所在行的下面新起一行插入

    o

    光标所在行的上面新起一行插入

    O

    从编辑模式切换到命令行模式就是按esc

    块编辑是指纵向批量编辑,命令行模式下

    ctrl+v r 块替换

    ctrl+v x 块删除

    ctrl+v I 块操作从字符前插入

    ctrl+v A 块操作从字符后插入

    插入后一定要记得按两次esc键

     

    :set all命令

    查看默认的设置项目

    显示行数

    :set number  #显示行数

    :set nonumber  #不显示行数

    :set relativenumber #显示相对行数

    自动缩进

    :set autoindent    #打开自动缩进

    :set noautoindent   #关闭自动缩进

    粘贴模式,保留粘贴的文本格式

    :set paste

    取消搜索高亮功能

    :set nohlsearch

    示例文本vim /tmp/shijiange.c

    #include <stdio.h>

       main()    {

         printf("hello world!");

          printf("hello world!");

    }

    自动缩进,命令行模式下

    5==    #底下5行自动缩进

    v选中块,然后== #选中的块自动缩进

    批量缩进取消缩进

    >> 相当于按一个tab

    << 相当于删除一个tab

    2>> 底下两行往左缩进

    代码自动补全功能

    ctrl+n 代码自动补全

    打开多个文件

    vim /tmp/shijiange1.txt

    :tabnew /tmp/shijiange2.txt   #打开新的文件,同时旧的文件也在编辑

    gt      #切换窗口

    :qa!      #所有编辑文件不保存退出

    :wqa      #所有编辑文件保存退出 all

    对比

    vimdiff /tmp/shijiange1.txt /tmp/shijiange2.txt

    ctrl+w l 移动到右窗口

    ctrl+w h 移动到左窗口

    ]c   移动到下一个不同的点

    [c   移动到上一个不同的点

    示例python文件vim /tmp/shijiange.py

    print('1.1.1.1')

    if 3 == 3:

        print('shijiange')

    运行正在编辑的python脚本

    :!ifconfig  #运行ifconfig命令查看ip

    :!python % #运行正在编辑的python脚本

  • 相关阅读:
    poj 1684 Lazy Math Instructor(字符串)
    STL内存配置器
    迭代器(iterators)
    类型萃取(type traits)
    hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包+dp)
    hdoj 1114 Piggy-Bank(完全背包+dp)
    hdoj 2546 饭卡(0-1背包)
    hdoj 2620 Bone Collector(0-1背包)
    U3d开发个人总结
    Android软键盘的用法总结
  • 原文地址:https://www.cnblogs.com/jpinsz/p/13031747.html
Copyright © 2011-2022 走看看