脚本宝典收集整理的这篇文章主要介绍了Vim 编辑器与 Python 命令脚本,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Vim 文本编辑器
Vim 编辑器的三种模式——命令模式、末行模式和编辑模式
在每次运行 Vim 编辑器时,默认进入命令模式,此时需要先切换(i)到输入模式后再进行文档编写工作,而每次在编写完文档后需要先返回(ESC)命令模式,然后再进入(:)末行模式,执行文档的保存(wq)或退出(q!)操作。
Vim 中常用的命令
命令
作用
dd
删除(剪切)光标所在整行
5dd
删除(剪切)从光标处开始的5行
yy
复制光标所在整行
5yy
复制从光标处开始的5行
n
显示搜索命令定位到的下一个字符串
N
显示搜索命令定位到的上一个字符串
u
撤销上一步的操作
p
将之前删除(dd)或复制(yy)过的数据粘贴到光标后面
末行模式中可用的命令
命令
作用
:w
保存
:q
退出
:q!
强制退出(放弃对文档的修改内容)
:wq!
强制保存退出
:set nu
显示行号
:set nonu
不显示行号
:命令
执行该命令
:整数
跳转到该行
:s/one/two
将当前光标所在行的第一个one替换成two
:s/one/two/g
将当前光标所在行的所有one替换成two
:%s/one/two/g
将全文中的所有one替换成two
?字符串
在文本中从下至上搜索该字符串
/字符串
在文本中从上至下搜索该字符串
Python 命令脚本
shell 的功能 python 均可实现,而且代码量更少、结构更优、可阅读性更好,而 python 可实现的功能 shell 却不一定能。使用 python 作为 shell 脚本的替代,通常有很多优势:
- python 在主流的linux发行版本中都被默认安装。
- python 非常容易阅读,语法容易理解。
- python 是一个解释性语言,这意味着,不需要编译。
- python 是一个功能齐全的编程语言。
- python 可以访问优秀的标准库,还有大量的实现多种功能的第三方库。
- python 可以是命令链中的一部分。
脚本声明
#!/usr/bin/env python3
在脚本中,第一行以(#!)开头的代码,在计算机行业中叫做"shebang",其作用是"指定由哪个解释器来执行脚本"。
#!/usr/bin/env/ python3
表示"从PATH环境变量"中查找 python3 解释器的位置,再调用该路径下的解释器来执行脚本。
@H_360_209@接收命令行参数
在 Python 中,Sys 模块是一个非常常用且十分重要的模块,通过模块中的 sys.argv 就可以访问到所有的命令行参数,它的返回值是包含所有命令行参数的列表(list)。
len(sys.argv) # 参数个数
sys.argv[0] # 脚本名称
sys.argv[1] # 参数1
sys.argv[2] # 参数2
调用Shell命令
通过os模块system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果。
import os
PRint os.system("ls -al")
通过os模块poPEn方不仅仅返回结果,还可以调用read()方法读取输出内容。
import os
output = os.popen('ls -al').read()
print(output.splIT('n'))
不规范的例子
[root@localhost ~]# vim showfile.py
#!/bin/env python3
import os,sys
if __name__ == '__main__':
directory = sys.argv[1]
output = os.popen("ls -lh " + directory).read()
filelist = output.split('n')
for fileinfo in filelist:
print(fileinfo)
[root@localhost ~]# chmod +x showfile.py
[root@localhost ~]# ./showfile.py /usr/local/share/
total 0
drwxr-xr-x. 2 root root 6 Apr 11 00:59 applications
drwxr-xr-x. 2 root root 6 Apr 11 00:59 info
drwxr-xr-x. 21 root root 243 Aug 15 06:42 man
以上是脚本宝典为你收集整理的Vim 编辑器与 Python 命令脚本全部内容,希望文章能够帮你解决Vim 编辑器与 Python 命令脚本所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。