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

从零开始配置vim(Windows版)

事情是这样的,之前linux下vim用习惯了...然后就给自己win下vscode也装了个vim插件,用下来还是感觉不顺手,并且处理太多文本时有明显卡顿,于是乎自己配了下win版的vim。

不过好像也并不是从零开始的...初始基础版的.vimrc有copy他们版本,在此基础上进行了各类配置。

先放个最终效果,以lammps in文件为例:

 vim安装

Windows下Gvim的安装与配置_gvim windows-CSDN博客

配置Vundle

Windows环境下 Gvim 安装 Vundle/Ctags/taglist_windows安装ctags-CSDN博客文章浏览阅读1.1k次。目录一、安装Vundle for Windows1、安装Git2、安装Curl3、安装Vundle二、ctags下载与安装1、生成Tag文件2、代码的快速浏览三、Taglist下载和安装 1、在_vimrc中设置tagslist2、taglist的配置与使用四、网盘下载:包括:gvim81、ctags、taglist、git一、安装Vundle for Windows1、安装Git1下载 Git for Windows installer2 要配._windows安装ctagshttps://blog.csdn.net/miracle_eicont/article/details/112857805

注意将copy的linux下的.vimrc中vundle的路径修改为win的。

Vundle安装插件

在.vimrc中配置:

" 设置运行时路径包括Vundle和初始化
set rtp+=D:\Vim\Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required 让Vundle管理Vundle
Plugin 'itchyny/lightline.vim'
call vundle#end()        

在3,6行中间添加需要安装的插件。

之后命令行:

$vim
:PlugInstall                         命令会安装在你的.vimrc文件中列出来的所有插件。
:PluginInstall <plugin-name>         还可以只安装某一个特定的插件,只要传递其名称。:BundleList             -列举列表(也就是.vimrc)中配置的所有插件  
:BundleInstall          -安装列表中的全部插件  
:BundleInstall!         -更新列表中的全部插件  
:BundleSearch foo       -查找foo插件  
:BundleSearch! foo      -刷新foo插件缓存  
:BundleClean            -清除列表中没有的插件  
:BundleClean!           -清除列表中没有的插件

安装nedtree 

Windows下安装NERDTree插件方法记录[基于vim8.2]_nerdtree插件下载-CSDN博客文章浏览阅读1.1k次。前期准备:1.下载vim并安装2.安装git,打开控制台用git --version检查是否安装成功3.安装Curl,打开控制台用curl --version检查是否安装成功开始安装1、本文利用Vundle进行安装,开始安装Vundlegit clone https://github.com/VundleVim/Vundle.vim.git %USERPROFILE%..._nerdtree插件下载https://blog.csdn.net/ycf8788/article/details/105011171/

修改字体

在vimrc中添加以下内容。win下的配置格式和linux是不一样的。

set guifont=Consolas:h14:cANSI

字典补全

可以使用 set dictionary来指定含有一个或者多个单词的字典文件。

在这个例子中我们在 nvim-config 目录中新建一个 spell.txt 文件,我们在里面写入如下内容

require
return
request

然后在配置文件中然后使用 set dictionary=./spell.txt。

配置自动补全括号 

 在.vimrc中加入以下内容。

function! AutoPair(open, close)let line = getline('.')if col('.') > strlen(line) || line[col('.') - 1] == ' 'return a:open.a:close."\<ESC>i"elsereturn a:openendif
endffunction! ClosePair(char)if getline('.')[col('.') - 1] == a:charreturn "\<Right>"elsereturn a:charendif
endfinoremap ( <c-r>=AutoPair('(', ')')<CR>
inoremap ) <c-r>=ClosePair(')')<CR>
inoremap { <c-r>=AutoPair('{', '}')<CR>
inoremap } <c-r>=ClosePair('}')<CR>
inoremap [ <c-r>=AutoPair('[', ']')<CR>
inoremap ] <c-r>=ClosePair(']')<CR>   

自动换行

au FileType * setlocal wrap

主题设置

VIM更换配色_vim背景颜色详细设置-CSDN博客文章浏览阅读5.3k次,点赞4次,收藏17次。记录一下我vim修改配色方案的过程。对本菜鸡来说真的很繁琐了Π^Π_vim背景颜色详细设置https://blog.csdn.net/orange_0416/article/details/122290948

从github找到需要的主题颜色后下载到vim的color文件夹中

配置添加以下内容

set background=dark
colorscheme hardhacker

对.svi后缀进行高亮

vim ~/.vimrc 添加如下行

au BufNewFile,BufRead *.svi set filetype=sv

 配置UVM高亮

vim中UVM高亮配置icon-default.png?t=N7T8https://download.csdn.net/download/weixin_51982763/88758668?spm=1001.2014.3001.5503

将压缩包内容放入对应位置

然后修改filetype.vim

高亮方式改为verilog_sytemverilog。

自动保存和加载折叠信息

您的折叠信息都被保留下来了。然而,您需要手动运行 mkview 和 loadview。我知道,终有一日,我会忘记运行 mkview 就关闭文件了,接着便会丢失所有折叠信息。能不能自动实现这个呢?

当然能!要在关闭 .txt 文件时自动运行 mkview,以及在打开 .txt 文件后自动运行 loadview,将下列内容添加至您的 vimrc:

autocmd BufWinLeave *.txt mkview

autocmd BufWinEnter *.txt silent loadview

mkview可能会报错没有对应文件夹,创建一下就好了。

配置状态栏

好用的状态栏插件:

https://github.com/itchyny/lightline.vimicon-default.png?t=N7T8https://github.com/itchyny/lightline.vim

状态栏在Vim底部命令行区域之上,它可以显示和当前打开文件有关的信息,通过’statusline’选项可以定制用户需要显示的内容:

laststatus'选项用于控制状态栏的显示行为:

  • 0 - 不显示状态栏
  • 1 - 多于一个窗口的时候显示状态栏
  • 2 - 总是显示状态栏

在选择每个选项时,要在前面加上’%’,请看下面的例子:

:set statusline=[%f]%r%w%m%=%l/%L,%c\ %p%%
:set laststatus=2

修改快捷键(映射)

nmap vt :NERDTree<CR> //将vt映射为nedtree:
nmap ws :sp<CR> //水平分隔
nmap wv :vs<CR> //纵向分隔
nmap wc :q!<CR> //关闭并不保存

附个人配置完成的.vimrc 

个人vim配置icon-default.png?t=N7T8https://download.csdn.net/download/weixin_51982763/88758676

相关文章:

  • VUE---插槽
  • Double 4 VR智能互动教学系统:创新酒店管理专业课堂教学
  • 离线数据仓库-关于增量和全量
  • Javascript入门||基础篇
  • React16源码: React中的completeUnitOfWork的源码实现
  • k8s 使用cert-manager证书管理自签
  • php array_diff 比较两个数组bug避坑 深入了解
  • 【书生·浦语大模型实战营06】《OpenCompass 大模型评测》学习笔记
  • java并发面试题
  • openssl3.2/test/certs - 006 - trust variants: +anyEKU -anyEKU
  • C语言练习day8
  • 【Linux】:线程池(逐行解析代码)
  • 配置redis挂载
  • 使用docker以容器方式安装redis
  • 【论文+视频控制】23.08DragNUWA1.5:通过集成文本、图像和轨迹来进行视频生成中的细粒度控制 (24.01.08开源最新模型)
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • Angular4 模板式表单用法以及验证
  • Angular数据绑定机制
  • es6(二):字符串的扩展
  • Java-详解HashMap
  • JS基础之数据类型、对象、原型、原型链、继承
  • LeetCode算法系列_0891_子序列宽度之和
  • React16时代,该用什么姿势写 React ?
  • 搭建gitbook 和 访问权限认证
  • 后端_MYSQL
  • 基于HAProxy的高性能缓存服务器nuster
  • 如何优雅地使用 Sublime Text
  • 什么是Javascript函数节流?
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 怎么将电脑中的声音录制成WAV格式
  • Java总结 - String - 这篇请使劲喷我
  • Prometheus VS InfluxDB
  • 回归生活:清理微信公众号
  • #### go map 底层结构 ####
  • #etcd#安装时出错
  • #LLM入门|Prompt#3.3_存储_Memory
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (02)vite环境变量配置
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (libusb) usb口自动刷新
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (pytorch进阶之路)扩散概率模型
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .net MySql
  • .NET 读取 JSON格式的数据
  • .net反编译工具
  • .NET企业级应用架构设计系列之结尾篇
  • [20170728]oracle保留字.txt