每天學一點兒shell vi和vim命令使用

2021-10-23 13:39:40 字數 2892 閱讀 5017

命令模式(重點)

[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之類...