博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VIM中执行Shell命令(炫酷)
阅读量:5247 次
发布时间:2019-06-14

本文共 1024 字,大约阅读时间需要 3 分钟。

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

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

      第一种 :!command

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

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

      第二种 :r !command

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

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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/hiccup/p/5423981.html

你可能感兴趣的文章
Mayor's posters POJ - 2528
查看>>
决策树--信息增益,信息增益比,Geni指数的理解
查看>>
常用sql备份
查看>>
Solr源码在MyEclipse下的搭建
查看>>
Oracle用户管理的不完全恢复2:基于取消的恢复
查看>>
Oracle 11g 执行计划管理2
查看>>
stm32 nucleo系列开发板的接口
查看>>
02-CSS基础与进阶-day6_2018-09-05-21-42-09
查看>>
JQuery 多选按钮checkbox
查看>>
PHP 语法(5)
查看>>
java反射简解
查看>>
Socket,webservices,remoting,WCF
查看>>
SQL---mysql新增字段
查看>>
MySQL同主机不同数据库的复制命令
查看>>
与父母互动的55件事情
查看>>
秋季学期学习总结
查看>>
cgi程序报 Premature end of script headers:
查看>>
使用 datatables 插件做后台分页方法
查看>>
安卓手机声音调大
查看>>
【JS面试】第四章 闭包和作用域
查看>>