zoukankan      html  css  js  c++  java
  • vim中执行shell命令小结

    vim中执行shell命令,有以下几种形式


    1):!command


    不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容


    例如


    :!ls -l

    特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim


    2):r !command


    将shell命令command的结果插入到当前行的下一行


    例如


    :r !date,读取系统时间并插入到当前行的下一行。


    3):起始行号,结束行号 !command


    将起始行号和结束行号指定的范围中的内容输入到shell命令command处理,并将处理结果替换起始行号和结束行号指定的范围中的内容


    例如


    :62,72 !sort,将62行到72行的内容进行排序


    可以只指定起始行,例如:62 !tr [a-z] [A-Z],将62行的小写字母转为大写字母


    当前光标所在行,除可以指定行号外,也可以用.表示,例如:. !tr [a-z] [A-Z],将当前行的小写转为大写


    4):起始行号,结束行号 w !command


    将起始行号和结束行号所指定的范围的内容作为命令command的输入。不会改变当前编辑的文件的内容


    例如


    :62,72 w !sort,将62行到72行的内容进行排序,但排序的结果并不会直接输出到当前编辑的文件中,而是显示在vim敲命令的区域


    特殊的可以下面这么用


    :62 w !bash,将会把第62行的内容作为bash命令来执行并显示结果,而且不会改变当前编辑的文件的内容


    同样的:. w !bash,将当前行的内容作为bash命令来执行


    例如52行内容为ls -l


    那么输入:52 w !bash就跟执行!ls -l是一样的效果,如果你用的shell是bash shell


    如果输入的是:52 !bash,那么会把第52行的内容也就是ls -l作为命令执行,同时命令的输出结果会替换第52行的内容,注意其中的区别。vim中执行shell命令小结

  • 相关阅读:
    mysql存储过程 --游标的使用 取每行记录 (多字段)
    mysql rowid实现
    redis进程守护脚本
    CF1042B 【Vitamins】(去重,状压搜索)
    CF1042A 【Benches】(优先队列)
    魔板 Magic Squares(广搜,状态转化)
    解方程(hash,秦九韶算法)
    noip模拟赛 动态仙人掌(并查集,贪心)
    (暴力碾标算)NOIP模拟赛 宗教仪式
    牛客网NOIP赛前集训营-提高组18/9/9 A-中位数
  • 原文地址:https://www.cnblogs.com/wuchanming/p/4507428.html
Copyright © 2011-2022 走看看