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