当前位置: 首页 > news >正文

vimrc配置文件

目录

  • 重新加载配置
  • 基本配置
  • 配置命令
  • 配置撤销
  • 交换文件相关配置
  • 窗口切换快捷键绑定
  • 关闭缓冲区而不关闭窗口
  • 代码折叠
  • 自动补全的文件名菜单
  • NERDTree配置
  • Vinegar插件配置
  • 解决右键不能粘贴的问题
  • 搜索相关配合
  • 粘贴板设置
  • 先导键配置
  • ctrlP插件配置

重新加载配置

:source $MYVIMRC

基本配置

syntax on                  " Enable syntax highlighting.
filetype plugin indent on  " Enable file type based indentation.set autoindent             " Respect indentation when starting a new line.
set expandtab              " Expand tabs to spaces. Essential in Python.
set tabstop=4              " Number of spaces tab is counted for.
set shiftwidth=4           " Number of spaces to use for autoindent.set backspace=2            " Fix backspace behavior on most terminals.colorscheme murphy         " Change a colorscheme.set number

配置命令

命令说明注释
:set autoindent先尝试再配置再写入配置文件
:set tabstop?显示当前值

配置撤销

set undofile 
#条件判断错误
"if !isdirectory("$HOME/.vim/undodir")
""	call mkdir("$HOME/.vim/undodir","p")
"endif
set undodir=$HOME/.vim/undodir

交换文件相关配置

"配置交换文件""存放到统一目录"
set directory=$HOME/.vim/swap//"关闭交换文件"
set noswapfile

窗口切换快捷键绑定

" Navigate windows with <Ctrl-hjkl> instead of <Ctrl-w> followed by hjkl.
noremap <c-h> <c-w><c-h>
noremap <c-j> <c-w><c-j>
noremap <c-k> <c-w><c-k>
noremap <c-l> <c-w><c-l>

关闭缓冲区而不关闭窗口

#工作不正常
" 关闭缓冲区而不关闭窗口
command! Bd :bp | :sp | :bn | :bd
"bp buffer previous;sp split;bn buffer next;bd buffer delete

代码折叠

set foldmethod=indent           " Indentation-based folding.
"manual 手动折叠"
"indent"
"expr"
"marker"
"syntax"
"diff"set foldcolumn=1 "折叠列指示,0-12
"打开文件时,所有折叠打开"
autocmd BufRead * normal zR

自动补全的文件名菜单

set wildmenu                    " Enable enhanced tab autocomplete."
"第一次补全为最长的匹配字符串,第二次遍历"
set wildmode=list:longest,full  " Complete till longest string, then open menu.

NERDTree配置

最后一条命令需要仔细研读

" Plugin-related settings below are commented out. Uncomment them to enable
" the plugin functionality once you download the plugins.let NERDTreeShowBookmarks = 1   " Display bookmarks on startup.
autocmd VimEnter * NERDTree     " Enable NERDTree on Vim startup.
" Autoclose NERDTree if it's the only open window left.
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") &&\ b:NERDTree.isTabTree()) | q | endif

Vinegar插件配置

"为了避免NERDTree取代Netrw(-键可用)"
let NERDTreeHijackNetrw =0
#不起作用

解决右键不能粘贴的问题

if has(‘mouse’)
set mouse-=a
endif

搜索相关配合

set hlsearch                    " Highlight search results.
set incsearch                   " Search as you type.

粘贴板设置

set clipboard=unnamed,unnamedplus  " Copy into system (*, +) registers.
"不起作用"

先导键配置

" Map the leader key to 
" 先导键应该定义在.vimrc文件中使用先导键之前,因为新定义的先导键在定义后生效"
let mapleader = "\<space>"  
"mapleader变量中不含特殊字符,需要反斜杠转义,因为单引号只能存储字面量字符串,需要双引号包括"
" Save a file with leader-w.
noremap <leader>w :w<cr>  
" toggle nerdtree"
noremap <leader>n :NERDTreeToggle<cr>

ctrlP插件配置

" Set CtrlP working directory to a repository root (with a 
" fallback to current directory).
let g:ctrlp_working_path_mode = 'ra'
"let g:ctrlp_working_path_mode = 'c'" 用先导键重新映射CtrlP的行为"
"noremap <leader>p :CtrlP<cr>
"noremap <leader>b :CtrlPBuffer<cr>
"noremap <leader>m :CtrlPMRU<cr>

相关文章:

  • android 中一个app中打开另一个app
  • 【Vue3源码】第五章 实现 reactive 和 readonly 嵌套对象绑定响应式
  • MySQL深度分页优化
  • YOLOv5改进 | 检测头篇 | 利用DynamicHead增加辅助检测头进行针对性检测(让小目标无所遁形)
  • Redis需要掌握的知识点总结,包括Redis适用场景、持久化、集群、分区、哨兵、缓存穿透
  • Spark原理——逻辑执行图
  • 笨蛋学设计模式结构型模式-外观模式【10】
  • 华为端口安全常用3种方法配置案例
  • ArcGIS Pro 标注牵引线问题
  • 51-JS鼠标,键盘,表单,粘贴板,窗口事件,遍历节点树,DOM操作:创建/添加,删除,替换
  • 『 C++ 』红黑树RBTree详解 ( 万字 )
  • js动态设置关键侦@keyframes
  • 跟着cherno手搓游戏引擎【8】按键和鼠标的KeyCode
  • LINUX基础培训十之服务管理
  • C++ 编程需要什么样的开发环境?
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • css的样式优先级
  • Java比较器对数组,集合排序
  • JS函数式编程 数组部分风格 ES6版
  • PermissionScope Swift4 兼容问题
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • vue-router的history模式发布配置
  • 从零搭建Koa2 Server
  • 读懂package.json -- 依赖管理
  • 观察者模式实现非直接耦合
  • 解析带emoji和链接的聊天系统消息
  • 双管齐下,VMware的容器新战略
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • #ifdef 的技巧用法
  • #Linux(帮助手册)
  • %@ page import=%的用法
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (附源码)计算机毕业设计ssm电影分享网站
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)JAVA中的堆栈
  • (转载)hibernate缓存
  • .Net Memory Profiler的使用举例
  • .NET 依赖注入和配置系统
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET学习全景图
  • .NET中使用Redis (二)
  • [AAuto]给百宝箱增加娱乐功能
  • [ActionScript][AS3]小小笔记
  • [android] 练习PopupWindow实现对话框
  • [BUUCTF NewStarCTF 2023 公开赛道] week3 crypto/pwn
  • [HXPCTF 2021]includer‘s revenge
  • [iOS]随机生成UUID通用唯一识别码
  • [IT生活推荐]大家一起来玩游戏喽,来的都进!
  • [JavaEE] 线程与进程的区别详解
  • [JavaEE系列] wait(等待) 和 notify(唤醒)
  • [luogu2165 AHOI2009] 飞行棋 (枚举)