分享兩個(gè)冷門但又超實(shí)用的 Vim 使用技巧!


點(diǎn)擊「閱讀原文」查看良許原創(chuàng)精品視頻。
作者:Mike
來自:奇妙的Linux世界
點(diǎn)擊「閱讀原文」查看良許原創(chuàng)精品視頻。
作者:Mike
來自:奇妙的Linux世界
最近在使用VIM時(shí)遇到兩個(gè)新的問題,覺得還很挺有價(jià)值的?,F(xiàn)在將處理方法總結(jié)后,分享給大家。
VIM 中 delete(backspace)鍵不能向左刪除
MacOS 下打開 vim 編輯文本,進(jìn)入插入模式,要刪除編輯之前的保存過的幾個(gè)字符,按下 delete 鍵刪除它們,萬萬沒想到呀!只聽到 "duang duang duang”,竟然無效!
有一點(diǎn)先明確一下,在 Mac 的鍵盤中沒有 backspace 鍵,有個(gè)鍵叫 delete,其實(shí)相當(dāng)于 Window 下的 backspace 鍵,編輯文本時(shí)按下都具有向左刪除字符的功能。
問題的原因
網(wǎng)上搜索得知,出現(xiàn)開頭說的令人惱火的問題的原因是:
VIM 使用了 compatible 模式,或者把 backspace 變量設(shè)置為空。其實(shí) compatible 模式是 VIM 為了兼容 VI 而出現(xiàn)的配置,它的作用是使 VIM 的操作行為和規(guī)范和 VI 一致,而這種模式下 backspace 配置是空的。即意味著 backspace 無法刪除 indent , end of line , start 這三種字符。
在默認(rèn)狀態(tài)下,delete(backspace)按下只會刪除本次插入模式下插入的文本,這跟 backspace 的模式設(shè)置有關(guān),其模式可以設(shè)置為以下三種模式:
0?same?as?“:set?backspace=”?(Vi?compatible)
1?same?as?“:set?backspace=indent,eol”
2?same?as?“:set?backspace=indent,eol,start”
問題的解決
知道原因后,就好解決了,我們只需要將 backspace 的模式設(shè)置成 2 就可以了。
編輯 ~/.vimrc 文件并添加以下內(nèi)容并保存,下次進(jìn)入 VIM 就可以在插入模式下任意使用 delete(backspace)鍵了:
"?解決插入模式下?delete/backspce?鍵失效問題
set?backspace=2
使用 vim-airline 美化你的狀態(tài)欄
之前一直使用 Powerline 進(jìn)行狀態(tài)欄美化,系統(tǒng)升級到 macOS 10.15.5 后突然發(fā)現(xiàn)不能正常使用了。
使用 Google 搜索解決問題無果后,發(fā)現(xiàn)了另一款更輕量且功能強(qiáng)大的狀態(tài)欄美化神器 vim-airline。
vim-airline 是一個(gè)在 VIM 中顯示更友好的狀態(tài)欄的插件,可以讓你工作更開心喲!
項(xiàng)目地址:https://github.com/vim-airline/vim-airline
先看下效果,是不是很漂亮呢!

安裝 vim-airline
vim-airline 的使用也很簡單,你只需直接下載 vim-airline 插件并放到 VIM 的安裝目錄下的插件目錄即可。
$?git?clone?https://github.com/vim-airline/vim-airline.git
$?cp?vim-airline/plugin/airline.vim?~/.vim/plugin/
$?ls?~/.vim/plugin
airline-themes.vim?airline.vim
當(dāng)然你也可以直接使用多種 VIM 插件管理器來安裝 vim-airline 插件,比如:

配置 vim-airline
vim-airline 安裝完成后,基本上就完全可以使用了。如果你需要定制一些個(gè)性化的需求,也可以通過 .vimrc 文件進(jìn)行配置。下面是我的配置,你可以參考下:
if?!exists('g:airline_symbols')
let?g:airline_symbols?=?{}
endif
let?g:airline_left_sep?=?'?'
let?g:airline_left_alt_sep?=?'?'
let?g:airline_right_sep?=?'?'
let?g:airline_right_alt_sep?=?'?'
let?g:airline_symbols.linenr?=?'?'
let?g:airline_symbols.branch?=?'?'
"?是否打開tabline
let?g:airline#extensions#tabline#enabled?=?1
let?g:airline_theme='powerlineish'
set?laststatus=2
set?encoding=utf-8
set?t_Co=256
set?fillchars+=stl:\?,stlnc:\
set?term=xterm-256color
set?termencoding=utf-8
set?nocompatible
set?number
syntax?enable
set?backspace=2
vim-airline 除了自帶的樣式外,你還可以通過官方主題倉庫 vim-airline-themes 項(xiàng)目找到更多漂亮又好用的主題喲!
項(xiàng)目地址:https://github.com/vim-airline/vim-airline-themes

參考文檔
https://www.smslit.top/2016/11/27/vim-backspace-invalid/
http://cenalulu.github.io/linux/why-my-backspace-not-work-in-vim/
推薦閱讀:
5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號內(nèi)回復(fù)「1024」,即可免費(fèi)獲取?。?/span>
