• 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脚本

  • 相关阅读:
    MFC CListCtrl 使用介绍
    头文件预编译 .
    WM_CREATE和WM_INITDIALOG
    一步一步学List Control控件的用法(第三步)设置风格 .
    VC定时器的用法:SetTimer和Ontimer .
    GetWindowRect与GetClientRect 的区别 .
    Prebuild Command line(Copy) . vc2008预生成事件和生成后事件的用法
    MFC浅析(7) CWnd类虚函数的调用时机、缺省实现 .
    MFC中VALUE和CONTROL的区别(EDIT控件)
    MFC应用程序中处理消息的顺序
  • 原文地址:https://www.cnblogs.com/jpinsz/p/13031747.html
Copyright © 2020-2023  润新知