成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

VIM小技巧合集(持續(xù)更新)

ninefive / 1463人閱讀

摘要:如果批量就更麻煩。不過這樣設(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注釋的方法
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ū)別。
其它注釋插件大同小異,就不都說了。

Vim里Insert模式下不能按Backspace刪除前面的內(nèi)容

因?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ù)上次的命令,不用再輸一遍命令。

為什么Vim左下角總顯示"recording"

這是因?yàn)椴恍⌒陌吹搅?b>q鍵,進(jìn)入了錄制宏模式。
再按以下q就退出了。

Vim支持鼠標(biāo)滾動界面

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ù)制到剪切板。

Vim里批量查找替換文字

沒有一般編輯器按快捷鍵那么方便,需要以輸入一條命令的方式才能執(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.txt
Vim 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支持帶VIM
brew install vim --with-cscope --with-python --with-lua --override-system-vim
vimrc導(dǎo)入另一個文件

VIM也有source語法,可以用來導(dǎo)入文件:

source ~/.vimrc-keymappings
VIM跳到函數(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

相關(guān)文章

  • VIM插件合集持續(xù)更新

    摘要:它的名字其實(shí)是的組合。然后就會跳轉(zhuǎn)到插件安裝界面,并自動下載安裝上面列出來的插件。刪除插件直接在里把的那一行刪除,然后在里運(yùn)行即可,然后將下該插件的目錄刪除。的插件官方鏈接。這個插件是可以像一樣快捷多選文本的插件。 Vim 安裝插件管理器Vundle 安裝插件前,一般都會用到Vundle這個插件包管理器。它的名字其實(shí)是Vim bundle的組合。安裝方法可以參考官網(wǎng),說的很詳細(xì)。簡單說...

    guqiu 評論0 收藏0
  • VIM問題合集持續(xù)更新

    摘要:在模式下粘貼速度很慢的問題一般當(dāng)我們在模式下粘貼一段超大量的文本,比如行。更新后無法打開問題很久不使用安裝東西,安裝了一個小軟件,結(jié)果直接更新到版本,然后導(dǎo)致完全無法打開。 Vim 在Insert模式下粘貼速度很慢的問題 一般當(dāng)我們在Insert模式下粘貼一段超大量的文本,比如1000行。那么Vim會變得奇慢無比,大概半分鐘? 所以,如果我們要粘貼文本,需要用另一種方法:在Normal...

    RyanHoo 評論0 收藏0
  • VIM替代插件的原生功能合集持續(xù)更新

    摘要:搜索過程中才發(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...

    468122151 評論0 收藏0
  • 技巧 - 收藏集 - 掘金

    摘要:然而學(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ù)...

    A Loity 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<