vim是一款轻量级的编辑器,并且有着强大的插件群。其强大的自定义快捷键功能,可以让你不碰鼠标的情况下,实现各种编辑操作。

vim的配置目录

.vimrc是vim的配置文件, 用户需要修改这个文件来对vim进行个性化设置

vimrc配置文件分系统配置和用户配置两种。

系统vimrc配置文件存放在Vim的安装目录,我的vim是8.0版本的,我的系统vimrc配置文件的路径为/usr/share/vim/vim80/.vimrc。其中vim80根据版本号不同,后面的数字也略微不同

用户vimrc文件,存放在用户主目录下~/.vimrc。首次使用时,是没有这个文件的,需要用户自己创建 .vimrc文件

.vim文件夹是存放vim的资源文件夹,其所在目录为/usr/share/vim/vim80/.vim

你也可以在用户文件夹~/下创建.vim文件夹,这样,.vim文件夹下的资源只对当前用户有效。

以下是.vim文件夹下的目录结构

目录 用途
autoload 自动载入脚本(autoload scripts)
colors 配色方案,自定义主题需要这个文件夹
compiler 编译命令:compiler使用的脚本文件
doc 文档
ftplugin 针对特定类型文件的插件(需要配合:filetype plugin命令使用)
indent 自动缩进定义文件
keymap 命名格式为 {language}[-{layout}][_{encoding}].vim 的Keymap文件
lang 界面显示语言文件(英文、中文等)
macros 宏示例(hanoi、maze、urm等),小工具(justify、matchit、swapmous等)
plugin 插件
syntax 语法高亮度文件
tools 工具(unicode、vimspell等)
tutor 入门教程

vim的基本配置命令

要配置你的vim就是要修改你的.vimrc配置文件

切换到用户目录cd ~

打开.vimrc配置文件vim .vimrc, 没有这个文件的话先创建mkdir .vimrc

将你想要的效果加入到你的.vimrc文件中即可

下面是一些常用的配置

字体和颜色
"自动开启语法高亮"
syntax enable"设置字体"
"set guifont=dejaVu\ Sans\ MONO\ 10
set guifont=Courier_New:h10:cANSI"设置主题样式"
"colorscheme desert"高亮显示当前行"
set cursorline
hi cursorline guibg=#00ff00
hi CursorColumn guibg=#00ff00
文字处理
"使用空格来替换Tab"
set expandtab"设置所有的Tab和缩进为4个空格"
set tabstop=4"设定<<和>>命令移动时的宽度为4"
set shiftwidth=4"使得按退格键时可以一次删除4个空格"
set softtabstop=4
set smarttab"缩进,自动缩进(继承前一行的缩进)"
"set autoindent 命令打开自动缩进,是下面配置的缩写
"可使用autoindent命令的简写,即“:set ai”和“:set noai”
"还可以使用“:set ai sw=4”在一个命令中打开缩进并设置缩进级别
set ai
set cindent"智能缩进"
set si"自动换行”
set wrap"设置软宽度"
set sw=4"行内替换"
set gdefault

Vim 界面

"显示标尺"
set ruler"设置命令行的高度"
set cmdheight=1"显示行数"
set nu"不要图形按钮"
set go="设置魔术"
set magic"关闭遇到错误时的声音提示"
"关闭错误信息响铃"
set noerrorbells"关闭使用可视响铃代替呼叫"
set novisualbell"高亮显示匹配的括号([{和}])"
set showmatch"匹配括号高亮的时间(单位是十分之一秒)"
set mat=2"搜索逐字符高亮"
set hlsearch
set incsearch"搜索时不区分大小写"
"还可以使用简写(“:set ic”和“:set noic”)"
set ignorecase"用浅色高亮显示当前行"
autocmd InsertLeave * se nocul
autocmd InsertEnter * se cul"输入的命令显示出来,看的清楚"
set showcmd
编码设置
"设置编码"
set encoding=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936"设置文件编码"
set fileencodings=utf-8"设置终端编码"
set termencoding=utf-8"设置语言编码"
set langmenu=zh_CN.UTF-8
set helplang=cn
其他设置
"在处理未保存或只读文件的时候,弹出确认"
set confirm"隐藏工具栏"
set guioptions-=T"隐藏菜单栏"
set guioptions-=m"显示状态栏(默认值为1,表示无法显示状态栏)"
set laststatus=2"状态行显示的内容"
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}"设置背景颜色"
set background=dark"共享剪切板"
set clipboard+=unnamed"从不备份"
set nobackup
set noswapfile"自动保存"
set autowrite"关闭vi兼容模式"
set nocompatible"设置历史记录步数"
set history=1000"激活鼠标的使用"
set mouse=a
set selection=exclusive
set selectmode=mouse,key

vim设置快捷键

**前缀键:**vim 自带有很多快捷键,再加上各类插件的快捷键,大量快捷键出现在单层空间中难免引起冲突,为缓解该问题,引入了前缀键 ,默认的前缀键是\,你可以将let mapleader=";"加入到你的配置文件,修改你的前缀键为;

映射: 通过映射,你可以定义自己的快捷键,让你的vim用起来更加顺手。

例如:在你的配置文件中加入nmap <Leader>wq :wq<CR> 当你在普通模式下,按下;wq就会自动保存并退出文件。(前提是你将设置为了;

这是我的快捷键设定。

vim制定了多种映射规则

  • :imap:只在 Insert 模式下生效的快捷键
  • :cmap:只在 Command-line 模式下生效
  • :nmap:只在 Normal 模式下生效
  • :vmap:只在 Visual 模式下生效
  • :map:在以上所有模式下生效
  • :noremap:包含 :inoremap:nnoremap 等,非递归映射

按键对应名称

名称 对应按键
<C-s> Ctrl+s
<S-s> Shift+s
<BS> 退格键
<Tab> 制表键
<CR><Enter><Return> 回车
<Esc> Escape
<Space> 空格键
<Up> 上方向键
<Down> 下方向键
<Left> 左方向键
<Right> 右方向键
<F1> - <F12> 功能键 F1 到 F12
#1, #2..#9,#0 F1 到 F10
<Insert> Insert
<Del> Delete
<Home> Home
<End> End
<PageUp> 上翻页
<PageDown> 下翻页

vim自定义主题

系统自带的主题

进入vim,在普通模式下输入 :colorscheme desert切换主题。

你也可以在 .vimrc文件中加入colorscheme desert, 这样就不用每次都切换主题了。

vim内置了许多主题,在/usr/share/vim/vim80/colors文件夹下,其中vim80根据版本号不同,后面的数字也略微不同

colors文件夹下以.vim结尾的都是vim的内置主题。

导入外部主题

以我正在用的gruvbox主题为例,教大家如何操作。

先切换目录 cd ~/.vim/color 没有这个目录的话就先自己创建mkdir -p ~/.vim/color

然后执行命令git https://github.com/morhetz/gruvbox.git 下载主题

然后执行 cp gruvbox/colors/gruvbox.vim ~/.vim/colors 将下载的主题文件复制到~/.vim/colors文件夹下。

~/.vimrc文件中加入colorscheme=gruvbox, 至此大功告成。

vim插件

vim-plug 是一个插件管理器,我们可以通过vim-plug轻松管理我们的插件。

使用 vim-plug 安装插件

安装 vim-plug,以便它在启动时自动加载:

$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

执行命令后 会将plug.vim文件下载到 ~/.vim/autoload/ 文件夹下

通过vim-plug安装NERDTree插件

NERDTree是一款用来在Vim界面显示树形目录的文件管理器插件,可在vim操作界面进行文件打开、目录浏览操作。

~/.vimrc 文件中,加入以下文本:

call plug#begin()
Plug 'preservim/NERDTree'
call plug#end()

启动 Vim ,然后键入如下命令:

:NERDTree

执行:Pluginstall时出现错误 Cannot write, ‘buftype’ option is set

解决方法:
可用下面的命名查看buftype的设置,当buftype=nofile时,不能保存文件,只有当buftype=空时,才可以保存

:verbose set buftype

修改buftype的方法:vim切换至ex模式,输入:setlocal buftype=

NERDTree 的使用

  • 输入:NERDTree打开目录树

  • 多次按"ctrl+w",光标自动在左右侧窗口切换

  • 和编辑文件一样,通过h j k l移动光标定位

  • i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能

  • t 在标签页中打开

  • T 在后台标签页中打开

  • p 到上层目录

  • P 到根目录

  • K 到同目录第一个节点

  • J 到同目录最后一个节点

  • m 显示文件系统菜单(添加、删除、移动操作)

  • ? 帮助

  • q 关闭

通过NERDTree 你可以很方便的打开多个文件,通过设置快捷键,可以让你很方便地在多个文件中切换。

"打开文件目录nmap <C-t> :NERDTree<CR>"切换到下一个标签页nmap <C-k> :tabnext<CR>"切换到上一个标签页nmap <C-j> :tabprevious<CR>"关闭当前标签页nmap <C-x> :tabclose<CR>"新建标签页nmap <C-n> :tabnew

如何配置vim(设置快捷键,自定义主题,安装插件)相关推荐

  1. IntelliJ IDEA - 主题设置或自定义主题

    IntelliJ IDEA - 主题设置 设置主题 自定义主题 提供4主题插件 提供4主题插件下载地址 设置主题 这里默认提供了三套主题:IntelliJ,Darcula,Windows.这里可以根据 ...

  2. ae合成设置快捷键_【AE插件】用于动画制作设计的五个免费插件 最后两个

    第二名:Ease copy AE脚本-关键帧动态属性复制粘贴 EaseCopy 脚本EaseCopy允许您复制/粘贴关键帧的时候,能够选择不覆盖您的参数值或不会覆盖您的缓动效果.非常实用的 就是允许你 ...

  3. Visual Studio常用功能的设置(1)---安装插件、修改字体、查看历史记录、git diff

    文章目录 1.安装插件(Extensions) (1)使用vs自带下载安装渠道 (2)直接去Extensions market 下载 (3)通过github搜索具体插件名 2.修改VS不同区域的字体 ...

  4. Vim配置#Vim插件安装#NERDTree配置

    一.centos系统的Vim安装 普通用户下输入命令:yum -y install vim* 之后输入y,即可等待安装完成. 二.Vim的配置 如果你需要配置vim,只需在Home目录创建一个~/.v ...

  5. windows10安装配置vim

    由于疫情原因无法及时返校,需要在家里的windows电脑安装vim并配置环境,在此记录. 建议使用gvim,而不是在cmd下使用vim. 1 下载windows版vim 从github下载window ...

  6. 如何优雅使用Sublime Text3(Sublime设置豆沙绿背景色和自定义主题)

    如何优雅使用Sublime Text3(Sublime设置豆沙绿背景色和自定义主题) https://www.cnblogs.com/xiezhidong/p/6069808.html ♣Sublim ...

  7. vim配置以及Vundle安装插件

    文章目录 配置vim 设置vim C/C++开发环境 安装Vundle进行插件管理 输入以下命令 配置插件 安装插件 括号和引号匹配 自动补全 Formatter 配置vim 设置vim C/C++开 ...

  8. dokuwiki安装插件主题设置

    最近部门考虑搭建一个集成人员权限管理,媒体文件共享,版本可追朔,修改等记录等功能的知识&文件共享平台,最开始考虑用svn,但是文件的每次提交和更新太过繁琐,并且每次更新需要下载到本地才能看,所 ...

  9. centos mysql 设置_CentOS下MySQL安装后配置和设置-阿里云开发者社区

    CentOS下MySQL安装后配置和设置: 1:安装完成路径: 1.数据库目录 /var/lib/mysql/ 2.配置文件 /usr/share/mysql(mysql.server命令及配置文件) ...

最新文章

  1. 2021 OceanBase 数据库大赛来了!
  2. 【Vegas原创】outlook连接exchange需要密码的解决方法
  3. C# 获取 ipv4的方法
  4. QT的QJSEngine类的使用
  5. linux 提交git,linux下git使用记录1 git 提交
  6. java教程菜鸟教程组合模式,组合实体模式
  7. SQLServer Profiler 跟踪器
  8. 5-5 常用系统接口
  9. 亚洲最佳电影TOP100出炉 你看过几部?
  10. cms php 免费,十大免费PHP内容管理系统(CMS)
  11. 即时热榜——月薪3W+自媒体人的必备神器
  12. 第十三届中国生物特征识别大会(CCBR2018)征文通知
  13. Backdoor Attack with Imperceptible Input and Latent Modification
  14. CPU不同字母的意思
  15. RS笔记:传统推荐模型之FFM (引入特征域的概念) [2015 Criteo]
  16. 单片机c语言idata什么意思,单片机C语言中的data,idata,xdata,pdata,code
  17. 云管边端架构图_新通信行业:阿里云构建云管边端物联网布局
  18. 【git】Git版本控制
  19. 生态伙伴开发实践 | 智慧检测实验室应用系统快速接入指令集数字底座
  20. 莫烦Python--Tensorflow(5):简单神经网络

热门文章

  1. 推荐几个web中常用js图表插件
  2. 基于SpringBoot的家政服务管理平台
  3. 苹果手机如何实现微信分身双开
  4. 阿里云的海外虚拟云主机能否使用谷歌服务
  5. 云场景实践研究第12期:有货
  6. svg css3皮卡丘动画js特效
  7. 通过生成指标功能从非指标数据中分析趋势
  8. 鸿蒙系统第一批适配手机,鸿蒙系统名单已确认!麒麟9000首批,这些手机将被淘汰,无法升级...
  9. 坚持应该成为一种习惯
  10. 贴片SD卡移植FATFS文件系统