vim 編輯器的三種模式——命令模式、末行模式和編輯模式
在每次執行 vim 編輯器時,預設進入命令模式,此時需要先切換(i)到輸入模式後再進行文件編寫工作,而每次在編寫完文件後需要先返回(esc)命令模式,然後再進入(:)末行模式,執行文件的儲存(wq)或退出(q!)操作。
命令作用
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 指令碼的替代,通常有很多優勢:
#!/usr/bin/env python3
在指令碼中,第一行以(#!)開頭的**,在計算機行業中叫做"shebang",其作用是"指定由哪個直譯器來執行指令碼"。
#!/usr/bin/env/ python3
表示"從path環境變數"中查詢 python3 直譯器的位置,再呼叫該路徑下的直譯器來執行指令碼。
在 python 中,sys 模組是乙個非常常用且十分重要的模組,通過模組中的 sys.ar** 就可以訪問到所有的命令列引數,它的返回值是包含所有命令列引數的列表(list)。
len(sys.ar**) # 引數個數
sys.ar**[0] # 指令碼名稱
sys.ar**[1] # 引數1
sys.ar**[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.ar**[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 info
drwxr-xr-x. 21 root root 243 aug 15 06:42 man
Vim 編輯器命令
一 低行模式常用指令 w 用於儲存檔案 q 退出當前編輯的檔案 強制,常用 q 強制退出 ls 列出當前編輯器中所有的檔案 n 切換到下乙個檔案 n 切換到上乙個檔案 15 切換到第15行 游標定在 的位置 游標向前定在 處 二 命令列常用指定 h 游標左移 j 游標下移 k 游標上移 l 游標右移...
vim 編輯器命令
vi vim 操作命令 g快速移動游標到最後一行 gg快速移動游標到首行 100g 100gg 移動游標切換到指定100行 將游標快速移動到行首 將游標快速移動到行尾 ctrl 左右 橫行移動時,按照字串資訊移動 nyy複製指定行資訊 np貼上指定資訊 ndd剪下指定行資訊 u撤銷操作 ctrl r...
Vim 編輯器與 Shell 命令指令碼
vim vi 著色功能,使用中檢視內容是有顏色變化,避免錯誤產生 在命令模式輸入a i o中任意字母可以進入到輸入模式 vim中常用命令 命令作用 dd刪除 剪下 游標所在整行 5dd刪除 剪下 從游標處開始的5行 10dd 刪除 剪下 從游標處開始的10行 yy複製游標所在整行 5yy複製游標處開...