美文网首页Vim
【进击的Vimmer】vim配置与vimrc文件详解

【进击的Vimmer】vim配置与vimrc文件详解

作者: 为梦浇水 | 来源:发表于2017-10-20 11:10 被阅读109次

都知道vim具有高度的可配置性,虽然有大神说过原生的vim可以做插件提供的90%的功能,但是那也是需要一定的境界,不说别的,就vim那出厂界面就会吓走一批强迫症患者了。所以入手vim的话,第一步肯定是要将她配置成我们心中那美好的形态,不然真的下不来手。

首先是下载合适的vim版本,linux下都是可以实现一键安装,倒是windows下可能会下载错,你下载的可能是32位的版本,32位的不支持64位的python,所以建议下载64位的vim

以下是本人vim配置的效果图,说不上多么高大上,至少是适合自己的,需要注意的是这个版本需要有python的支持,如果没有python的话,某些插件可能无法正常使用。

配置完成的vim

是不是迫不及待自己也想拥有一个呢,我们都是坚定的“拿来主义”者,半小时内就可以搞定,只需要以下2个步骤:

1、相关依赖

linux/mac:

sudo apt-get install curl vim exuberant-ctags git ack-grep


sudo pip install pep8 flake8 pyflakes isort yapf

windows:

下载Git 和 Curl,下载安装python3.6

2、复制配置文件

配置文件在Zhu-Jun/.vimrc,如果是linux/mac用户,那么将里面的.vimrc拷贝到~/目录下,如果是windows用户,将_vimrc拷贝到%USERPROFILE%目录下,一般是C:\Users\XXX\(XXX是用户名)。

以上两步之后,打开vim,它会自动加载需要的内容,大概10-5分钟,至此,vim已经配置完成,windows下如果报缺少lua53.dll,需要下载一个放到vim的安装目录下。

下面介绍一下vimrc文件的一些比较重要的内容。

基本设置

set nocompatible                        " 不兼容vi模式

set langmenu=en_US                      " 菜单语言 中文为 zh_CN

set fileencodings=utf-8,chinese,latin-1

set fileencoding=utf-8                  " 中文不乱码了,世界都好了

set number                              " 窗口左侧显示行号

set relativenumber                      " 配合number,更高效的行间跳转

au GUIEnter * simalt ~x                " vim 以最大化打开

set ignorecase                          " 查找时忽略大小写

set smartcase                          " 当输入中含有大写的时候会强制区分大小写

set incsearch                          " 输入进行中实时匹配查找到的字符串

set autoindent                          " 用来自动缩进

set smartindent                        " 自动判断缩进长度,一般适用于类C语言

set expandtab                          " 用一定的空格来代替tab

set tabstop=4                          " tab占4个空格

set softtabstop=4                      " 设置expandtab的情况下,输入backspace删除的空格

set shiftwidth=4                        "一般情况下tabstop=softtabstop=shiftwidth,这样不会乱

上面比较容易搞乱的应该tab相关的内容了,如果你还是很乱,可以看看这里:Tabs and Spaces

key-notation(键位标识)

key跟标识的对应关系,详情可见:help key-notation

map

map可以理解成键位的映射,如:

nmap G Gzz 

上面指令的作用是在normal模式下将G(表示移动的最后一行)映射 Gzz(移动到最后一行+居中,zz表示居中),也就是命令生效之后,G就跟Gzz有相同的作用。

其中n表示在normal模式下起作用,同理,vmap表示在visual模式下,具体对应规则见下图:

map与mode的对应关系

值得注意的是nmap一般写成nnoremap比较好,中间的nore表示no recursion,不递归,比如

nmap w ww


nmap ww www

上面两句话导致的结果是按完一次w之后,光标会不断地向后移动,因为w触发ww,而ww又会触发w,如此递归下去,如果改成nnoremap w ww之后就不会再出现这个问题。

如果map的第二个参数是以:开头,那么表示映射的内容在命令行中生效,如

map tn :tabn<CR>

上面指令的意思是,输入tn,相当于①输入:(进入命令行模式)②输入tabn(跳到另一个tab页面)③输入回车

mapleader

这是vim中一个很重要的概念,leader的存在可以非常灵活地自定义快捷方式,很大地提高编辑的效率。

let mapleader=","

nmap <leader>h ^

默认的leader键是\,这还是有点反人类的,所以上面的第一句的意思是将leader键设置成逗号“,”,你也可以根据自己的喜好设置成空格(let mapleader = "\<space>")等,第二句话的意思表示当你再normal模式下输入,l(逗号+h),那么光标会移动到行首,是不是比按<Shift>+6方便不少?

Vundle

vim的扩展性很大程度上来自于各种插件的存在,一般情况下你可能会用到非常多的插件,如上面的配置文件中就有30多个插件,这么多的插件管理起来还是很麻烦的,增啥改查都很头疼,有了vundle就再也不怕了,如果你用了上面提供的配置文件的话,其实你已经见识到了它的强大,因为它已经默默帮你装了30多个插件。

set rtp+=~/vimfiles/bundle/Vundle.vim  "表示vundle的位置在Vundle.vim下

call vundle#begin('~/vimfiles/bundle/')  "表示插件存放的位置在bundle下

如果想添加什么插件只需要call vundle#begin和call vundle#end之间添加github上的插件位置,然后执行PluginInstall。删除更简单了,只需要将Plugin那一行去掉或者注释掉,然后执行PluginClean,接着输入Y就OK了,插件升级执行PluginUpdate一键搞定。需要注意的是PluginInstall和PluginClean之间可能需要先保存然后重启

如果你修改了vimrc文件后想立即生效,但是又不想重启,有什么解决的办法吗?当然有,只需要so  ~/.vimrc(so ~/_vimrc),其中so表示source。 如果你当前编辑的文件就是vimrc文件的话,那么so %就够了,其中%是一个特殊的寄存器,表示当前文件的名称,具体可以:help registers。

插件非常多,Vim Awesome上提供了非常详细的插件列表,总有几个是你的菜,在此我只推荐一个插件:

Plugin 'ianva/vim-youdao-translater'

有很多插件的官方文档缺少中文说明,说多都是泪,如果你的英语足够好,那就没必要了。这个插件其实就是有道翻译,用法很简单,Ctrl-t会翻译光标下对应的单词,<leader>yd 可以让你输入想翻译的单词。

Abbreviate

在idea intellij中有大量代码可以通过Ctrl-j完成,比如sout然后ctrl-j就可以快速生成System.out.println()。vim也不落后,只不过需要你自己去思考要配置哪些适合自己的缩写,一般用来缩写的都是使用频率不高的词,不然反而会降低效率,比较常见的有:

iabbrev teh the 或者 iab teh the

当你把the输错成teh时,会自动帮你更正为the。跟map类似,iab中的i表示作用在insert模式下,cabbrev(cab)仅作用于命令行模式,abbrev  (ab )作用于所有模式下,触发缩写替换的快捷键是CTRL-]


配置里面其它的很多内容都牵涉到vimscript,相信有一定编程基础的话读起来还是不费劲的,留着以后慢慢摸索也不迟。

相关文章

  • 【进击的Vimmer】vim配置与vimrc文件详解

    都知道vim具有高度的可配置性,虽然有大神说过原生的vim可以做插件提供的90%的功能,但是那也是需要一定的境界,...

  • Vi学习

    趁着台风,在家学习学习vi vim的配置 .vimrc文件是vim的配置文件,位于~/.vimrc, vim的字体...

  • .vimrc文件的配置

    通过配置./vimrc 文件,我们可以优化vim编辑器的使用,提高开发效率。 vim ~/.vimrc

  • vim 配置 行号 以及高亮

    在终端输入以下命令来编辑vimrc配置文件: sudo vim /etc/vim/vimrc或者sudo gedi...

  • vim简单操作与配置

    vim 编辑器之神Emacs 神的编辑器 vim配置 ~/.vimrc 配置文件 vimplugin 管理vim插...

  • VIM 学习

    VIM配置 永久配置 在当前用户目录下,创建 .vimrc 配置文件, 将需要配置vim指令在该文件内配置即可 显...

  • vim 读写 gbk 编码的文件

    处理 vim 打开 gbk 文件乱码 vim ~/.vimrc 配置如下内容 vim 会依次尝试 fileenco...

  • Mac vim 基础配置

    首先执行 cp /usr/share/vim/vimrc ~/.vimrc 拷贝默认的配置文件 接着vi...

  • VIM操作

    待整理~ 1、vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptname...

  • VIM显示行号以及各种配置文件

    1、在unbutu中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc 2、显示行号 进入vim...

网友评论

    本文标题:【进击的Vimmer】vim配置与vimrc文件详解

    本文链接:https://www.haomeiwen.com/subject/lvtuuxtx.html