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