[编程工具]_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 ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg1 = substitute(arg1, '!', '\!', 'g')
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg2 = substitute(arg2, '!', '\!', 'g')
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let arg3 = substitute(arg3, '!', '\!', 'g')
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
      if empty(&shellxquote)
        let l:shxq_sav = ''
        set shellxquote&
      endif
      let cmd = '"' . $VIMRUNTIME . '\diff"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '\diff'
  endif
  let cmd = substitute(cmd, '!', '\!', 'g')
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
  if exists('l:shxq_sav')
    let &shellxquote=l:shxq_sav
  endif
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}
}

weixin151云匹面粉直供微信小程序+springboot后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

或许,这就是梦想吧!

如果对你有用,欢迎打赏。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值