• vim 命令整理(自己经常使用)


    vimm(vimsual)Linux/UNIX系列OS中通用的全屏编辑器。

    vimm分为两种状态,即命令状态和编辑状态。在命令状态下。所键入的字符系统均作命令来处理。如:q代表退出,而编辑状态则是用来编辑文本资料的。当你进入vim时。会首先进入命令状态。在命令状态下,按”i”(插入)或”a”(加入)能够进入编辑状态。在编辑状态,按ESC键进入命令状态。

    在命令状态下。有例如以下一些经常使用命令:

    新增:

    a从光标后面開始加入文本

    A从光标所在行的末尾開始加入文本

    插入:

    i从光标前面開始插入文本

    I从光标所在行的開始处插入文本

    删除与改动:

    x删除光标处的字符

    dd删除光标所在的整行

    3dd删除光标所在行以及以下的两行

    D删除光标到行尾的文本,经常使用语删除凝视语句(d$)

    光标移动:

    在远程登录模式下,vim不支持PageUpPageDownHomeEnd等功能键!(郁闷吧)

    ^光标移动到行首

    $光标移动到行尾

    Ctrl+d向下翻半页

    Ctrl+f向下翻一页

    Ctrl+u向上翻半页

    Ctrl+b向上翻一页

    gg光标定位到文档头

    G光标定位到文档尾

    H光标定位到当前页首

    L光标定位到当前页的最后一行的行首

    w光标往后移一个字

    b光标往前移一个字

    [n]+光标向后移动n,[n]表示一个整数

    [n]-光标向前移动n,[n]表示一个整数

    [n]G光标定位到第n行行首,[n]表示一个整数


    查找与替换:

    /[str]查找字符串str[str]表示要查找的字符串

    回车后会加亮显示全部找到的字符串,接着

    命令n移动到下一个找到的字符串,命令N移动到

    上一个找到的字符串eg /hello

    部分替换(仅仅能替换光标之所在的行)

    :s/[src]/[dst] /i忽略大写和小写/g所有匹配eg :s/hello/world/ig替换一行

    :3,6s/[src]/[dst]/ig3-6行中找)eg :3,6 s/hello/world

    所有替换

    :%s/[src]/[dst]/g将文档中全部src的字符串替换为dst字符串

    :%s/^//g将文档每一行的行首的空格去掉

    块操作:

    v可视化块选择状态,选中块之后,能够对块进行删除(d),复制(y),剪切(x)

    yy复制光标所在的整行

    [n]yy从光标開始往下复制n,[n]表示一个整数

    p将复制后的文本粘贴到光标处

    u撤销上次操作

    结束编辑:

    :q在未改动文档的情况下退出

    :q!放弃文档的改动。强行退出

    :w文档存盘

    :wq文档存盘退出

    其它:

    :help命令查看该命令的帮助提示

    :%!xxd十六进制模式

    :%!xxd–r返回文本模式

    假设在编辑过程中不小心按了Ctrl+s,vim会处于僵死状态,按Ctrl+q能够恢复。

    运行vim+3 main.c //表示定位到main.c的第3

    运行vim+/printf main.c //表示定位到第一个printf

    在命令模式下输入:new2.c //表示再打开一个vim,是横向的vnew2.c表示纵向

    也能够通过:split vsplit sp vsp。两个窗体之间进行切换的方式:Ctrl+w,w

    在命令模式中输入gg=G能够自己主动对齐

    sed:管道查找替换程序

    cata.txt | sed 's/aa/bb/' > b.txt //a.txt中的aa替换成bb并重定向输出到b.txt中。

    :r my_open.c

    将my_open.c读入当前文件夹

    :vs (路径) 打开新的vim

    选中一起tab z可视选中后,按shift按 >

    一起建立多个vim 比如 vim 1.cpp 2.cpp ,然后 :n是下一个 :N 上一个 

    在vim中 :sh退出编辑,ctrl+D就在进来  输入快捷方式

    vim 中 :set nohls去高亮

    /file  在vim中查找file并高亮显示

    :31,35 co 4 在vim中吧31到35行的内容copy到第4行

    vim里面找端错误的方法

    1)ulimit -a

    2)ulimit -c unlimited 在执行程序就会产生core文件

    3)./main

    3)gdb ./main core.6435 就能够查看全部错误

    4)where

    :r (路径)在本vim进行加入,按tab显示文件夹

    head -n 28 server.c>client.c  将server.c的前28行copy到client.c

    shift + * 向上查找同样单词

    shift + # 向下寻找同样单词

    lsof  -i: 80 查看80窗体的占用情况

  • 相关阅读:
    要发布游戏啦,平台要 3000个6位不重复的验证码 看我怎么做!!!
    数字化婚姻配对尝试
    java 和 .NET 的 类继承方面 的不同
    Asp.Net Core 实现谷歌翻译ApI 免费版
    Asp.Net Core 全局模型验证
    Asp.Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty
    Windows 10 远程连接出现函数错误 【这可能由于CredSSP加密Oracle修正】
    矫正系统时间
    linux 安装WildFly 及可能遇到的问题
    ubuntu 安装 jdk-7
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/7210451.html
Copyright © 2020-2023  润新知