[编程工具]_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

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

基于Go语言实现一个压测工具

《基于Go语言实现一个压测工具》这篇文章主要为大家详细介绍了基于Go语言实现一个简单的压测工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录整体架构通用数据处理模块Http请求响应数据处理Curl参数解析处理客户端模块Http客户端处理Grpc客户端处理Websocket客户端

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨