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命令小结

时间: 2024-10-31 19:34:03

vim中执行shell命令小结的相关文章

VIM中执行Shell命令(炫酷)

      我对VIM的认识仅仅是一款源码编辑器,在Linux下用来编辑程序源码或者某些服务的配置文件.最近无意中看到vim中竟然可以执行shell命令.第一次见,说句实话感觉好炫酷!不多说,我查了一些资料,一个一个尝试一下,留个笔记,备查.       vim中执行shell命令,有以下几种形式:       第一种 :!command       不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容.执行:!ls -al命令,如下图

vim中执行shell命令

1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如 :!ls -l 特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim 2):r !command 将shell命令command的结果插入到当前行的下一行 例如 :r !date,读取时间并插入到当前行的下一行.

在 Ruby 中执行 Shell 命令的 6 种方法

我们时常会与操作系统交互或在 Ruby 中执行 Shell 命令.Ruby为我们提供了完成该任务的诸多方法. Exec Kernel#exec 通过执行给定的命令来替换当前进程,例如: $ irb >> exec 'echo "hello $HOSTNAME"' hello codefun $ 注意 exec 利用 echo 命令替换了 irb 进程,然后退出.因为 Ruby 实际上结束了该方法,所以只能有限使用.该方法的缺点是,你无法从 Ruby 脚本中知道命令是执行成功

让你提前认识软件开发(23):如何在C语言中执行shell命令?

第1部分 重新认识C语言 如何在C语言中执行shell命令? [文章摘要] Linux操作系统具备开源等诸多优秀特性,因此在许多通信类软件(主流开发语言为C语言)中,开发平台都迁移到了Linux上,同时shell操作在Linux的编程中占有很重要的地位,这就需要开发人员熟练掌握在C语言中执行shell命令的相关操作. 本文用实际的代码演示了如何在C语言程序中执行shell命令,为相关软件开发工作的开展提供了参考. [关键词] Linux  C语言  shell  命令  开发 一.程序执行流程

Linux下QT中执行shell命令

当需要在QT中执行shell命令时可以利用以下方法: (1)首先包含头文件: #include <QProcess> (2)执行shell命令: QProcess::execute("ls"); ///////////////////// #include  <QProcess> void Widget:on_pushButton_clicked() { //* system("ls");//调用LINUX C函数库中的system(cons

ruby中执行shell命令找到进程并kill掉

shell命令获得进程id的方法有三种: 1. ps -A |grep cmdname| awk '{print $1}' 2. pidof cmdname 3. pgrep cmdname ruby中怎么做呢? ruby中有三种方式执行shell命令: %x: 执行命令并返回执行结果 exec:执行命令并退出. system:执行命令并返回true或false. 所以这里要使用%x来取得返回结果. 比如要killsublime: result = %x[pgrep sublime] %x[su

python中执行shell命令

sh是一个比subprocess好的库,能够执行shell命令 1.查看ip: [[email protected] myblog]# ifconfigeth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.31.253.193 netmask 255.255.240.0 broadcast 172.31.255.255 ether 00:16:3e:01:72:ac txqueuelen 1000 (Etherne

使用sh库执行shell命令

python中执行shell命令 之前执行shell命令多是通过os.system(shell命令)的方式来执行,比较麻烦. 了解到sh是一个比subprocess好的库,能够执行shell命令 1.查看ip: [[email protected] myblog]# ifconfigeth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.31.253.193 netmask 255.255.240.0 broadcas

java执行shell命令,chmod 777 xxx,改变权限无效的解决办法。

在java程序中执行shell命令,改变文件的权限,可以在命令行中执行 chmod 777 <span style="font-family: Arial, Helvetica, sans-serif;">/data/misc/123.sh"</span> 来改变权限,但是在java代码中执行这个命令时使用 Runtime.getRuntime().exec("chmod 777 /data/misc/123.sh"): 无效,使用