vim的命令模式下,對(duì)于頻繁使用的復(fù)雜命令, 應(yīng)該怎么簡(jiǎn)化? 是不是設(shè)計(jì)快捷鍵就可以了?
本人經(jīng)常使用一個(gè)替換命令 :0,$s/t/ /g 就是將tab鍵替換成4個(gè)空格.
對(duì)于新建的文件, 本人已經(jīng)在配置文件中做了配置. 只是別人的文件經(jīng)常出現(xiàn)tab鍵.
每次我都要替換一下.
對(duì)于vim設(shè)置快捷鍵,我還不太熟悉, 可以用快捷鍵嗎? 怎么設(shè)置? 用快捷鍵替換:0,$s/t/ /g 常用命令
可不可以,在vim打開文件的時(shí)候,自動(dòng)轉(zhuǎn)換, 這樣連快捷鍵都不用設(shè)置了?
首先感謝下面的回答者, 我是在他們給的解釋上, 閱讀幫助文檔, 最后得出的個(gè)人覺得合理的方法
快捷鍵肯定是可以的, 但是需要記住快捷鍵. 對(duì)于我目前的問題, 我選擇自動(dòng)轉(zhuǎn)換比較好.
首先:help ret
查看文檔, 這里我想說的是, 替換的時(shí)候, 小心替換程序中字符串中的\t
字符
:help auto
查看文檔, 不多說了.
查看.vimrc文件, vimrc文件中, 已經(jīng)有了if has("autocmd")
部分, 把對(duì)應(yīng)的命令寫在一起就可以了.
autocmd BufRead *.cpp,*.h :ret
這個(gè)自動(dòng)替換命令, BufRead和BufReadPost是一樣的. 這里要注意一下:模式選項(xiàng),最好不要用*,具體替換什么類型的文件, 將后綴寫出來.防止其他格式文件的誤替換.
這個(gè)替換命令,只是替換Buf緩存中的內(nèi)容, 如果沒有修改, 沒有保存. 是不會(huì)寫入的. 直接退出的話, 沒有任何修改的話, vim不會(huì)提示你保存, tab鍵依然存在. 這個(gè)不傷大雅.
最后,再次感謝下面的回答者.新年快樂.
小伙看你根骨奇佳,潛力無限,來學(xué)PHP伐。
先來拋磚引玉:
既然你已經(jīng)有了操作,那么為這個(gè)操作設(shè)置一個(gè)快捷鍵是很簡(jiǎn)單的,比如這樣將這個(gè)快捷鍵設(shè)置為 normal mode 下的 <Leader>ts
-- nnoremap <Leader>ts :0,$s/t/ /g<CR>
, 大概是 希望快捷鍵映射的模式 快捷鍵 操作
。
第二個(gè)可以使用 autocmd BufRead * :%ret! 4<CR>
, 將整個(gè)文件的 tab 轉(zhuǎn)換成 space,每個(gè) tab 用 4 個(gè) space 替代. ret 指的是 replace tab, 更多內(nèi)容可以 :help ret
, :help autocmd
, :help event
, :help BufRead
.
vim 有一個(gè)命令叫做 :retab
(我有可能記錯(cuò)了,但應(yīng)該差不離),可以轉(zhuǎn)換 tab 為 space,你可以查閱一下相關(guān)的 help,經(jīng)常使用的話可以把它綁定一個(gè)按鍵。
世界上最牛的編輯器: Vim 1 (原創(chuàng)動(dòng)圖演示所有例子) http://www.imooc.com/article/...