一 vi的操作模式vi提供兩種操作模式:輸入模式(insert mode)和指令模式(command mode)。在輸入模式下,使用者可輸入文字資料。在指令模式下,可進行刪除、修改等各種編輯動作。
在輸入模式下,按esc鍵切換到指令模式下。在指令模式下,按輸入指令(i、a、o等)進入輸入模式。
二 進入vi
$ vi filename
$ view filename
以唯讀方式開啟檔案filename三 指令模式3.1 進入輸入模式
a 在當前游標之後輸入 a 在當前行之末輸入 i 在當前游標之前輸入 i 在當前行之首輸入 o 在當前行之下新增一行,並在新增行輸入 o 在當前行之上新增一行,並在新增行輸入輸入結束後,按esc鍵退出輸入模式。
3.2 游標移動
h 向左移動乙個字元 l 向右移動乙個字元 j 向下移動乙個字元 k 向上移動乙個字元 b 左移乙個單詞,至詞首 w 右移乙個單詞,至詞尾 0
移到當前行行首 $ 移到當前行行尾 + 移至下一行的行首 - 移至上一行的行首 h 移至視窗的第一行 m 移至視窗的中間一行 l 移至視窗的最後一行 g 移至該檔案的最後一行 ng 移至該文件的第n行 n+ 下移n行 n- 上移n行
3.3 視窗移動
+ f 視窗下卷一頁 + b 視窗上捲一頁 + d 視窗下卷半頁+ u 視窗上捲半頁 + e 視窗下卷一行 + y 視窗上捲一行
3.4 刪除操作
x 刪除游標所在字元 x 刪除游標前一字元 dw 從游標當前位置開始向後刪除乙個單詞 db 從游標當前位置開始向前刪除乙個單詞 d0 從行首刪除至當前游標位置 d$ 從游標當前位置刪除至行尾 dd 刪除游標所在行 d 同d$
3.5 修改操作
s 修改游標所在字元,修改完成後按esc鍵結束 s 修改整行內容,修改完成後按esc鍵結束 r 替換當前游標所在字元 r 進入替換狀態,直至按esc鍵結束 cw 修改乙個單詞(從游標位置至詞尾) cb 修改乙個單詞(從詞首至游標位置) cc 修改整行內容,完成後按esc鍵結束,同s c0 修改行首至游標位置的內容 c$ 修改游標位置至行尾的內容 ~ 游標所在字元大小寫切換
3.6 指令重複在指令模式中,可在指令前面加入乙個數字n,則該指令會重複執行n次。常用的重複操作有:
nx 刪除n個字元 ndd 刪除n行 ns 修改n個字元
3.7 取消前一動作(undo)
u 撤消上一指令的結果
3.8 查詢字串
/字串 從當前游標向後查詢該字串 ?字串 從當前游標向前查詢該字串 n 從當前游標向後查詢下乙個字串 n 從當前游標向前查詢下乙個字串
3.9 檢視編輯狀況
+ g 顯示正在編輯的檔名、當前游標所在行數、檔案總行數、檔案是否被修改
四 儲存與退出
:w 儲存,但不退出 :wq 儲存並退出 :x 同:wq :q 退出,如果當前檔案沒有儲存,禁止退出 :q! 不儲存退出 :w file1 將內容儲存至檔案file1中,注意:此時編輯的仍為原檔案 :w! file1 將內容覆蓋儲存至檔案file1中,如檔案file1存在,:w file1將禁止執行
五 環境設定
:set 顯示已設定的環境狀況 :set all 顯示所有的環境設定選項 :set nu 顯示行號 :set nonu 不顯示行號 :set ts
=n 設定tab鍵的長度為n
六 執行指令以下用具體的數字為例進行介紹,數字表示行數,游標所在行可用「.」代替,檔案最後一行可用「$」代替。 :
10,20d 刪除第10行至第20行的內容 :10d 刪除第10行的內容 :%d 刪除全部內容 :10,
20co30 將第10行至第20行的內容複製到第30行之後 :10,
20mo30 將第10行至第20行的內容移動到第30行之後 :1,
$s/old/new 將第1行至最後一行中的old替換成new :1,
$s/^/new 將第1行至最後一行的內容前面插入new :
10將游標移至第10行
七 重複指令
. 重複上一條指令
八 切換到shell狀態
:sh 切換到shell狀態,exit返回
Pytest基本操作方法
測試函式必須以test開頭 測試類必須以大寫test開頭,但測試類不能有init方法 測試檔案必須以test test開頭或者test test結尾 執行.py檔案時候 第一種方法 在temrinal直接輸入pytest 注意要cd到該目錄下去執行,但會該目錄下所有帶有test.py檔案如下 如果只...
收藏) Unix vi基本操作方法
一 vi的操作模式 vi提供兩種操作模式 輸入模式 insert mode 和指令模式 command mode 在輸入模式下,使用者可輸入文字資料。在指令模式下,可進行刪除 修改等各種編輯動作。在輸入模式下,按esc鍵切換到指令模式下。在指令模式下,按輸入指令 i a o等 進入輸入模式。二 進入...
陣列的基本操作方法
const arr new array 100 fill 1 map item,index index 1 const arr array.from array 100 a,b b 1 const arr array 100 keys console.log arr const arr 1 2,3 ...