用好Vim,事半功倍

2021-10-01 16:58:07 字數 3607 閱讀 2488

使用linux這麼久,vim一直是我最喜歡的文字編輯器,簡介、功能強大。那麼在這裡我寫一篇博文來總結一下,方便以後的查閱學習。

一般情況下,剛開啟vim,就是處在一般模式下,在這個模式下,可以做移動游標,複製,貼上,刪除等操作;在編輯模式或命令列模式下按esc就會退出編輯模式,進入一般模式。

編輯模式命令列模式

只有在一般模式下才能進入命令列模式,輸入==:, /, ?==這三個符號中的任意乙個,就會把游標移到最下面一行,進入命令列模式,在這個模式下,你可以進行查詢,儲存,替換,離開等操作。

按鍵功能

h或向左的箭頭

游標向左移動乙個字元

j或向下的箭頭

游標向下移動乙個字元

k或向上的箭頭

游標向上移動乙個字元

l或向右的箭頭

游標向右移動乙個字元

【ctrl】+【f】

螢幕向下移動一頁,相當於【pagedown】按鍵

【ctrl】+【b】

螢幕向上移動一頁,相當於【pageup】按鍵

【ctrl】+【d】

螢幕向下移動半頁

【ctrl】+【u】

螢幕向上移動半頁

【+】游標移動到非空格符的下一行

【-】游標移動到非空格符的上一行

數字n+【空格鍵】

游標向右移動的n個字元

或【home】

游標移動到這一行的最前面乙個字元處

【$】或【end】

游標移動到這一行的最後面乙個字元處

【h】游標移動到螢幕最上方那一行的第乙個字元處

【m】游標移動到個螢幕的中間那一行的第乙個字元處

【l】游標移動到螢幕最下方那一行的第乙個字元處

【g】游標移動到這個檔案的最後一行

數字n+【g】

游標移動到這個檔案的第n行

【gg】

游標移動到這個檔案的第一行

數字n+【enter】

游標向下移動n行

【/】+word

從游標開始向下查詢「word」這個字串

【?】從游標開始向上查詢「word」這個字串

【n】重複前乙個查詢的操作

【n】反向進行前乙個查詢的操作

【:n1,n2s/word1/word2/g】

n1和n2為數字,該操作是在第n1行到第n2行查詢word1這個字串,並將其替換為word2

【:1,$s/word1/word2/g

n1和n2為數字,該操作是從第一行到最後一行查詢word1這個字串,並將其替換為word2】

【:1,$s/word1/word2/gc

該操作是從第一行到最後一行查詢word1這個字串,並將其替換為word2,並且在每次替換前讓使用者確認是否替換】

【x】和【x】

在一行字當中,【x】為向後刪除乙個字元,相當於【delet】;【x】為向前刪除乙個字元,相當於【backspace】

數字n+【x】

在一行字當中,向後刪除n個字元

【dd】

刪除游標所在的那一整行

數字n+【dd】

刪除游標所在的向下n行

【d】+數字1+【g】

刪除從游標所在到第一行的所有資料

【dg】

刪除從游標所在到最後一行的所有資料

【d$】

刪除從游標所在到該行的最後乙個字元

【d】+數字0

刪除從游標所在到該行最前面乙個字元

【yy】

複製游標所在的那一行

數字n+【yy】

複製游標所在的向下n行

【y】+數字1+【g】

複製游標所在行到第一行的所有資料

【yg】

複製游標所在行到最後一行的所有資料

【y】+數字0

複製游標所在的那個字元到該行行首的所有資料

【y$】

複製游標所在的那個字元到該行行尾的所有資料

【p】和【p】

【j】將游標所在行與下一行的資料結合為同一行

【c】重複刪除多個資料,如向下刪除5行,則是【5cj】

【u】撤銷上乙個操作

【ctrl】+【r】

重做上乙個操作

【.】小數點.的作用是重複前乙個操作

按鈕功能

【i】和【i】

進入插入模式,【i】為在游標前插入;【i】為在游標所在行的第乙個非空格符處插入

【a】和【a】

進入插入模式,【a】為在游標所在的下乙個字元處插入;【a】為在游標所在的最後乙個字元處插入

【o】和【o】

【r】和【r】

進入替換模式,【r】只會替換游標所在的那個字元一次;【r】會一直替換游標所在的字元,直到按下【esc】為止

命令按鈕

功能【:w】

將編輯的資料寫入硬碟檔案

【:w!】

對唯讀檔案進行強制寫入,但還是要看許可權

【:q】

離開vim

【:q!】

強制離開vim,編輯過的檔案將不儲存

【:wq】

儲存後離開

【zz】

若檔案變動了,則儲存後離開,若沒有變動,則不儲存離開

【:w[filename]】

將編輯的檔案另存為另乙個檔案

【:r[filename]】

在編輯的資料中讀入另乙個檔案的資料,新增到游標所在行的後面

【:n1,n2 w[filename]】

將n1到n2之間的內容儲存成另乙個檔案

【:! command】

暫時離開vim,到命令列下執行command的顯示結果

【:set nu】

顯示行號

【:set nonu】

不顯示行號

按鈕功能

【v】字元選擇,將游標經過的地方選擇

【v】行選擇,將游標經過的行選擇

【ctrl】+【v】

塊選擇,可以豎著選

【y】將選擇的內容複製

【d】將選擇的內容刪除

按鈕功能

【:sp[filename]】

filename可以為空,主要功能是開啟乙個新視窗

【ctrl】+【w】+【j】/向下的箭頭按鈕

游標移動到下方的視窗

【ctrl】+【w】+【k】/向上的箭頭按鈕

游標移動到上方的視窗

【ctrl】+【w】+【q】/【:q】

退出視窗

配置檔案在/etc/vimrc中,但是不推薦更改這個檔案,我們可以更改~/.vimrc這個檔案,這個檔案預設不存在,但是可以新建,相當於個人設定 ?。

這個配置可以在vim介面輸入:set all來檢視,真的非常多,我們一般只配置常見的幾個,其他的有需要的話請檢視文件。

專案功能

:set nu

顯示行號

:set nonu

不顯示行號

:set autoindent

自動縮排

:set noautoindent

不自動縮排

:syntax on/off

是否開啟程式相關語法顏色顯示

vim是乙個功能非常強大的編輯器,我相信使用linux系統的很多人都在使用vim來處理一些工作或者程式設計,熟悉這些操作,讓你的vim之旅更加暢快,更加高效。

用好網路,用好電腦, 事半功倍

確實該更新筆記本了。那幾個筆記本,現在看來都不滿意。現在來說滿意的,應該是知名的,好的。早買早享受。今天買了吧。台式的電腦我已經有了。筆記本要不要?有沒有這個需要?相對於筆記本,我更喜歡台式的。既然如此,那麼電腦我就用台式的。那幾個膝上型電腦我就處理掉吧,基本都不會用到了。然後就是 網路我實際不滿意...

事半功倍,事倍功半?

在我們生活和工作中,並不總是拿結果來衡量優與劣,而是大多要加上一點 做事效率。正如我們題目所講的 別人用了一半的時間或者精力出色的完成了一項任務,而你卻用了他多倍的時間或者精力完成了這項任務,甚至結果還不如他人,為什麼?普遍來說我們可以忽略智力因素,畢竟沒幾個 天才 剩下的也許我們只能歸結於學習方法...

事半功倍,事倍功半?

在我們生活和工作中,並不總是拿結果來衡量優與劣,而是大多要加上一點 做事效率。正如我們題目所講的 別人用了一半的時間或者精力出色的完成了一項任務,而你卻用了他多倍的時間或者精力完成了這項任務,甚至結果還不如他人,為什麼?普遍來說我們可以忽略智力因素,畢竟沒幾個 天才 剩下的也許我們只能歸結於學習方法...