配置文件

刚安装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. underscore源码阅读

    1:函数式编程初探 2:if(obj.length === +obj.length)的判断 3:JS对象属性用中括号表示的优点在于可以用变量表示属性 4:callee,caller---JS高级程序设 ...

  2. html5中viewport与meta详解

    网上解释手机浏览器是把页面放在一个虚拟的"窗口"(viewport)中,通常这个虚拟的"窗口"(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中 ...

  3. Dubbo中暴露服务的过程解析

    dubbo暴露服务有两种情况,一种是设置了延迟暴露(比如delay="5000"),另外一种是没有设置延迟暴露或者延迟设置为-1(delay="-1"): 设置 ...

  4. multiWriter.go

    package blog4go import ( "errors" "fmt" ) var ( // ErrFilePathNotFound 文件路径找不到 E ...

  5. BZOJ_3689_异或之_可持久化Trie+堆

    BZOJ_3689_异或之_可持久化Trie+堆 Description 给定n个非负整数A[1], A[2], ……, A[n]. 对于每对(i, j)满足1 <= i < j < ...

  6. html中 submit和button的区别?

    前者是向数据库提交表单 后者是单纯的按钮功能

  7. zookeeper配置管理+集群管理实战

    引言 之前就了解过kafka,看的似懂非懂,最近项目组中引入了kafka,刚好接着这个机会再次学习下. Kafka在很多公司被用作分布式高性能消息队列,kafka之前我只用过redis的list来做简 ...

  8. Detours HOOK 库 过滤LoadLibraryExW

    Detours HOOK 库 Hook 过滤LoadLibraryExW 一丶简介 1.1 Detours库简介 Detours是微软提供的HOOK库.为我们Hook提供了方便.再也不用手撸 HOOK ...

  9. 长沙4月21日开发者大会暨.NET社区成立大会活动纪实

    活动总结 2019年4月21日是一个斜风细雨.微风和煦的美好日子,由长沙.NET技术社区.腾讯云云加社区.微软Azure云技术社区.中国.NET技术社区.长沙柳枝行动.长沙互联网活动基地(唐胡子俱乐部 ...

  10. tday02 上节课复习

    什么是编程语言 人与计算机交流的介质 编程是什么东西 写出一个一个文件,然后一个文件的集合就是一个程序 为什么要编程 在计算机上写一个程序实现某种功能,取代劳动力 计算机的五大组成 我们人类最重要的组 ...