申明:本文件主要是針對新手的乙個入門指引,老鳥可以bypass過去。
文件中提到的每個命令都經過筆者自己親自驗證。
一. 模式轉換命令
vi/vim主要有3種工作模式,分別是命令模式(command mode),插入模式(insert mode), 可視模式(visual mode)。
1. 命令模式(command mode)
命令模式主要做螢幕游標的移動;字元,字或行的刪除,複製,黏貼;進入插入模式(insert mode)
或可視模式(visual mode)。在命令模式下,按【i】切換到插入模式,按【v】切換到可視模式。
2. 插入模式(insert mode)
插入模式主要用於文字的編輯輸入操作,按【esc】鍵切換到命令模式。
3. 可視模式(visual mode)
可視模式主要用於大批量文字的選擇,以便進行刪除,複製等操作。
二. 游標操作 (命令模式下)
1. 每按一次鍵盤鍵「h / j / k / l」,游標分別左 / 下 / 上 / 右移動乙個字元,與「<--, ↓, ↑, -->」對應一致。
2. 」ctrl+y」 或「ctrl+e」可以實現游標不動,僅僅上下文浮動一行。
3. 」ctrl+f「 或 "ctrl+b" 上下文往前往後移動一頁。
4. 「ctrl+u」 或「ctrl+d」 上下文往前往後移動半頁。 這個功能在應用中非常實用。
5. 「g」 跳轉到檔案尾,"gg」 跳轉到檔案頭,"#g" 跳轉到第#行的行首位置,比如 "23g" 游標就跳轉到23行的行首。
6. 」:set nu「 在上下文中顯示行號
7. ":#" 直接跳轉到上下文的第#行,比如 ":120" 跳轉到第120行。
8. ":f" 或 "ctrl+g" 顯示當前編輯的檔案詳細資訊
三. 編輯命令(命令模式下)
1. 如果在vi/vim編輯時不小心按了 "ctrl+s",可以按 "ctrl+q" 來恢復狀態。
"ctrl+s" 表示停止向終端輸出,
"ctrl+q"表示恢復向終端輸出。
2. 複製:a. "yy" 複製當前行到剪下板
b. ":y#" 複製當前行以下的#行到剪下板,比如 ":y8" 複製8行
c. "yw" 將游標所在處到字尾的字元複製到緩衝區
3. 刪除:a. "dd" 刪除當前行到緩衝區
b. ":d#" 刪除當前行以下的#行到緩衝區,比如 ":d8"刪除8行
c. "x" 刪除當前的乙個字元
4. 黏貼:"p" 黏貼緩衝區內容到當前位置
5. 按滑鼠左鍵可以選擇字串,按滑鼠右鍵把緩衝區的內容黏貼到當前位置,
此時,可以使用命令":set nocindent"和":set noautoindent"來取消縮排空格來對齊**
6. "sp/vsp path/filename" 在vi/vim中開啟指定的檔案進行同時編輯,檔案編輯視窗切換使用 "ctrl+ww"命令組合
四. 查詢替換命令(命令模式下)
1. "/***" 或 "?***" 查詢當前編輯檔案中包含***字串的地方
2. "g+d" 可以快速查詢游標所在位置字串在該編輯檔案中出現的地方
3. 操作完1或2後,按 "n" 向下查詢下乙個匹配字串,按 "n" 向上查詢下乙個匹配字串
4. 用"/***" 或 "?***" 查詢字串時,可以加上 "\c" 來表示查詢時忽略大小寫。注意:"\c" 是全字匹配的。
也可以用 ":set ignorecase" 命令來忽略大小寫,此時是部分匹配;用 ":set noignorecase" 命令來關閉此功能
5. 替換:a. ":1, $ s/str1/str2/g" 命令表示用字串str2替換當前檔案中出現的所有字串str1
b. ":., $ s/str1/str2/g" 命令表示用字串str2替換當前行到檔案末尾中出現的所有字串str1
c. ":s/str1/str2/g" 命令表示用字串str2替換當前行中出現的所有字串str1
d. ":s/str1/str2" 命令表示用字串str2替換當前行中首次出現的字串str1
6. 使用者可以自己安裝乙個ctags外掛程式,在linux $>下用ctags -r命令生成整個工作目錄的索引,然後就可以在
vi/vim的編輯環境下用 "g+ctrl+]" 或 "ctrl+]" 命令來查詢變數,函式和巨集的定義,"ctrl+t" 退回到上一步。
五. 其它命令(命令模式下)
1. :reg --- 顯示所有暫存器的內容
2. 使用 "!" 可以在vi/vim編輯情況下強制使用linux的命令,比如 ":!pwd" 顯示當前vi/vim的執行路徑
3. 暫存器操作
"?nyy:將當前行及其下n行的內容儲存到暫存器?中,其中?為乙個字母,n為乙個數字
"?nyw:將當前行及其下n個字儲存到暫存器?中,其中?為乙個字母,n為乙個數字
"?nyl:將當前行及其下n個字元儲存到暫存器?中,其中?為乙個字母,n為乙個數字
"?p:取出暫存器?中的內容並將其放到游標位置處。這裡?可以是乙個字母,也可以是乙個數字
ndd:將當前行及其下共n行文字刪除,並將所刪內容放到1號刪除暫存器中。
github eclipde 新手上路
首先建立github 或碼雲賬號 二者都能使用但是碼雲較快,畢竟國內的。建議1 使用自己姓名命名的獨一無二的賬號,兩邊都使用同乙個名字賬號,然後密碼相同,這樣後期交叉使用的時候可以少很多煩惱。個人經驗教訓,會敲錯賬號。當然,只用其中乙個的忽略。建議2 使用碼雲,二者操作一致。碼雲是中文,入門快,然後...
PHP新手上路
php的許多特點與其他軟體或者工具有關。利用迄今為止我們所學到的php知識,我們可以試著建立乙個簡單互動的 利用這一過程我們又可以學到不少東西。好吧,我們現在開始專注於乙個典型個人 的建設。標題頁面 front.html 這裡我們有乙個非常簡單的html檔案 歡迎來我的寒舍,雖然這裡現在暫時還沒有什...
vue新手上路
1 position absolute relative fixed和static四種定位方式的理解 1 static 靜態的,是position的預設值,所以一般要麼position沒有定義預設這個,要麼定義的時候肯定不寫這個 2 relative 相對的,用相對定位的元素不管它是否進行移動,元素...