這兩天閒一點,繼續寫起來。
今天來寫一點自己在運用vi&&vim過程中的經驗和體會,以下的內容基本都是本人實際使用過的。今後如果用到了什麼新鮮玩意兒,再加進來。
寫的比較簡單,都是追求自己能看懂就行,奉行拿來主義的恐怕要實際操作和查資料才能明白了。
基本操作:(簡單列舉下,不多說了)
w、q、wq、q!、w!,
i、dinsert、delete、backspace、pageup、pagedown、home、end、tab等等鍵盤上的幾個鍵,用法不多說了。
g,文件開頭
g,文件結尾
查詢:
/,單斜槓,查詢
n,下乙個
n,或者是ctrl+n,上乙個
撤銷與恢復:
u,撤銷這一步操作,多按幾次就多撤幾步,哈哈哈。
ctrl + r, 撤銷之撤銷,也可以說是恢復吧,按u之後,再按這個ctrl + r 可以抵消u的效果。
恩,我也只能解釋這麼多了,懂的自然懂。
替換:(我個人一般不傾向於用全域性的替換,一般都是乙個個的找出來替換掉,防止替換了什麼不該換的東西)
用/查詢到某一行或者游標放在某一行,然後輸入
:s/$/$ 這裡解釋一下$代表準備被替換的字串,$代表用來替換的字串
這條命令的作用只是替換當前行的首個目標字串。替換本行全部目標字串,需要用:s/$/$/g,我猜這個g應該是global的意思。
實際上這條命令還能實現刪除指定字元的功能,只要把$設為空就好。
多選:
v,可以選中一行中的多個字串或者整行,或者多行,甚至全文。
然後可以進行刪除或者格式化的操作。
如果不是刪除或者格式化的操作,而是按下了y, 那麼選中的這段,可以貼上在同乙個編輯器的別的地方,記住,是同乙個編輯器。
ctrl + v,多選列,選中多個列然後下拉,可以對選中區域刪除或修改。
刪除:
d,刪除整行,或者在v模式下刪除整段。
也可以輸入乙個數字,然後按下dd刪除多行,比如3,然後dd,刪除本行在內的以下三行。
刪除一列或多列:
其實還是多選的問題,還是要用到v這個命令,不過應該是ctrl + v,
ctrl v之後移動游標,選中要刪除的幾行幾列,按x或者d都可以刪除掉。
格式化**:
我一般就是v,選中幾行,然後按等號鍵=,當然,這是格式化某一段。
那格式化整篇**怎麼辦呢,其實還是差不多啊。
按g回到頁首,v進入visual模式,g(其實就是shift + g)到頁尾,然後等號=搞定,
但是有個前提是你把vim的配置檔案設定好縮排,後面會說這個設定檔案。
**比對:
vimdiff
命令模式下: vert diffsplit [filepath]
vim檢視二進位制檔案:
vim -b $ 開啟檔案,-b表示開啟binary檔案
:%!xxd xxd是binary轉16位,%和!表示什麼不是太清楚,%好像是表示當前路徑,待考證。
vim顯示行號:
:set number
或 set nu
取消顯示行號:
:set nonumber
或 set nonu
其實set這個命令有很多功能呢,目前用到最多就是個顯示行號,哈哈。
下面重頭戲來了,vim的配置檔案。
我在ls的時候總是習慣性的ls -a顯示隱藏檔案,哈哈哈,吐個槽。
言歸正傳:
cd /etc/vim/ 然後
vim vimrc 開啟配置檔案vimrc,這時候會顯示乙個有很多注釋的配置檔案
我們這時只需在檔案下面加幾行:
set tabstop=4 設定製表符寬度,tab、4個空格
set expandtab 設定4空格替換tab
set noexpandtab 設定tab替換空格這地方是個坑,不寫這一句,tab鍵下去還是8個空格?我也不太確定
-----------------------------
set softtabstop=4 設定製表符寬度
set shiftwidth=4 設定縮排寬度,4個空格
set smartindent 設定智慧型縮排
set cindent 設定c/c++方式縮排
set nu 設定顯示行號
set hlsearch 設定顯示高亮
嗯,這麼些差不多夠用了,今後有什麼再加吧。
2017,9,14補充:
vimdiff經常會將相同的部分摺疊起來,
開啟指定摺疊: zo
收回已開啟的摺疊:zc
開啟所有摺疊:zr
關於Linux 的一些用法
假設我們定義了乙個變數為 file dir1 dir2 dir3 my.file.txt 我們可以用 分別替換獲得不同的值 拿掉第一條 及其左邊的字串 dir1 dir2 dir3 my.file.txt 拿掉最後一條 及其左邊的字串 my.file.txt 拿掉第乙個 及其左邊的字串 file.t...
vi vim的一些使用技巧
插入模式 移動游標 vi可以直接用鍵盤上的游標來上下左右移動。刪除文字 x 每按一次,刪除游標所在位置的後面乙個字元。x 例如,6x表示刪除游標所在位置的後面6個字元。x 大寫的x,每按一次,刪除游標所在位置的前面乙個字元。x 例如,20x表示刪除游標所在位置的前面20個字元。dd 刪除游標所在行。...
關於ListCtrl控制項的一些用法
本人從今天開始將陸續把自己在vc 中學到的點點滴滴記錄下來。最近正好在跟著導師做乙個軟體專案,要用到listctrl控制項。下面結合自己的程式設計經驗 其實我還是個菜鳥 介紹幾個listctrl控制項常用的方法。我選用的是報表形式 1 為listctrl 設定 線 m mylist.setexten...