vim是linux中必不可少的乙個工具。早期的unix都是使用的vi作為系統預設的編輯器。
vi與vim有什麼區別?可以這樣簡單理解,vim是vi的公升級版。很多linux系統管理員都習慣用vi,那是因為他們接觸linux的時候用的就是vi,vim後來才比較流行。vi 和vim最大的區別就是編輯乙個文字時,vi不會顯示顏色,而vim會顯示顏色,顯示顏色更易於使用者進行編輯,其他功能沒有什麼區別。
一般模式: 當你vim filename 編輯乙個檔案時,一進入該檔案就是一般模式了。在這個模式下,可以做的操作有,上下移動游標;刪除某個字元;刪除某行;複製、貼上一行或者多行。
編輯模式:一般模式下,是不可以修改某乙個字元的,只能到編輯模式了。從一般模式進入編輯模式,只需你按乙個鍵即可(i,i,a,a,o,o,r,r)。當進入編輯模式時,會在螢幕的最下一行出現「insert或replace」的字樣,從編輯模式回到一般模式只需要按一下鍵盤左上方的esc鍵即可。
命令模式:在一般模式下,輸入」:」或者」/」即可進入命令模式。在該模式下可以搜尋某個字元或者字串,也可以儲存、替換、退出、顯示行號,甚至執行某些命令如pwd等等。
vim為全鍵盤操作的編輯器,所以在各個模式下都有很多功能鍵盤的。列舉一下常用操作。
h或向左方向鍵游標向左移動乙個字元j或者向下方向鍵游標向下移動乙個字元
k或者向上方向鍵游標向上移動乙個字元
l或者向右方向鍵游標向右移動乙個字元
ctrl + f 或者pageup鍵螢幕向前移動一頁
ctrl + b 或者pagedown鍵螢幕向後移動一頁
ctrl + d螢幕向前移動半頁
ctrl + u螢幕向後移動半頁
+游標移動到非空格符的下一列
-游標移動到非空格符的上一列
n空格(n是數字)按下數字n然後按空格,則游標向右移動n個字元,如果該行
字元數小於n,則游標繼續從下行開始向右移動,一直到n
0(數字0)或者shift+6移動到本行行首
shift+4即』$』移動到本行行尾
h游標移動到當前螢幕的最頂行
m游標移動到當前螢幕的**那一行
l游標移動到當前螢幕的最底行
g游標移動到文字的最末行
ng(n是數字)移動到該文字的第n行
gg移動帶該文字的首行
n回車(n是數字)游標向下移動n行
/word向游標之後尋找乙個字串名為word的字串,當找到第乙個word後,按」n」繼續搜後乙個
?word想游標之前尋找乙個字串名為word的字串,當找到第
乙個word後,按」n」繼續搜前乙個
:n1,n2s/word1/word2/g在n1和n2行間查詢word1這個字串並替換為word2,你
也可以把」/」換成」#」
:1,$s/word1/word2/g從第一行到最末行,查詢word1並替換成word2
:1,$s/word1/word2/gc加上c的作用是,在替換前需要使用者確認
x,xx為向後刪除乙個字元,x為向前刪除乙個字元nx(n為數字)向後刪除n個字元
dd刪除游標所在的那一行
ndd(n為數字)刪除游標所在的向下n行
d1g刪除游標所在行到第一行的所有資料
dg刪除游標所在行到末行的所有資料
yy複製游標所在的那行
nyy複製從游標所在行起向下n行
y1g複製游標所在行到第一行的所有資料
yg複製游標所在行到末行的所有資料
j講游標所在行與下一行的資料結合成同一行
u還原過去的操作
i在當前字元前插入字元i在當前行行首插入字元
a在當前字元後插入字元
a在當前行行末插入字元
o在當前行下插入新的一行
o在當前行上插入新的一行
r替換游標所在的字元,只替換一次
r一直替換游標所在的字元,一直到按下esc
:w將編輯過的文字儲存:w!若文字屬性為唯讀時,強制儲存
:q退出vim
:q!不管編輯或未編輯都不儲存退出
:wq儲存,退出
:e!將文件還原成最原始狀態
zz若文件沒有改動,則不儲存離開,若文件改動過,則儲存後
離開,等同於:wq
:w [filename]編輯後的文件另存為filename
:r [filename]在當前游標所在行的下面讀入filename文件的內容
:set nu在每行的行首顯示行號
:set nonu取消行號
n1,n2 w [filename]將n1到n2的內容另存為filename這個文件
:! command暫時離開vim執行某個linux命令,例如 :! ls /home 暫時列
出/home目錄下的檔案,然後會提示按回車回到vim
css動畫讓文字一行一行逐漸顯示
這幾天在做乙個年終總結的活動,需要將顯示的內容以動畫的形式逐漸顯示,而且還要使用輪播的效果顯示好幾頁,每頁內容都不同 其實簡單的css就可以實現,但是css 太長,就寫了個迴圈用js實現啦我是在vue的基礎上寫的,1 輪播可以使用外掛程式swiper,使用可以參考 或者我下篇文章介紹 2 每頁輪播頁...
matlab 在同一行中動態顯示文字
matlab中在多次迭代中,如果需要友好的提示當前的執行進度,直接列印在視窗將會非常不友好,對於迭代次數較多,則完全將重要輸出覆蓋 為此,檢視了一些原始碼,看到了一種用法,在一行上去顯示,保持動態的修改這一行文字,這樣看其實相對的友好很多!網上搜尋了下,這個方案非常好用 以下是 記錄當前顯示的位元組...
Linux 命令 echo 顯示一行文字
echo option string n不輸出行尾的換行符。e允許對轉義字元進行解釋。e禁止對轉義字元進行解釋,這是預設的選項。help 顯示幫助資訊。version 顯示版本資訊。轉義字元 含義 反斜槓 a警報符 bel b退格符 c禁止尾隨的換行符 e換碼符 f換頁符 n換行符 r回車符 t水平...