Vim 编辑器的三种模式——命令模式、末行模式和编辑模式python
在每次运行 Vim 编辑器时,默认进入命令模式,此时须要先切换(i)到输入模式后再进行文档编写工做,而每次在编写完文档后须要先返回(ESC)命令模式,而后再进入(:)末行模式,执行文档的保存(wq)或退出(q!)操做。linux
命令 | 做用 |
---|---|
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 |
?字符串 | 在文本中从下至上搜索该字符串 |
/字符串 | 在文本中从上至下搜索该字符串 |
shell 的功能 python 都可实现,并且代码量更少、结构更优、可阅读性更好,而 python 可实现的功能 shell 却不必定能。使用 python 做为 shell 脚本的替代,一般有不少优点:shell
#!/usr/bin/env python3
在脚本中,第一行以(#!)开头的代码,在计算机行业中叫作"shebang",其做用是"指定由哪一个解释器来执行脚本"。编程
#!/usr/bin/env/ python3
表示"从PATH环境变量"中查找 python3 解释器的位置,再调用该路径下的解释器来执行脚本。vim
在 Python 中,sys 模块是一个很是经常使用且十分重要的模块,经过模块中的 sys.argv 就能够访问到全部的命令行参数,它的返回值是包含全部命令行参数的列表(list)。app
len(sys.argv) # 参数个数 sys.argv[0] # 脚本名称 sys.argv[1] # 参数1 sys.argv[2] # 参数2
经过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