资讯专栏INFORMATION COLUMN

Vim 编辑器与 Python 命令脚本

bergwhite / 2079人阅读

摘要:文本编辑器编辑器的三种模式命令模式末行模式和编辑模式命令模式控制光标移动,可对文本进行复制粘贴删除和查找等工作。表示从环境变量中查找解释器的位置,再调用该路径下的解释器来执行脚本。

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 解释器的位置,再调用该路径下的解释器来执行脚本。

接收命令行参数

在 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("
"))
不规范的例子
[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("
")
    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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42375.html

相关文章

  • Vim 辑器 Python 命令脚本

    摘要:文本编辑器编辑器的三种模式命令模式末行模式和编辑模式命令模式控制光标移动,可对文本进行复制粘贴删除和查找等工作。表示从环境变量中查找解释器的位置,再调用该路径下的解释器来执行脚本。 Vim 文本编辑器 Vim 编辑器的三种模式——命令模式、末行模式和编辑模式 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。 输入模式:正常的文本录入。 末行模式:保存或退出文档,以及...

    niuxiaowei111 评论0 收藏0
  • 一个前端开发工程师的Vim跟IDE一样

    摘要:一组就是一个插件,的很多功能都由各式插件实现。与相反到行头到本行的第一个非字符到行尾到本行最后一个不是字符的位置。到逗号前的第一个字符。在当前行查找第三个出现的。工程文件菜单自定义快捷键显示文件菜单自带快捷键显示隐藏隐藏文件在新 这里是我新配置出来的 jaywcjlove/vim-web 一直在打磨中,基本上可以用了。拿出来骗 star 先上图 showImg(https://segm...

    Vultr 评论0 收藏0
  • Top 10 JavaScript辑器,你在用哪个?

    摘要:在这个编辑器中,和是其中排名靠前的两个。是一个免费的轻量级编辑器和,用于和开发。对于免费的代码编辑器来说,是一个很好的选择。可以安装两个命令行实用程序,用于从启动编辑器,用于管理的软件包。 对于JavaScript程序员来说,目前有很多很棒的工具可供选择。本文将会讨论10个优秀的支持javascript,HTML5和CSS开发,并且可以使用Markdown进行文档编写的文本编辑器。为什...

    zombieda 评论0 收藏0
  • Python3 简明教程

    摘要:课程简介简明易懂的课程,不仅适用于那些有其它语言基础的同学,对没有编程经验的同学也非常友好。建议遵守以下约定使用个空格来缩进永远不要混用空格和制表符在函数之间空一行在类之间空两行字典,列表,元组以及参数列表中,在后添加一个空格。 showImg(https://segmentfault.com/img/bVCldE); 课程简介:简明易懂的 Python3 课程,不仅适用于那些有其它语...

    cyqian 评论0 收藏0
  • linux

    摘要:包括转义字符引号的使用等等。使用隐写术的指纹文件隐写术是将消息隐藏到不被认为会出现的地方的做法。在很好地执行了隐写术的片段中,任何不是预期接收者的人都能看到消息,但是却完全无法意识到消息就在那儿。 CentOS 7 时区、日期时间查看以及设置杂烩 CentOS 7 中时区、日期时间的查看、设置。包括网络时间协议 NTP 的安装和同步,Timedatectl 命令查看当前的时区、日期日期...

    lijinke666 评论0 收藏0

发表评论

0条评论

bergwhite

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<