zoukankan      html  css  js  c++  java
  • VIM中执行Shell命令(炫酷)

          我对VIM的认识仅仅是一款源码编辑器,在Linux下用来编辑程序源码或者某些服务的配置文件。最近无意中看到vim中竟然可以执行shell命令。第一次见,说句实话感觉好炫酷!不多说,我查了一些资料,一个一个尝试一下,留个笔记,备查。

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

          第一种 :!command

          不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容。执行:!ls -al命令,如下图所示:

    vim1

          特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim。这点在Linux渗透测试的时候很有用,关于日志清除相关的内容,不想说的太明白,自己体会吧。(最后还要删除VIM所产生的日志文件噢,kali里面是.viminfo,在vim中使用rm -rf强制清除)

          第二种 :r !command

          将shell命令command的结果插入到当前行的下一行。例如:r !date。读取系统时间并插入到当前行的下一行。如下图所示:

    vim2

          第三种 :起始行号,结束行号!command

          将起始行号和结束行号指定的范围内的内容让shell命令command处理,并将处理结果替换起始行号和结束行号指定范围中的内容。例如 :1,4 !sort,将第1行到第4行的内容进行排序。如下图所示:

    vim3

          可以只指定起始行,例如:1 !tr [a-z] [A-Z],将第1行的小写字母转为大写字母。如下图所示:

    vim4

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

    vim5

          第四种 :起始行号,结束行号 w !command

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

          例如:1,4 w !sort,将第1行到第4行的内容进行排序,但排序的结果并不会直接输出到当前编辑的文件中,而是显示到vim敲命令的区域。如下图所示:

    vim6

          特殊的可以用下面的命令: 1 w !bash,将会把第1行的内容作为bash命令来执行并显示结果,而且不会改变当前编辑的文件的内容。同样的 : . w !bash将当前行的内容作为bash命令来执行。

          好了,参考人家的资料,试了一下,整理的内容。这个好炫酷。

  • 相关阅读:
    POJ1321 棋盘问题
    HDU1234 开门人和关门人(解法二)
    HDU1234 开门人和关门人(解法二)
    HDU1996 汉诺塔VI
    HDU1996 汉诺塔VI
    HDU1013 POJ1519 Digital Roots(解法二)
    HDU1013 POJ1519 Digital Roots(解法二)
    HDU4548 美素数
    HDU4548 美素数
    POJ3751 时间日期格式转换【日期计算】
  • 原文地址:https://www.cnblogs.com/hiccup/p/5423981.html
Copyright © 2011-2022 走看看