[编程工具]_vimrc配置

2023-10-28 00:44
文章标签 工具 配置 编程 vimrc

本文主要是介绍[编程工具]_vimrc配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

_vimrc配置

1.vi与vim的不同

Vi和Vim都是UNIX操作系统中的文本编辑器。Vi是Unix操作系统中最早的文本编辑器之一,它是由Bill Joy在1976年开发的。Vim是Vi的改进版本,由Bram Moolenaar在1991年创建。

以下是Vi和Vim之间的一些不同之处:

  1. 用户界面:Vi有一个非常基本的用户界面,只能在命令行中使用。Vim则提供了更丰富的用户界面,包括命令行和GUI版本。

  2. 功能:Vim包含了Vi所有的功能,并且还提供了更多的功能,包括多级撤销、语法高亮、多窗口和多标签页等。

  3. 易用性:Vim比Vi更加易用,因为它提供了更多的快捷键和更多的命令,使编辑文本更加高效。

  4. 定制性:Vim比Vi更容易进行定制,可以通过插件、脚本和配置文件来实现。

总之,Vim是Vi的升级版,它提供了更多的功能和更好的用户体验,但是学习曲线可能会比Vi更陡峭一些。

2.配置vim的配置文件及其重要参数介绍

Vim的配置文件为~/.vimrc,即在用户的home目录下的.vimrc文件,也可通过命令“:echo $MYVIMRC”查看当前Vim的配置文件路径。

在 window 中,路径为:[用户目录]/_vimrc

以下是一些常用的Vim配置参数及其作用:

  • set number:显示行号
  • set relativenumber:显示相对行号
  • set cursorline:突出显示当前行
  • set tabstop=4:设置tab键宽度为4
  • set shiftwidth=4:当使用<<或>>命令时,每次缩进宽度为4
  • set expandtab:将tab键转换为空格
  • set autoindent:自动缩进
  • set smartindent:智能缩进,在编辑代码时根据上下文自动缩进
  • set nowrap:禁止自动折行
  • set incsearch:增量搜索,即在输入搜索关键字时,每输入一个字符就自动搜索
  • set hlsearch:高亮显示搜索结果
  • set ignorecase:搜索时忽略大小写
  • set showcmd:在底部状态栏显示当前输入的命令

建议的配置

" Vim with all enhancements
source $VIMRUNTIME/vimrc_example.vim" Use the internal diff if available.
" Otherwise use the special 'diffexpr' for Windows.
if &diffopt !~# 'internal'set diffexpr=MyDiff()
endif
function MyDiff()let opt = '-a --binary 'if &diffopt =~ 'icase' | let opt = opt . '-i ' | endifif &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endiflet arg1 = v:fname_inif arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endiflet arg1 = substitute(arg1, '!', '\!', 'g')let arg2 = v:fname_newif arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endiflet arg2 = substitute(arg2, '!', '\!', 'g')let arg3 = v:fname_outif arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endiflet arg3 = substitute(arg3, '!', '\!', 'g')if $VIMRUNTIME =~ ' 'if &sh =~ '\<cmd'if empty(&shellxquote)let l:shxq_sav = ''set shellxquote&endiflet cmd = '"' . $VIMRUNTIME . '\diff"'elselet cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'endifelselet cmd = $VIMRUNTIME . '\diff'endiflet cmd = substitute(cmd, '!', '\!', 'g')silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3if exists('l:shxq_sav')let &shellxquote=l:shxq_savendif
endfunction" 显示行号
set number" 语法高亮度显示
syntax on" 不创建交换文件
set noswapfile
" 保留 撤销 操作历史
set undofile
set nobackup" 设置操作历史文件的保存位置
set undodir=E:/Users/LY_win/vimfiles/.undo
" vim需要记住多少次历史操作
set history=1000
" 命令模式下,底部操作指令按下 Tab 键自动补全。第一次按下 Tab,会显示所有匹配的操作指令的清单;第二次按下 Tab,会依次选择各个指令
set wildmenu
set wildmode=longest:list,full
" 定义F1快捷键为切换vim窗口
map &ltF1&gt &ltC-w&gtw" 设置文件的代码形式 utf8, 中文不乱码
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030" 设置gvim的字体
" set guifont=courier_new:h10" 按下Tab键后,vim显示的空格数
set tabstop=4" normal模式下,>>增加一级缩进、<<取消一级缩进、==取消全部缩进时,每一级缩进的空格数
set shiftwidth=4" 自动将Tab转为空格(防止Tab键在不同编辑器缩进不一致导致问题)
set expandtab" Tab转为多少个空格
set softtabstop=4" 光标所在行高亮
set cursorline
highlight CursorLine   cterm=NONE ctermbg=black guibg=NONE guifg=NONE" 关闭自动折行
"set nowrap" 垂直滚动时,光标距离顶部/底部的距离(单位:行)
set scrolloff=5" 水平滚动时,光标距离行首或行尾的距离(单位:字符)
set sidescrolloff=30" 设置行宽,即一行显示多少字符: 跟行内的空格有关
set textwidth=10" 是否显示状态栏:0表示不显示,1表示只在多窗口显示,2表示显示
set laststatus=2" 设置状态条显示的信息:文件名、光标所在字符的ASCII码、光标所在字符的ASCII码的十六进制、光标所在的位置、光标所在行之上的内容占整个文件的百分比、文件总行数
set statusline=\ %F%m%r%h%w\ \ \ \ ASCII=\%03.3b\ \ \ \ HEX=\%02.2B\ \ \ \ POS=%04l,%04v\ \ \ \ %p%%\ \ \ \ NumOfLine=%L
" 显示行尾的空格
highlight WhitespaceEOL ctermbg=red guibg=red
match WhitespaceEOL /\s\+$/
" 光标遇到括号时,自动高亮对应的另一半括号
set showmatch" 命令行模式下,在底部显示当前键入的指令。例如键入dd删除一行时,键入第一个d,底部右侧显示d,完全键入dd时,操作完成,底部显示消失
set showcmd
" 搜索时,高亮显示搜索结果
set hlsearch" 搜索时,每输入一个字符,自动跳到第一个匹配的结果
set incsearch
" 搜索时忽略大小写
set ignorecase

reference

@misc{BibEntry2023Oct,
title = {{vimrc文件配置的全文收录xn–zg7c史上最全xn–3g7c附带中文解释xn–{ _ \_ _}-hm68a51CTO博客{ _ \_ _}vimrc文件颜色配置}},
year = {2023},
month = oct,
urldate = {2023-10-27},
language = {chinese},
note = {[Online; accessed 27. Oct. 2023]},
url = {https://blog.51cto.com/zpf666/2335640}
}

这篇关于[编程工具]_vimrc配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/289529

相关文章

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据