用GVIM/VIM写Verilog——VIM配置分享「建议收藏」

用GVIM/VIM写Verilog——VIM配置分享「建议收藏」使用VIM或GVIM最基本的配置,不包含任何插件相关的设置,VIM用于写verilog,非常欢迎大家在评论区分享讨论。本文不进行插件的配置,不进行基本使用方式与使用技巧的说明,仅作为基本配置的分享交流用GVIM/VIM写Verilog——VIM配置分享基本配置几点说明1,禁用方向键,使用jk代替ESC2,自动补全命令配置3,进行版权声明的设置4,一些其他映射基本配置setnocompatible”不兼容visyntaxon”语法高亮度显示setnoerrorbells”.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

使用VIM或GVIM最基本的配置,不包含任何插件相关的设置,VIM用于写verilog,非常欢迎大家在评论区分享讨论。
本文不进行插件的配置,不进行基本使用方式与使用技巧的说明,仅作为基本配置的分享交流。简单补充下使用方式,输入 cd ~ 然后 gvim .vimrc,输入下面的配置即可

基本配置

set nocompatible "不兼容vi syntax on "语法高亮度显示 
set noerrorbells " 不让vim发出讨厌的滴滴声 set shortmess=ati " 启动的时候不显示那个援助索马里儿童的提示 
set t_Co=256  "开启256色支持 set hlsearch "搜索设置高亮
colorscheme desert "配色方案 set background=dark "配置主题整体的色调,只有两个选择:dark和light(暗色调和亮色调)
highlight Function cterm=bold,underline ctermbg=red ctermfg=green "color set set nu "显示行号
set relativenumber "显示相对行号 set cursorcolumn "add cursor in column
set cursorline "add cursor in line set guifont=Monospace\ 16 "gui style
"set guifont=Courier_new:h16 set lines=35 columns=118 "其中lines是窗口显示的行数,columns是窗口显示的列数
winpos 200 100 "后面两个参数指的自屏幕左上角像素值参考位置 set tabstop=4 "tab键相当于4个空格键
set expandtab "來將 tab 转成 space combine with tabstop set shiftwidth=4 "换行自动变为空格
set autoindent "设置自动缩进 自动缩进,当你第一行敲 tab + 文字 回车后 下一行自动给你加个 tab set backspace=2 "enable backspace
set novisualbell "不要闪烁 set laststatus=2 "启动显示状态行
set encoding=utf-8 "文件编码 set completeopt=menu,preview,longest "自动补全相关的设置
set bufhidden=hide

"禁止相关文件的产生 set noundofile "禁止un~文件
set nobackup "禁止~文件 set noswapfile "禁止swp文件

inoremap ( ()<ESC>i
inoremap [ []<ESC>i

"ban up and also keys "imap <Up> <Nop>
"imap <Down> <Nop> "imap <Left> <Nop>
"imap <Right> <Nop> "nmap <Up> <Nop>
"nmap <Down> <Nop> "nmap <Left> <Nop>
"nmap <Right> <Nop> imap jk <ESC> g,"在编辑模式下使用jk替代ESC进入命令模式
imap <C-L> <C-X><C-L> “使用CTRL L 代替 CTRL X +CTRL L 就是整个句子的补全
nmap ,l ^
nmap ,r $

"进行版权声明的设置 "添加或更新头
map <F3> :call TitleDet()<cr>
function AddTitle()
    call append(0,"/*=============================================================================")
    call append(1,"#")
    call append(2,"# Author: meng - email@vip.qq.com")
    call append(3,"#")
    call append(4,"# QQ : xxxxxxxxx ")
    call append(5,"#")
    call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M"))
    call append(7,"#")
    call append(8,"# Filename: ".expand("%:t"))
    call append(9,"#")
    call append(10,"# Description: ")
    call append(11,"#")
    call append(12,"=============================================================================*/")
    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
"更新最近修改时间和文件名 function UpdateTitle() normal m' execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@' normal '' normal mk execute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@' execute "noh" normal 'k echohl WarningMsg | echo "Successful in updating the copy right." | echohl None endfunction "判断前10行代码里面,是否有Last modified这个单词,
"如果没有的话,代表没有添加过作者信息,需要新添加; "如果有的话,那么只需要更新即可
function TitleDet()
    let n=1
    "默认为添加
    while n < 10
        let line = getline(n)
        if line =~ '^\#\s*\S*Last\smodified:\S*.*$'
            call UpdateTitle()
            return
        endif
        let n = n + 1
    endwhile
    call AddTitle()
endfunction

几点说明

1,禁用方向键,使用 jk 代替ESC

在VIN中操作,为了使得双手脱离键盘,但是方向键距离手指较远,ESC同样,因此禁用掉方向键,同时使用jk代替ESC进入命令模式。
VIM中有三种模式:命令模式,输入模式,命令行模式,其map映射
在vim配置文件中经常会看到map、nmap、imap
n ——表示在普通模式下生效。
v ——表示在可视模式下生效。
i ——表示在插入模式下效。
具体配置方式见上
这里为了满足大多数人的需求,在配置中将其注释掉,有需要的同学自行打开

2,自动补全命令配置

当我按下a的时候,弹出的提示框是包含所有a开头的提示,但是编辑器上只有a和光标,这个时候如果我需要再次使用b来进行过滤直接敲入b,编辑器上就是ab和光标,过滤出来的就是ab开头的单词。
请添加图片描述
该设置摘自vim自动补全的问题
设置行命令补时候,直接使用Ctrl-l即可,不用使用Ctrl-x Ctrl-l

imap <C-L> <C-X><C-L>

3,进行版权声明的设置

改声明摘自博客,可以继续进行完善,使用F3即可调用

4,一些其他映射

“调整格式以便对齐(例化后的)

:map <F6> :s/^ *\./        ./<cr>^f(i                              <ESC>f)i                               <ESC>^24ldw24ldwa  <ESC>hdwj

GVIM配置自动调整将F6映射为后面一长串指令,具体指令可以自行尝试

5,根本原则

简洁即美,过多的描述与过少的描述差不多,合适的代码注释,简洁方便的操作才是我们选择VIM的原因。不要追求绚丽的效果。不要忘记专注代码本身,VIM的基本配置只是我们的辅助手段,帮助我们尽可能的更加专注于编码本身的!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187566.html原文链接:https://javaforall.net

(0)
上一篇 2022年9月30日 上午9:46
下一篇 2022年9月30日 上午10:00


相关推荐

  • 高光谱遥感图像处理与信息提取综述

    高光谱遥感图像处理与信息提取综述高光谱遥感图像处理与信息提取综述 nbsp 高光谱遥感是对地观测的重要手段 高光谱图像处理与信息提取技术则是高光谱遥感领域的核心研究内容之一 高光谱图像处理与信息提取技术的研究主要包括数据降维 图像分类 混合像元分解和目标探测等方向 nbsp 高光谱图像处理与信息提取中面临的关键问题 高光谱图像波段多 数据量大 而且混合像元问题较为严重 且同物异谱影响明显 这都是信息提取研究需要解决的关键问题

    2026年3月16日
    4
  • android 换机 软件 评比,安卓一键换机软件哪个好?手机换机软件排行榜TOP3推荐…

    android 换机 软件 评比,安卓一键换机软件哪个好?手机换机软件排行榜TOP3推荐…原标题:安卓一键换机软件哪个好?手机换机软件排行榜TOP3推荐买了新的安卓手机后,旧手机里很多数据不知道怎么导入新手机,同品牌换机可以用自带的换机软件。但跨品牌手机,就会存在软件不兼容等诸多不便。比如小米手机换华为,vivo手机换OPPO,这个问题困扰着很多换机一族。今天就给大家推荐小编私藏的手机换机软件TOP3:1⃣️手机克隆★★★★☆这款是华为自带的换机软件,同品牌的手机资料如视频照片、音乐文…

    2022年5月26日
    156
  • 前端基础(HTML,CSS,JavaScript)知识笔记,附:前端基础面试题!!

    前端基础(HTML,CSS,JavaScript)知识笔记,附:前端基础面试题!!前言HTML,CSS,JavaScript是前端入门必须学习的知识,也是最基础的知识。文章主要分享包括(HTML,CSS,JS)前端基础知识笔记,学习路线图,最后附前端基础面试题。HTML知识点1.html基本结构html标签是由<>包围的关键词。html标签通常成对出现,分为标签开头和标签结尾。有部分标签是没有结束标签的,为单标签,单标签必须使用/结尾。页面所有的内容,都在html标签中。html标签分为三部分:标签名称,标签内容,标签属性。html

    2022年6月15日
    31
  • 8088汇编指令表

    8088汇编指令表汇编指令大全 8088 汇编指令表 nbsp 一 数据传输指令 nbsp nbsp 它们在存贮器和寄存器 寄存器和输入输出端口之间传送数据 nbsp 1 通用数据传送指令 nbsp MOV 传送字或字节 nbsp MOVSX 先符号扩展 再传送 nbsp MOVZX 先零扩展 再传送 nbsp PUSH 把字压入堆栈 nbsp POP 把字弹出堆栈 nbsp PUSHA 把 AX C

    2026年3月26日
    2
  • laravel 5.4 导出excel表格

    laravel 5.4 导出excel表格

    2021年10月24日
    46
  • python中单引号和双引号区别

    python中单引号和双引号区别单引号和双引号在使用上来说没什么区别 都可以表示字符串 先说 1 双引号与 3 个双引号的区别 双引号所表示的字符串通常要写成一行 nbsp 如 nbsp s1 hello world nbsp 如果要写成多行 那么就要使用 连行符 吧 如 nbsp s2 hello nbsp world nbsp s2 与 s1 是一样的 如果你用 3 个双引号的话 就可以直接写了 如下 nbsp s3 hello nbsp w

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号