配置文件

刚安装vim默认配置,功能是很简单的,vim的功能很多是需要配置开启的。

.vimrc

使用vim打开配置文件~/.vimrc, 即可配置vim。

基本配置


" 设置当文件被改动时自动载入
set autoread
set autowrite " 在处理未保存或只读文件的时候,弹出确认
set confirm
" 自动缩进
set autoindent
set cindent " 解决backspace 无效
set backspace=indent,eol,start " 其中 tabstop 表示一个 tab 显示出来是多少个空格的长度,默认8
" softtabstop 表示在编辑模式的时候按退格键的时候退回缩进的长度
" shiftwidth 表示每一级缩进的长度,一般设置成跟 softtabstop 一样。
" 当设置成 expandtab 时,缩进用空格来表示,noexpandtab则是用制表符表示一个缩进。
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab " 显示行号
set number " 历史记录数
set history=1000 "搜索忽略大小写
set ignorecase "搜索逐字符高亮
set hlsearch
set incsearch "语言设置
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8 " 总是显示状态行
set laststatus=2 " 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2 " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key " 高亮显示匹配的括号
set showmatch " 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=2 " 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3

tab 键设置


set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab

说明

tabstop: 表示一个 tab 显示出来是多少个空格的长度,默认8。

softtabstop: 表示在编辑模式的时候按退格键的时候退回缩进的长度。

shiftwidth: 表示每一级缩进的长度,一般设置成跟 softtabstop 一样。

expandtab: 表示缩进用空格来表示。

noexpandtab :则是用制表符表示一个缩进。

热键配置

" 括号自动补全
:inoremap ( ()<ESC>i
:inoremap { {}<ESC>i
:inoremap [ []<ESC>i " 窗口切换的快捷方式
map <s-h> <c-w>h
map <s-l> <c-w>l
map <s-j> <c-w>j
map <s-k> <c-w>k " 设置热键
let mapleader = "\<Space>" " 映射快捷键
nnoremap <Leader>w :w<CR>
nnoremap <Leader>g G " buffer 切换
nnoremap <Leader>bn :bn<CR>
nnoremap <Leader>bb :bp<CR>
" 关闭buffer
nnoremap <Leader>bc :bwipe<CR>

2. VIM 系列 - 初探vim配置文件的更多相关文章

  1. 8. VIM 系列 - 利用 VIM 8.1 版本编译项目和GDB调试

    目录 term 模式 termdebug 模式 VIM版本安装请参考: 0. VIM 系列 - 源码升级最新版本vim term 模式 输入:term 打开此模式,效果如下 这个模式有编辑文本窗口和s ...

  2. 4. VIM 系列 - 认识VIM的缓冲区、窗口、标签页

    目录 1. 缓冲区 2. 窗口 3. 标签页 4. 设置一下热键 1. 缓冲区 文件和缓冲区的区别 vim 打开一个文件时,其实是从磁盘中读取文件到内存中,vim的一些操作其实是在操作缓冲区, 当使用 ...

  3. 【CNMP系列】VIM编辑器详解

    缘起 大学的时候做过Linux内核驱动程序研发,之前写C语言就是用的Vim编辑器,当年的Vim还不如今天之强大,当时的插件也没有现在这么多,只是觉得这个编辑器能满足我想要的所有,查看Linux内核代码 ...

  4. 初探VIM编辑器

    初探VIM 引言---什么是Vim? 接触Linux这么久,想必对于一切皆文件的哲学思想已经不陌生了.因此,学习并掌握用一款Linux文本编辑器,对于玩转LInux来说,是很有必要的. vi编辑器是U ...

  5. 3. VIM 系列 - 遇见你的第一个插件

    目录 1. 插件管理利器 vim-plug 1.1 安装插件管理器 1.2 配置插件管理器 1.3 安装插件 1.4 更新插件 1.5 回滚插件 1.6 卸载插件 1. 插件管理利器 vim-plug ...

  6. Vim 系列笔记一

    Vim 系列笔记一 Vim 简介 什么是VIM ? Vim 是从 Vi 发展出来的一个编辑器,是 Vi 的升级版.而 vi 则是 Unix .类Unix(Linux)系统中自带的编辑器. Vim/Vi ...

  7. 0. VIM 系列 - 源码升级最新版本vim

    卸载原来的vim: $ sudo apt-get remove --purge vim $ suso apt-get clean 下载最新版本源码: $ git clone https://githu ...

  8. 5. VIM 系列 - 文件管理

    目录 目录树 文件检索 ctrlp.vim fzf.vim 目录树 安装 nerdtree.vim 插件 Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeTo ...

  9. VIM使用(一) VIM插件管理利器-vundle

    有关VIM的文件网上一大堆,这里只是记录一下我新配置环境的步骤.以备查看参考. sudo apt-get install gitgit clone https://github.com/gmarik/ ...

随机推荐

  1. scala 访问阿里云oss

    我们的数据一天就一个T,数据量不断增大,集群磁盘有限,所以把冷数据放到了oss,偶尔会使用到冷数据,如果使用的时候还的从oss上拉数据这样很浪费时间后来想了个办法可以直接获取到oss上的数据.案例:o ...

  2. poj-3522 最小生成树

    Description Given an undirected weighted graph G, you should find one of spanning trees specified as ...

  3. HashMap浅入理解

    HashMap不能保证元素的顺序,HashMap能够将键设为null,也可以将值设为null,与之对应的是Hashtable,(注意大小写:不是HashTable),Hashtable不能将键和值设为 ...

  4. NSQ源码剖析之nsqd

    NSQ简介 NSQ 是实时的分布式消息处理平台,其设计的目的是用来大规模地处理每天数以十亿计级别的消息.NSQ 具有分布式和去中心化拓扑结构,该结构具有无单点故障.故障容错.高可用性以及能够保证消息的 ...

  5. 学习ASP.NET Core Razor 编程系列十——添加新字段

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  6. laravel5.5解决小程序登陆态的问题

    修改一个文件 : vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php 找到getSession()方 ...

  7. kmspico_setup.exe运行提示系统资源不足,无法完成请求的服务

    在使用KMSpico激活office时,windows下运行exe会提示系统资源不足,无法完成请求的服务. 我的解决方法是:卸载电脑上的wps...

  8. HTTP 视频怎么在 MIP 页面中使用?

    在 MIP 中,一些资源的使用需要支持 HTTPS,视频就是其中一种.但目前大部分站点的视频资源都还是 HTTP 的资源,无法在百度 MIP 搜索结果中直接使用, mip-video 视频组件针对 H ...

  9. 【公告】关于8.8MIP组件审核平台故障的说明

    故障通报 2017 年 8 月 8 日 下午 14:11,由于机器故障原因,MIP 组件管理平台暂时无法提供服务. 2017 年 8 月 8 日 下午 16:46, 故障已解决.MIP 组件管理平台服 ...

  10. 流程控制之for循环

    目录 语法(掌握) for+break for+continue for循环嵌套(掌握) for+else(掌握) for循环实现loading(了解) 语法(掌握) 为什么有了while循环,还需要 ...