文档章节

如何设置Vimrc

l
 lywon
发布于 2016/11/22 03:13
字数 1398
阅读 4
收藏 0

How To Vimrc

在炮制你自己的.vimrc配置时, 这里只有一个原则.

不要把任何你不理解的一行放到你的vimrc中.

互联网上有以吨计的入门手册, 诸如这篇文章. 它们之中包含各种令人惊叹的Hack技巧, 这可以记你的Vim更好, 但为了让你的环境更好完全从别人那儿照搬那些配置, 完全是 最糟糕 的做法.

真真切切地花一些时间来学习你的编辑器的构造, 其价值无可估量. 从投影仪上手抄下来通常会有且于增多的信息逐渐保留, 同样的道理, 将特性一个一个地添加到你的vimrc有助于提高你对Vim的总体理解程度.

因此, 这篇文章余下部分将会是我来解释我当前vimrc中的全盘使用的每一行, 希望你能在其中找到你此前没有见到的技巧. 但, 我的vimrc离完美还差得远.  我也一直在寻找可以使我的环境更好的东西添加进来, 所以如果你认为我遗漏了什么重要的东西, 敬请告之: @duogblackio.

我将按逻辑分成几个部分

  •   颜色

  •   空格与制表

  •   UI配置

  •   搜索

  •   折叠

  •   自定义移动

  •   自定义Leader按键

  •   Ctrlp设置

  •   启动配置

  •   Tmux配置

  •   Autogroups

  •   备份

  •   自定义函数

  •   组织

  •   折叠起来

这篇文章几乎肯定会落后于我最近的vimrc, 你可以在 github 上找到最新的vimrc版本.

Colors

    colorscheme badwolf         " awesome colorscheme

颜色! 配色方案是主观的, 我当前是安顿在Steve Losh所写的badwolf上了. 我发现solarized难以至信的完整, 但也发现就我的品味而言它也那么点儿乏味. 我的大量的时间也是和 molokai 度过的. 并且我仍然认为 molokai 是一个非常好的配色方案, 只是当前更偏好 badwolf.

继续前进

    syntax enable           " enable syntax processing

注释足以说清它的意思.  我将借这点时间, 尽可能地添加注释, 以避免你的vimrc没有此中的任何一行. 如果你像我一样, 文件写得很长, 基本上你不会一直记住每一行在做什么, 所以添加注释有助于你以后能知道这些都是什么鬼.

另外, 许多 vim 中的设置既有长名又有短名. 例如 background 和 bg 是一样的. 为了此后的可读性, 我强烈建议使用长名.

Spaces & Tabs

要使 tabs/spaces 能像你期望那样正常工作, 你必须将如下像咒语一样的符号, 扔到你的vimrc中. 你可能对这串符号相当困惑, 所以这儿有让你快速进修的说明.

    set tabstop=4       " number of visual spaces per TAB

tabstop 就是视觉上显示的一个 <TAB> 算作的空格个数. 所以, 当 vim 打开文件读取到一个 <TAB> 字符时, 就会使用这么多个空格来显示 <TAB>.

    set softtabstop=4   " number of spaces in tab when editing

编辑时一个 <TAB> 算作的空格数. 所以这既是你插入 <TAB> 时插入的空格数, 也是你用 backspace 移除的 (译注: 连续的) 空格数.

    set expandtab       " tabs are spaces

expandtab 会将 <TAB> 转换为多个空格. 仅此而已. 所以 <TAB> 仅仅成为了 "插入4个空格" 的快捷键.

(以上几个配置)一起拿走吧, 这些选项是非常不错, 对于编辑那些偏好空格而不是 tab的语言, 因为这可以确保不会使用 <TAB>. 我每天花大多数时间与python与bash打交道, 二者的规范中写明了要使用空格. 我喜欢它, 因为它意味着我的源代码在所有的机器上看起来都是一样的.

UI Config

这些选项会改变 vim 中那此散乱的视觉材料.

    set number              " show line numbers

显示行号, 不解释.

    set showcmd             " show command in bottom bar

showcmd 显示在最右下角展示最近输入的命令. 我虽然在这里设置了, 但实际上由于我使用powerline插件(稍后我们会涉及到), 所以在我的vim中找不到这一行的.

    set cursorline          " highlight current line

cursorline 会突出显示(或加下划线, 取决于你的本色方案)你的光标当前所在水平行. 我发觉当你 vim 的多个窗口来回切换或离开 vim 后再切换回来, 这样更容易找到离开时那一行.

    filetype indent on      " load filetype-specific indent files

这既开启文件类型检测, 又开启基于此检测的与语言相关的缩进文件. 对于我来说, 这意味着, 每当我打开一个 *.py 文件, python 的缩进文件即 ~/.vim/indent/python.vim 将会被加载.

    set wildmenu            " visual autocomplete for command menu

这是一个相当酷的特性, 我以前都不知道Vim有它. 你知道 Vim 会自动补全类似文件名的东西, 举例子, 运行 :e ~/.vim<TAB>? 那么它将会提供一个所有匹配项的图形菜单, 如果你开启了 wildmenu, 你就可以循环遍历它们.

    set lazyredraw          " redraw only when we need to.

Vim 喜欢重绘屏幕, 即便是在它根本不必这样做的期间内 – 比如在宏(回放)的期间. 这告诉 Vim 不要费神地在这些场景下重绘屏幕, 以让宏更快.

    set showmatch           " highlight matching [{()}]

当你的光标移动到 类似圆括号(译注: <([{都算)字符时, 与之配对的另外一个也会高亮显示.

© 著作权归作者所有

l
粉丝 0
博文 1
码字总数 1398
作品 0
西昌
私信 提问
Centos 下安装与设置VIM编辑器

我们在安装完Centos后,它默认的是安装了VI编辑器,VIM是没有安装的,所以我们在使用vim test.txt时会提示: vim command not found 。。。 这就是说明我们的Linux环境没有安装vim编辑器,下...

lk442634939
2017/12/15
0
0
【Linux学习】Vim 怎么设置显示行号以及永久性显示行号

版权声明:本文为【欧阳鹏】原创文章,欢迎转载,转载请注明出处! 【http://blog.csdn.net/ouyang_peng】 https://blog.csdn.net/qq446282412/article/details/83379407 一、问题描述 在我们...

欧阳鹏
2018/10/25
0
0
Vim 怎么设置显示行号,永久性显示行号

Vim 怎么设置显示行号,永久性显示行号 听语音 137851人看了这个视频 百度云 10条相关视频 Vim 怎么设置显示行号 经验视频 Eclipse怎样显示行号 太平洋电脑... steam怎么设置显示ping 秒懂游...

linjin200
02/12
1
0
linux下vim中文乱码的解决方法

1、下载 可到http://www.vim.org/下载最新的7.3版本的vim源码。 2、安装 在编译之前,先要./configure --help查看一下配置选项, 其中这个配置需要加进来:--enable-multibyte Include mult...

QEfarmer
2014/03/07
76
1
使用vundle管理vim插件

一、安装vundle git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle 二、如何通过vundle安装插件 vim-scripts仓库中的插件,可以直接使用这样的格式配置 github上其他用户...

Lee_吉
2017/11/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
1
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
2
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部