Vim是几乎所有Unix系统中都会存在的少数文本编辑器之一。虽然最初的学习曲线是不可避免的,但Vim的目标是成为一个高效的文本编辑器,并提供一个根据用户喜好可配置的插件系统。它还支持数百种编程语言和文件扩展名。
本指南详细介绍了Vim文本编辑器的配置,旨在帮助那些有兴趣根据个人喜好自己定制Vim的人。我将介绍一系列用于定制Vim执行某些任务和响应用户输入的方法,以及插件管理系统。
在完成本教程之后,您将对Vim编辑器进行微调,使其行为更加智能,并获得管理外部插件的机会。
可以基于每个用户自定义Vim,也可以设置配置以应用于系统范围。也可以集成这两个选项 - 在您希望某些设置应用于系统上的所有帐户,以及其他设置仅适用于您自己的用户帐户的情况下非常有用。
本节中的配置将应用于所有用户帐户的系统范围。
/etc/vim/vimrc
或者etc/vimrc
,取决于您的Linux发行版。
注意:在编辑未授予用户帐户读和/或写权限的文件时,必须在命令前加上前缀 sudo。/etc/vimrc文件
1 2 3 4 5 6 7 8 | set showcmd› › " Show (partial) command in status line. set showmatch› › " Show matching brackets. set ignorecase›› " Do case insensitive matching set smartcase› › " Do smart case matching set incsearch› › " Incremental search set autowrite› › " Automatically save before commands like :next and :make set hidden›› " Hide buffers when they are abandoned set mouse=a› › " Enable mouse usage (all modes) |
---|
本节中的配置仅适用于活动用户帐户。
从Vim会话中,在主目录中创建.vimrc文件。以下内容包括大多数用户在任何情况下使用Vim时会发现有用的基本配置。您可以需要选择添加到个人.vimrc文件设置中。
〜/ .vimrc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | " Set compatibility to Vim only. set nocompatible " Helps force plug-ins to load correctly when it is turned back on below. filetype off " Turn on syntax highlighting. syntax on " For plug-ins to load correctly. filetype plug-in indent on " Turn off modelines set modelines=0 " Automatically wrap text that extends beyond the screen length. set wrap " Vim's auto indentation feature does not work properly with text copied from outisde of Vim. Press the <F2> key to toggle paste mode on/off. nnoremap <F2> :set invpaste paste?<CR> imap <F2> <C-O>:set invpaste paste?<CR> set pastetoggle=<F2> " Uncomment below to set the max textwidth. Use a value corresponding to the width of your screen. " set textwidth=79 set formatoptions=tcqrn1 set tabstop=2 set shiftwidth=2 set softtabstop=2 set expandtab set noshiftround " Display 5 lines above/below the cursor when scrolling with a mouse. set scrolloff=5 " Fixes common backspace problems set backspace=indent,eol,start " Speed up scrolling in Vim set ttyfast " Status bar set laststatus=2 " Display options set showmode set showcmd " Highlight matching pairs of brackets. Use the '%' character to jump between them. set matchpairs+=<:> " Display different types of white spaces. set list set listchars=tab:›\ ,trail:•,extends:#,nbsp:. " Show line numbers set number " Set status line display set statusline=%F%m%r%h%w\ FORMAT=%{&ff}\ TYPE=%Y\ POS=%l,%v\ BUFFER=%n\ %{strftime('%c')} " Encoding set encoding=utf-8 " Highlight matching search patterns set hlsearch " Enable incremental search set incsearch " Include matching uppercase words with lowercase search term set ignorecase " Include only uppercase words with uppercase search term set smartcase " Store info from no more than 100 files at a time, 9999 lines of text, 100kb of data. Useful for copying large amounts of data between files. set viminfo='100,<9999,s100 " Map the <Space> key to toggle a selected fold opened/closed. nnoremap <silent> <Space> @=(foldlevel('.')?'za':"\<Space>")<CR> vnoremap <Space> zf " Automatically save and load folds autocmd BufWinLeave *.* mkview autocmd BufWinEnter *.* silent loadview" |
---|
插件是一种定制Vim实例的强大方法; 他们可以授予您额外的功能,以帮助满足更具体的使用需求。
安装和管理插件的最有效方法是使用插件管理工具。下面提供了安装Vim-Plug的说明。
1. 安装curl。
基于Fedora / RHEL
sudo yum install curl
基于Debian
sudo apt install curl
Arch Linux
sudo pacman -Syy curl
2. 创建安装目录,下载并从Github安装Vim-Plug。
sudo curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
使用插件管理器可以自动安装和设置您选择添加的任何插件。
1.创建一个单独的文件来管理您的插件,以及一个用于存储它们的新目录。
touch ~/.vimrc.plug mkdir ~/vimplug-plugins
2. 在Vim编辑器中打开.vimrc并在底部添加以下文本以调用.vimrc.plug文件。
〜/ .vimrc
. . .
" Call the .vimrc.plug file
if filereadable(expand("~/.vimrc.plug"))
source ~/.vimrc.plug
endif
3. 现在,在Vim中打开.vimrc.plug文件。使用下面的内容填充文件以添加Fugitive Vim插件,即Github包装器。安装此插件后,您现在可以在Vim内运行Git终端!
注意需要在“plug#begin”和“plug#end”行之间添加要安装的任何其他插件。
〜/ .vimrc.plug
call plug#begin('~/.vim/plugged')
"Fugitive Vim Github Wrapper
Plug 'tpope/vim-fugitive'
call plug#end()
注意
如果在此步骤之后您收到类似于E117 Unknown Function: plug#end检查用户权限的错误,
则~/.vim/可能需要chmod -R 0755
4. 保存并关闭.vimrc.plug文件后,退出并重新启动Vim。最终安装过程是PlugInstall在命令模式下发出命令。这将在Vim中打开插件管理器并继续安装* vimrc.plug文件中列出的所有插件。安装的插件将在下次启动Vim时自动加载。
:PlugInstall
5. 下面列出了通过Vim-Plug管理插件的附加命令。
6. 上面列出的命令绝不是详尽无遗的。
大多数插件在安装时也提供支持文档,可以通过键入help命令模式和浏览
Local Additions部分来访问。
其实存在许多其他的插件和工具来增强您的Vim体验。Vim官方网站和在线维基提供了自定义Vim以及完整记录其可用功能和命令的其他方法。如果需要创建.vimrc文件的可视化和交互式方法,Vim-Config网站将简化该过程并自动生成该文件。
搜索其他插件的最佳位置之一是在VimAwesome网站上。Vim可用的大多数插件都在一个组织良好且易于搜索的环境中,以及所有最流行的插件管理工具的安装说明。
最后,如果你想深入了解Vim-Plug,项目的Github页面是一个很好的起点。所有这些网站的链接都在“ 外部资源”部分中提供。
有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部材料的准确性或及时性。
原文作者:Andrew Lescher
原文地址:https://www.linode.com/docs/tools-reference/tools/introduction-to-vim-customization/