分享两个冷门但又超实用的 VIM 使用技巧
source link: https://www.hi-linux.com/posts/613.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
最近在使用 VIM
时遇到两个新的问题,觉得还很挺有价值的。现在将处理方法总结后,分享给大家。
VIM 中 delete(backspace)键不能向左删除
MacOS 下打开 vim
编辑文本,进入插入模式,要删除编辑之前的保存过的几个字符,按下 delete
键删除它们,万万没想到呀!只听到 "duang duang duang”,竟然无效!
有一点先明确一下,在 Mac
的键盘中没有 backspace
键,有个键叫 delete
,其实相当于 Window
下的 backspace
键,编辑文本时按下都具有向左删除字符的功能。
问题的原因
网上搜索得知,出现开头说的令人恼火的问题的原因是:
VIM 使用了 compatible 模式,或者把 backspace 变量设置为空。其实 compatible 模式是 VIM 为了兼容 VI 而出现的配置,它的作用是使 VIM 的操作行为和规范和 VI 一致,而这种模式下 backspace 配置是空的。即意味着 backspace 无法删除 indent , end of line , start 这三种字符。
在默认状态下,delete(backspace)按下只会删除本次插入模式下插入的文本,这跟 backspace 的模式设置有关,其模式可以设置为以下三种模式:
0 same as “:set backspace=” (Vi compatible) 1 same as “:set backspace=indent,eol” 2 same as “:set backspace=indent,eol,start”
问题的解决
知道原因后,就好解决了,我们只需要将 backspace
的模式设置成 2
就可以了。
编辑 ~/.vimrc
文件并添加以下内容并保存,下次进入 VIM
就可以在插入模式下任意使用 delete
( backspace
)键了:
" 解决插入模式下 delete/backspce 键失效问题 set backspace=2
使用 vim-airline 美化你的状态栏
之前一直使用 Powerline
进行状态栏美化,系统升级到 macOS 10.15.5 后突然发现不能正常使用了。
使用 Google 搜索解决问题无果后,发现了另一款更轻量且功能强大的状态栏美化神器 vim-airline
。
vim-airline 是一个在 VIM 中显示更友好的状态栏的插件,可以让你工作更开心哟!
项目地址: 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
当然你也可以直接使用多种 VIM
插件管理器来安装 vim-airline
插件,比如:
git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline
Remember to run
:Helptags
to generate help tags
[NeoBundle]
NeoBundle 'vim-airline/vim-airline'
[Vundle]
Plugin 'vim-airline/vim-airline'
[Plug]
Plug 'vim-airline/vim-airline'
[VAM]
call vam#ActivateAddons([ 'vim-airline' ])
[Dein]
call dein#add('vim-airline/vim-airline')
[minpac]
call minpac#add('vim-airline/vim-airline')
pack feature (native Vim 8 package feature)
git clone https://github.com/vim-airline/vim-airline ~/.vim/pack/dist/start/vim-airline
Remember to run
:helptags ~/.vim/pack/dist/start/vim-airline/doc
to generate help tags
配置 vim-airline
vim-airline
安装完成后,基本上就完全可以使用了。如果你需要定制一些个性化的需求,也可以通过 .vimrc
文件进行配置。下面是我的配置,你可以参考下:
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
项目找到更多漂亮又好用的主题哟!
项目地址: https://github.com/vim-airline/vim-airline-themes
最后,如果你还有什么好玩又实用的技巧,欢迎大家留言分享哟!
参考文档
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK