命令模式(重點)
[root@hadoop-master test]
# vi vi_test.txt
使用如上命令就可以進入vi_test.txt的內容頁面
#!/usr/bin/env bash
echo
"伺服器開始部署服務"
projectname="demo"
#開啟檔案所屬的目錄,不然遠端執行會找不到當前目錄
cd /usr/local/test
#新的jar包會當成引數傳過來
newjar=$1
echo
"新的jar為:$newjar"
#如果新的jar包為空則退出if[
-z "$newjar"
]; then
echo
"新的jar不能為空"
exit 0
fi
在開啟vi命令後預設進入命令模式,按字母[i]或者[insert]鍵就可以進入編輯模式
編輯模式下面會有個insert
標誌,在編輯模式就可以修改檔案內容,再按[esc]就會進入命令模式。
在命令模式下,按[:]冒號進入[last line mode]
儲存::w
(輸入命令後按[enter]回車鍵執行命令)
退出::q
儲存並退出::wq
儲存並強制退出::wq!
按[i]進入插入模式,游標是從當前位置開始的
按[a]進入插入模式,游標是從當前位置的下乙個字元開始的
按[o]進入插入模式,游標是從當前位置的下面重新插入一行,並且游標從行首位置開始
向左:⬅、[h]
向右:➡、[l]
向下:⬇ 、[j]
向上:⬆ 、[k]
按「ctrl」+「b」:螢幕往"後"移動一頁。
按「ctrl」+「f」:螢幕往"前"移動一頁。
按「ctrl」+「u」:螢幕往"後"移動半頁。
按「ctrl」+「d」:螢幕往"前"移動半頁。
按數字「0」:移到段落的的開頭。
按「$」:移動到游標所在行的"行尾"。
按「^」:移動到游標所在行的"行首"
按「w」:游標跳到下個字的開頭
按「e」:游標跳到下個字的字尾
按「b」:游標回到上個字的開頭
按「#l」:游標移到該行的第#個位置,如:5l,56l。
「x」 每按一次,刪除游標所在位置的"後面"乙個字元。
「#x」 例如,「6x」表示刪除游標所在位置的"後面"6個字元。
「x」 大寫的x,每按一次,刪除游標所在位置的"前面"乙個字元。
「#x」 例如,「20x」表示刪除游標所在位置的"前面"20個字元。
「dd」 刪除游標所在行。
「#dd」 從游標所在行開始刪除#行
「yw」 將游標所在之處到字尾的字元複製到緩衝區中。
「#yw」 複製#個字到緩衝區
「yy」 複製游標所在行到緩衝區。
「#yy」 例如,「6yy」表示拷貝從游標所在的該行"往下數"6行文字。
「p」 將緩衝區內的字元貼到游標所在位置。注意:所有與"y"有關的複製命令都必須與"p"配合才能完成複製與貼上功能。
/pattern 從游標開始處向檔案尾搜尋pattern
?pattern 從游標開始處向檔案首搜尋pattern
「r」 替換游標所在處的字元。
「r」 替換游標所到之處的字元,直到按下「esc」鍵為止。
:1,
$s/oldstr/newstr/g 在全文範圍用newstr替換oldstr
:n,ms/oldstr/newstr/g 在第n行到第m行內用newstr替換oldstr
[:set number] 或者 [:set nu] 顯示行號
[:set nonumber] 或者 [:set noun] 不顯示行號
方法一:
echo ""
> filename
方法二:
首先vi開啟檔案(命令模式):
gg
dg
gg命令是回到檔案首部,dg(注意g是大寫)是刪除從游標開始到檔案尾內容。
方法三(不如方法二):
首先vi開啟檔案(命令模式)
:1
10000dd
:1命令是回到檔案首部,10000dd是刪除從游標開始10000行內容。
參考:
vi命令詳解:vi命令彙總:
每天學一點兒shell 猜數字遊戲
指令碼生成乙個 100 以內的隨機數,提示使用者猜數字,根據使用者的輸入,提示使用者猜對了,猜小了或猜大了,直至使用者猜對指令碼結束。bin bash 指令碼生成乙個 100 以內的隨機數,提示使用者猜數字,根據使用者的輸入,提示使用者猜對了,猜小了或猜大了,直至使用者猜對指令碼結束。random ...
一點兒小結
學習 c primer 看到的,做點兒筆記吧 1 通常,函式不應該有vector或其他標準庫容器型別的形參。呼叫含有普通的非引用vector形參的函式會複製vector的每乙個元素,所以,從避免複製vector的角度出發,應考慮將形參宣告為引用。而實際上,c 程式設計師傾向於通過傳遞指向容器中需要處...
C char 的一點兒理解
理解是就是char 相當於字串陣列,我以往糾結於該用 arr還是 arr還是 arr 還是 arr 對於 arr而言 arr代表陣列的最開頭,也就是第乙個字串的內容。arr代表什麼,不知道,這麼用會報錯。簡單的來說arr 0 代表第乙個字串的值,實際指向的整個 arr的首位址,如果用printf之類...