一、移動游標
vim使用h、j、k和l鍵來移動游標,對應的方向依次為向左、向下、向上和向右。按照正式的說法,這樣可以保證雙手不離開鍵盤區域,從而提高輸入效率。可以這樣加快記憶:我們的右手食指在鍵盤上的初始位置是j鍵,一般而言,我們在閱讀或者編輯文件時最常用的方向鍵就是向下,所以將j鍵設為向下鍵是最為合適的,將右邊與其相鄰的k鍵設定為向上鍵,也實現了同樣的方便。當游標需要向左移動時,我們的右手食指也要向左移動,這兩個方向是一致的。向右鍵的使用頻率比向左鍵高一些,因此設定為無名指直接接觸的l鍵。
二、如何退出vim
1.不儲存而退出,即強制退出。:q! (助記:quit !(非) 儲存 )
2.儲存並退出。:wq (助記:write quit) 或 按住,再按兩次z鍵
三、刪除類命令
1.刪除游標所在位置的字元:x (助記:像剪刀剪掉,同delete)。將游標置於要刪除的字元所在的位置,再按x鍵即可。
2.刪除從游標所在位置到乙個單字/單詞末尾的所有字元:dw( 助記:delete word)。注意:由於英文中每個單詞之間有空格但漢語中漢字之間沒有空格,而vim中的命令對單字/單詞的理解是以空格為界限的,所以對一行漢語執行此命令時,會將游標所在位置至游標所在行的所有字元刪除,效果與d$命令一樣。
3.刪除從游標所在位置至游標所在行末的所有字元:d$。
4.刪除游標所在行的所有字元:dd (助記:delete delete 兩個刪除,刪除全行)。處於游標左邊的本行字元也會被刪除。
四、插入類命令
1.在游標所在位置之前插入:i ; 在當前行行首插入:i 。
2.在游標所在位置之後插入:a ;在當前行行尾插入:a 。
助記(i或i -> insert before ;a 或 a -> inset after )
五、複製、剪下和貼上命令
1.複製和貼上
普通模式中使用y複製
yy 複製游標所在的整行(3yy表示複製3行)y^ 複製至行首,或y0。不含游標所在處字元。y$ 複製至行尾。含游標所在處字元。yw 複製乙個單詞。y2w 複製兩個單詞。yg 複製至文字末。y1g 複製至文字開頭。3yy表示複製3行)
y^ 複製至行首,或y0。不含游標所在處字元。
y$ 複製至行尾。含游標所在處字元。
yw 複製乙個單詞。
y2w 複製兩個單詞。
yg 複製至文字末。
y1g 複製至文字開頭。
普通模式中使用p貼上
p(小寫):代表貼上至游標後(下邊,右邊)p(大寫):代表貼上至游標前(上邊,左邊)
2.剪下和貼上
dd 其實就是剪下命令,剪下當前行ddp 剪下當前行並貼上,可實現當前行和下一行調換位置正常模式下按v(逐字)或v(逐行)進入可視模式然後用jklh命令移動即可選擇某些行或字元,再按d即可剪下ndd 剪下當前行之後的n行。利用p命令可以對剪下的內容進行貼上:1,10d 將1-10行剪下。利用p命令可將剪下後的內容進行貼上。:1, 10 m 20 將第1-10行移動到第20行之後。
正常模式下按v(逐字)或v(逐行)進入可視模式
然後用jklh命令移動即可選擇某些行或字元,再按d即可剪下
ndd 剪下當前行之後的n行。利用p命令可以對剪下的內容進行貼上
:1,10d 將1-10行剪下。利用p命令可將剪下後的內容進行貼上。
:1, 10 m 20 將第1-10行移動到第20行之後。
六、開啟類命令
1.在游標所在行的下方開啟新的一行並進入插入模式:o(助記:小寫字母,無需上檔鍵)。
2.在游標所在行的上方開啟新的一行並進入插入模式:o (助記:大寫字母在按shift,上檔鍵,上方插入空行)。
七、更換類命令
1.改變從游標所在位置到游標所在單詞/單字末尾的所有字元,並進入插入模式:cw。
2.改變從游標所在位置到游標所在行的所有字元,並進入插入模式:c$。
八、替換類命令
1.替換游標所在位置的字元:r。讓游標處於將要被替換的字元所在的位置,按下r,並鍵入新的字元。
2.連續替換游標所在位置後的字元:r。
(助記:r 或 r -> replace )
九、修正錯誤的命令之一
1.將游標所在行第乙個old字元替換為new字元。:s /old/new
2.將游標所在行內所有old字元替換為new字元。:s /old/new/g
3.將兩行之間的所有old字元替換為new字元,#指行號。:#,# s /old/new/g
4.將檔案內所有old字元替換為new字元。:% s/old/new/g
5.將檔案內所有old字元替換為new字元,並在替換時詢問是否確認替換。:% s/old/new/gc
十、置入類命令
將最後一次刪除的內容置入游標之後:p。
十
一、撤銷類命令
1.撤銷最後執行的命令:u (助記:un do)。
2.撤銷對整行的所有操作:u。
3.恢復撤銷的命令:ctrl-r (助記:redo) 。
十
二、定位及獲取檔案狀態
1.顯示游標所在行的位置及檔案狀態資訊:ctrl-g (助記:go)。
2.直接跳轉到指定的行:shift-g。先鍵入行數,再按下shift-g。
十
三、查詢配對括號
查詢游標所在括號的配對括號:%。按下%後游標會自動跳轉到配對的括號處,再按一次,跳回到原括號處。
十
四、搜尋類命令
十
五、儲存檔案
1.將對檔案的改動儲存到檔案中。:w filename
2.儲存檔案的部分內容,#指行號。:#,# w filename
十
六、提取和合併檔案
在當前檔案游標所在處插入另外的檔案內容。:r filename
十
七、在vim內執行外部命令
:! command
十
八、設定類命令
:set command
十
九、命令與物件
vim中的命令遵從一定的格式,下面以刪除命令(d)為例進行說明。
[number] d object 或者 d [number] object
number指執行命令的次數,可選,預設設定為1。d代表刪除,是命令名。object指命令所要操作的物件。對d而言包括:w(從當前游標到單詞/單字末尾,包括空格)、e(從當前游標到單詞/單字末尾,不包括空格)和$(從當前游標到當前行末)。
參考:vim 移動操作詳細說明
學會這21條,你離vim大神就不遠了
vim 學習
vim最簡單的補全方式
早就知道vim的ypm,但是覺得配置簡直太磨人了,本著夠用好用就行的原則,找到了vim auto popmenu,想要配置簡單的同學,可以直接c c,c v即可,對配置檔案有潔癖的同學請看官方 0 原生自動補全 其實vim本身自帶自動補全,但是不知道什麼原因,自動補全不是自動彈出的那種,能從當前檔案...
最簡單的linux命令入門
最簡單的linux命令 1 基本 uname 2 目錄命令 ls 列出目錄內容 ls l pwd 列印當前目錄 cd 切換目錄 cd.上級目錄 cd 根目錄 mkdir 建立目錄 rm r 刪除目錄 cp r 複製目錄 3 u盤操作 lsblk 列出裝置 比如從u盤拷貝東西 dd 4 超級使用者 s...
史上最簡單的帶流控功能的http server
yes,that s it 總共三十幾行 bytes per second用於指定每秒傳輸的最大位元組數。127.0.0.1 是伺服器監聽的ip。8000為http server監聽的port。這就是為什麼寫python程式是一種享受的原因。號稱battery include的python,人用人愛...