摘要:如果批量就更麻煩。不過這樣設(shè)置會導(dǎo)致每次用鼠標(biāo)選擇一段文本都會自動進(jìn)入模式,這樣的話我們就沒法復(fù)制到系統(tǒng)剪切板了。這時候,需要按住鍵然后再用鼠標(biāo)選擇文本,這樣一來就不會啟動模式,且可以復(fù)制到剪切板。鼠標(biāo)支持問題高版本默認(rèn)是支持鼠標(biāo)滾動的。
Leader鍵
參考:http://learnvimscriptthehardw...
Vim的默認(rèn)Leader前綴是鍵。
說白了,就是一個快捷命令的前綴。
一般比如cc,dd之類都被占用,映射起來不方便。所以加上前綴后,就可以追加各種自己喜歡的快捷命令了。
Vim里面注釋對初學(xué)者真是比較頭疼的事情。需要先$跳到行頭,i插入模式,輸入注釋,Esc退出插入模式。如果批量就更麻煩。下面是幾種常用方法。
原生方法一
Ctrl+v進(jìn)入Block選擇,向下移動選擇待注釋行,Shift+i批量插入,輸入注釋符,按兩次Esc退出,等幾秒實(shí)現(xiàn)批量注釋。
.vimrc配置文件法
在.vimrc中加入如下語句:
" Commenting blocks of code. autocmd FileType c,cpp,java,scala let b:comment_leader = "http:// " autocmd FileType sh,ruby,python let b:comment_leader = "# " autocmd FileType conf,fstab let b:comment_leader = "# " autocmd FileType tex let b:comment_leader = "% " autocmd FileType mail let b:comment_leader = "> " autocmd FileType vim let b:comment_leader = "" " noremap,cc : silent s/^/ =escape(b:comment_leader,"/") / :nohlsearch noremap ,cu : silent s/^V =escape(b:comment_leader,"/") //e :nohlsearch
然后注釋的快捷鍵是,cc,取消注釋是,cu。
插件法
常用插件有NerdCommenter,在vimrc的插件位置中加入Plugin "scrooloose/nerdcommenter",重新打開vim后輸入:PluginInstall后安裝成功。
注釋的快捷鍵是cc,反注釋是cu。其實(shí)和自己直接在vimrc中寫沒什么太大區(qū)別。
其它注釋插件大同小異,就不都說了。
因?yàn)槟J(rèn)當(dāng)前插入只能創(chuàng)建新內(nèi)容,不允許改動別的東西。如果要變成Insert mode下隨便編輯的模式,在~/.vimrc中加上:
set backspace=indent,eol,start
或者更簡單的set backspace=2,效果一樣。
Vim中Tab變Space等相關(guān)設(shè)置Tab和Space之爭和Vim于Emacs是一樣等,我是Vim和Space派。但是我和大多數(shù)人一樣喜歡按Tab出Space。
在~/.vimrc中設(shè)置如下,重啟vim就會生效:
set autoindent "換行時自動縮排 同時對應(yīng)的還有其它兩種模式 smartindent, cindent set tabstop=4 "設(shè)定tab寬度為4個字符 set shiftwidth=4 "設(shè)定自動縮進(jìn)為4個字符 set expandtab "用space替代tab的輸入 取消的話 就用set noexpandtab "不用space替代tab的輸入 retab "打開文件時自動轉(zhuǎn)換所有tab為空格Vim產(chǎn)生的.swp文件
參考文章:VIM不正常退出產(chǎn)生的swp文件
常用關(guān)于swp文件的命令或vimrc配置:
查看當(dāng)前目錄下的所有swp文件: vim -r
恢復(fù)文件:vim -r filename,上次意外退出沒有保存的修改,就會覆蓋文件。
停止vim產(chǎn)生交換文件:在~/.vimrc中加入set noswapfile
定時自動保存文件:
set updatetime=23000 " 設(shè)置每200個字符保存一次 set updatecount=400 " 設(shè)置每4秒保存一次 " set updatecount=0 " 不保存交換文件
設(shè)置交換文件默認(rèn)目錄:set directory=./tmp
Vim不會幫你自動保存當(dāng)前文件,但是它會幫你創(chuàng)建一個緩存文件,一旦不正常退出或掉線,你能通過這個文件快速recover恢復(fù)過去。
恢復(fù)文件的命令:
# 如果是在vim內(nèi) :rec # 如果是在vim外 vim -r FILENAME
參考:VIM不正常退出產(chǎn)生的swp文件
找到~/.vimrc加入這些內(nèi)容可以設(shè)置緩存文件:
" ---- Swap files (for recovery) ---- set swapfile "enable swap file set updatetime=23000 "save swap file every amount of ms set updatecount=20 "save swp file every amount of characters set directory=/tmp "set swp file directory.Vim自動運(yùn)行(或編譯運(yùn)行)文件
不像SublimeRepl需要安裝插件,Vim原生支持直接運(yùn)行python等代碼。只要輸入命令:
:!python %
其它語言代碼類似。
輸入命令后,vim界面會暫時跳出編輯頁面跳到終端頁面顯示執(zhí)行過程,期間可以按任意鍵返回vim編輯頁面。
輸過一次后,就可以用:!!直接重復(fù)上次的命令,不用再輸一遍命令。
這是因?yàn)椴恍⌒陌吹搅?b>q鍵,進(jìn)入了錄制宏模式。
再按以下q就退出了。
Mac下,Vim支持鼠標(biāo)滾動光標(biāo),通過光標(biāo)移動上下翻動頁面。但是這樣太別扭了,我們需要的是滾輪控制界面滾動,如vim中ctrl+e一樣的效果。
簡單:~/.vimrc中加一句set mouse=a即可。
不過這樣設(shè)置會導(dǎo)致每次用鼠標(biāo)選擇一段文本都會自動進(jìn)入visual模式,這樣的話我們就沒法復(fù)制到系統(tǒng)剪切板了。
網(wǎng)上說mouse后一個-好即可,如set mouse-=a,但是試過沒用。
這時候,需要按住Alt鍵然后再用鼠標(biāo)選擇文本,這樣一來就不會啟動v模式,且可以復(fù)制到剪切板。
沒有一般編輯器按快捷鍵那么方便,需要以輸入一條命令的方式才能執(zhí)行。
格式如下:
對當(dāng)前行執(zhí)行替換 :s/查找內(nèi)容/替換內(nèi)容/g
在全文執(zhí)行替換 :%s/查找內(nèi)容/替換內(nèi)容/g
對選中行中內(nèi)容進(jìn)行批量替換 用v模式選中行然后s/查找內(nèi)容/替換內(nèi)容/g
大概可以看到,s代表執(zhí)行search命令,%代表全文執(zhí)行,/是相當(dāng)于分隔符,g代表global對指定范圍內(nèi)所有結(jié)果進(jìn)行替換,如果沒有g那么只替換第一個找到的結(jié)果。
Vim 文件操作參考:在 Vim 中進(jìn)行文件目錄操作
# 新建文件/打開文件 : e [FILE-NAME] # 新建文件 (只打開半個窗口 另半個窗口保留之前的文件) :new [FILE-NAME] # 退出 (如果文件更改則保存) :x打開目錄
:e FOLDER-PATH " 編輯該目錄 :Explore . " 瀏覽該目錄 :Sexplore . " 在水平分割窗口中瀏覽該目錄 :Vexplore . " 在垂直分割窗口中瀏覽該目錄調(diào)用bash命令
# 列出文件 :!ls # 刪除文件 :!rm foo.txtVim Recording 錄制動作并重復(fù)
我不是很喜歡宏這個詞,很簡單的東西把它弄復(fù)雜了。
Vim記錄你的一系列動作很簡單,關(guān)鍵字是q。記錄并重復(fù)一系列的動作,只要這樣做:
按q和{0-9a-zA-Z}中任意一個字,比如q1,開始記錄動作。
狀態(tài)欄顯示:recording @1。
開始做一系列的動作,改詞,刪字,等等。
按q,結(jié)束當(dāng)前的記錄。
按@1,重現(xiàn)剛才記錄的動作。
Vim鼠標(biāo)支持問題Vim高版本默認(rèn)是支持鼠標(biāo)滾動的。但是在Tmux中就不可以。
這樣可以通過在~/.vimrc中設(shè)置set mouse=a來達(dá)到開啟鼠標(biāo)支持的左右。
a模式為all,即鼠標(biāo)的"完全支持模式": 在所有情況下都支持鼠標(biāo),包括鼠標(biāo)定位到某行,定位到某個單詞,雙擊選擇單詞,三擊選擇整行,甚至在tmux中也一樣。
但是set mouse=a有一個缺點(diǎn)不好解決就是:鼠標(biāo)選擇文字的話,會默認(rèn)進(jìn)入Visual模式。
Mac安裝帶lua、python支持帶VIMbrew install vim --with-cscope --with-python --with-lua --override-system-vimvimrc導(dǎo)入另一個文件
VIM也有source語法,可以用來導(dǎo)入文件:
source ~/.vimrc-keymappingsVIM跳到函數(shù)/類定義處
內(nèi)置:gd
在調(diào)用處按gd即可跳轉(zhuǎn)到函數(shù)定義處。
需要配合ctags
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25085.html
摘要:它的名字其實(shí)是的組合。然后就會跳轉(zhuǎn)到插件安裝界面,并自動下載安裝上面列出來的插件。刪除插件直接在里把的那一行刪除,然后在里運(yùn)行即可,然后將下該插件的目錄刪除。的插件官方鏈接。這個插件是可以像一樣快捷多選文本的插件。 Vim 安裝插件管理器Vundle 安裝插件前,一般都會用到Vundle這個插件包管理器。它的名字其實(shí)是Vim bundle的組合。安裝方法可以參考官網(wǎng),說的很詳細(xì)。簡單說...
摘要:在模式下粘貼速度很慢的問題一般當(dāng)我們在模式下粘貼一段超大量的文本,比如行。更新后無法打開問題很久不使用安裝東西,安裝了一個小軟件,結(jié)果直接更新到版本,然后導(dǎo)致完全無法打開。 Vim 在Insert模式下粘貼速度很慢的問題 一般當(dāng)我們在Insert模式下粘貼一段超大量的文本,比如1000行。那么Vim會變得奇慢無比,大概半分鐘? 所以,如果我們要粘貼文本,需要用另一種方法:在Normal...
摘要:搜索過程中才發(fā)現(xiàn)其實(shí)是自帶補(bǔ)全功能的,稱為。輸代碼的過程中,直接按然后再按,就會彈出猜測的一系列補(bǔ)全內(nèi)容。經(jīng)過測試,原生支持很多種語言。 How to Do 90% of What Plugins Do (With Just Vim) This collection is inspired by the youtube video: How to Do 90% of What Plug...
摘要:然而學(xué)習(xí)布局,你只要學(xué)習(xí)幾個手機(jī)端頁面自適應(yīng)解決方案布局進(jìn)階版附源碼示例前端掘金一年前筆者寫了一篇手機(jī)端頁面自適應(yīng)解決方案布局,意外受到很多朋友的關(guān)注和喜歡。 十分鐘學(xué)會 Fiddler - 后端 - 掘金一.Fiddler介紹 Fiddler是一個http抓包改包工具,fiddle英文中有欺騙、偽造之意,與wireshark相比它更輕量級,上手簡單,因?yàn)橹荒茏ttp和https數(shù)據(jù)...
閱讀 3059·2021-11-12 10:36
閱讀 4841·2021-09-22 10:57
閱讀 1617·2021-09-22 10:53
閱讀 2725·2019-08-30 15:55
閱讀 3521·2019-08-29 17:00
閱讀 3377·2019-08-29 16:36
閱讀 2493·2019-08-29 13:46
閱讀 1373·2019-08-26 11:45