VIM-配置-.vimrc

2023-05-16

前言

在使用vim的时候我们可以输入:set nu 显示行号,但每次都输一遍操作就显得冗余。将这段命令写入vimrc就可以避免重复操作。
在linux环境下,配置文件一般都叫*rc,rc是 run command 的首字母简写。vimrc一个在/etc/vimrc(系统的vim配置文件)。还有一个是~/.vimrc(用户的vim配置文件,也是我们要修改的文件),刚装上vim的时候是没有这个文件的,我们创建一个就行了。

只需要 vim ~/.vimrc 再将以下内容复制粘贴就可以啦。
"行注释

"括号,引号自动补全

:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function! ClosePair(char)
    if getline('.')[col('.') - 1] == a:char
		        return "\<Right>"
	else
			    return a:char
	endif
endfunction

"采用vim自己的命令,不与vi兼容:

set nocompatible

"不创建备份文件:

set nobackup

"使能语法高亮,自动识别代码,用不同颜色显示:

syntax on

"使用编码格式 utf-8 :

set encoding=utf-8

"区分大小写:

set infercase

"不许文件自动折叠:

set nofoldenable

"换行显示时不把一个单词拆开,遇到指定的符号(比如空格,连词号和其他标点符号)才换行:

set linebreak

"在左侧显示行号:

set number

"显示光标当前行

set cursorline

"在状态栏显示光标当前位置,哪一行哪一列:

set ruler

"高亮显示搜索的匹配结果,输入结束时才显示:

set hlsearch

"高亮显示搜索的匹配过程,每输入一个字符,就自动跳到第一个匹配的结果:

set incsearch

"遇到括号(小括号,中括号,大括号)时,自动高亮匹配的括号:

set showmatch

"命令模式下,显示输入的命令:

set showcmd

"自动缩进,按下回车键后,下一行会自动跟上一行的缩进保持一致:

set autoindent

"智能缩进

set smartindent

"复制粘贴时保留原有的缩进

set copyindent

"自动缩进的空格数

set shiftwidth=4

"按下 tab 键时的空格数

set tabstop=4

"按下 tab 键时自动转为空格

set expandtab

"tab 转换为多少个空格

set softtabstop=4

"将tab键和多余的空格显示出来

set list
set listchars=tab:>>,trail:.

"在命令模式下,按下 tab 键可以自动补全命令

set wildmenu
set wildmode=longest,list,full

"Insert模式下,使退格键可以删掉任何东西

set backspace=indent,eol,start

"即使发生换行时,也逐行移动

map j gj
map k gk

"重新打开文件时,跳到上次的位置

au BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g'\"" |
\ endif

"自动切换到当前文件的目录

set autochdir

"记录历史命令的条数

set history=1000

"撤销的次数

set undolevels=1000

"发生错误时,视觉提示,通常是屏幕闪烁:

set visualbell

"支持使用鼠标

set mouse=a

这里有一个小技巧,当光标在一个括号处时,按下%键即可跳转到与其对应的括号处。如果是在可视模式下就可以选中括号里的内容:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VIM-配置-.vimrc 的相关文章

  • 如何跳转到 vim 中不同选项卡内的标记?

    我使用 MacVim 通常会打开许多 选项卡 我希望能够在任何打开的文件中放置标记并在它们之间跳转 mK and K当标记位于同一个选项卡中时效果很好 但我必须使用gt找到选项卡 然后K找到标记 一定有更好的方法吗 这是一个快速而肮脏的技巧
  • 为 Vim 命令行创建一个映射,在插入寄存器之前转义寄存器的内容

    假设我有一个这样的文档 并且我想搜索所有出现的 URL Vim resources http example com search q vim q q http example com search q vim 我不想完整地输入它 所以我将
  • 你能强制 Vim 在文件末尾显示一个空行吗?

    当我在记事本中打开文本文件时 如果包含文本的最后一行末尾有回车符 则会显示一个空行 然而 在 Vim 中它不显示这个空行 我注意到的另一件事是 Vim 编辑器默认在最后一行添加回车符 即使它没有显示 我可以这么说 因为如果我在记事本中打开在
  • vim:无法加载库 libpython

    我不让 vim 与 python 支持一起工作 我使用以下配置编译 vim 7 4 972 configure enable shared with features huge enable multibyte enable cscope
  • Vim - 删除多行中的直到(包括)字符

    我有这个代码 def foo c Char c match case a B 我的光标位于后面的空格上 我想删除所有内容 直到 包括 我怎样才能做到这一点 我可以在光标位于第一行任意位置时执行相同操作吗 块中的任何位置 并将光标放在 d e
  • Vim NerdCommenter:在 vimrc 中添加新文件类型

    有没有办法在 vimrc 中为 NerdCommenter 定义新的文件类型注释 它已经可以工作了 但是如果我可以将其直接放入 vimrc 中 备份配置会更容易 Thanks NERDCommenter 能够解析commentstring选
  • 在插入模式下移至行首

    我知道我可以使用 Home in insert mode Esc i to exit insert mode and enter it again effectively going to the beginning of line But
  • 为什么 "map! :q " 在 vi​​m 中不起作用?

    I input map
  • Vim 中的类和函数名称高亮显示

    在沉迷于它的模态输入之后 我最近刚刚从 Textmate 设置了我的 Vim 环境 不过 Vim 中的语法高亮似乎不太美观 我用 C 编写代码 由于函数调用和类名无法突出显示 因此代码更难以阅读 我玩了一下配色方案 但找不到任何与 类名 或
  • 如何取消 Vim 中的粘贴操作?

    每当我不小心在 Putty 中右键单击 打开 Vim 时 我的剪贴板上就有相当多的文本 并且 Vim 启动了粘贴操作 该操作已经持续了大约十分钟 我不想丢失未保存的工作 有没有办法指示 Vim 停止粘贴文本 If you re in nor
  • 在Vim中,如何删除单词的后缀?

    在vim中 在正常模式下 如果光标位于单词中 而不是最后一个字母 de从光标位置删除单词的后缀 如果光标位于最后一个字母上 x也这样做 同时de会跳到下一个单词的末尾 您将使用什么命令在这两种情况下都有效 无论最后一个字母与否 目的是将命令
  • 如何在vim中将菜单键(“应用程序键”)映射到Escape键?

    我认为使用菜单键退出 vim 的插入模式将是一件很棒的事情 使用 Super 键也很好 但我不确定是否可能 因为 Super 键是一个修饰符 无论如何 我找不到任何与此相关的内容 寻求您的帮助并提前致谢 我认为没有任何方法可以配置 Vim
  • 当vim进入可视模式时运行命令

    我使用一个小脚本来触发插入模式以更改行号颜色 function CursorLineNrColorInsert mode Insert mode blue if a mode i highlight CursorLineNr ctermfg
  • VIM:在窗口顶部显示自定义参考栏

    我想设置一个 vim 环境来使用基本的 HTML 编辑 由其他人 为此 我想设置一个快速参考栏 显示在窗口顶部 例如
  • Vim 关闭窗口而不关闭缓冲区

    如何在不删除缓冲区的情况下关闭窗口或取消分割 A window is a viewport on a buffer In vim to manage windows it is CTRL w the leading command that
  • Foldmethod=同时标记和语法?

    同一文件是否可以根据标记和语法使用折叠 Since foldmethod一次只能设置为一个 我认为您真正可以做到这一点的唯一方法是使用 set foldmethod expr并与foldexpr 即使如此 我也不确定它是否能够完全按照您的要
  • vim - 如何删除 netrw?

    我正在测试https github com skwp dotfiles https github com skwp dotfiles 不幸的是它确实安装了很多我不想要的东西 例如 现在 使用空的 vimrc 当我打开 vim 时 我得到 N
  • 在 Vim 中的缩进线上按“Home”

    我有一个坏习惯 就是使用 home 键返回到行首 当我最近开始使用 vim 时 我注意到当我在缩进的行上按 home 键时 它会让我回到该行的开头 在 Notepad 我曾经使用的编辑器 中 它会让我返回到该行代码的开头 就在缩进之后 有没
  • 禁用 VIM 中的警告?

    有没有办法禁用 VIM 中的警告 特别是 当文件从只读变为可写时 我想禁用警告 12 我有一个脚本可以打开文件进行编辑 但 vim 认为文件已更改并发出警告 Thanks 我的 vimrc 中有以下内容 你应该只需要第二个 它将消息回显到状
  • VIM 始终使用选项卡式页面

    我想要一个可以放入 vimrc 文件中的命令 该命令将使 vim 始终以选项卡式页面模式打开 而无需传递 p在命令行上 有这样的命令吗 如果没有 是否有更好的方法来做到这一点 目前 我正在使用 alias vi vim p 在我的 bash

随机推荐

  • 解决jupyter notebook :No module named ‘tensorflow‘ 及python.exe无法找到入口问题及500 : Internal Server Error

    目录 jupyter notebook ModuleNotFoundError No module named 39 tensorflow 39 问题 可能性1 xff1a tensorflow版本与python版本不匹配 可能性2 xff
  • Ceph安装步骤1——基础Ceph集群安装

    一 基础环境 本文所搭建环境为Centos 7 内核4 17版本 xff0c 安装Ceph版本为luminous 一共配置三台机器 xff0c 每台机器的IP地址和主机名称分别为 xff1a 192 168 1 131 ceph admin
  • 远程桌面--某些设置由你的组织管理

    解决某些设置由你的组织管理 在cmd的运行里输入 gpedit msc 选择 计算机配置 gt 选择 管理模块 gt 选择 Windows组件 gt 选择 远程桌面服务 gt 选择 远程 桌面会话主机 gt 选择 连接 gt 右击 允许用户
  • 数据结构--第三章--栈和队列--知识点回顾

    第三章 栈和队列 一 基本知识点 1 栈 队列和线性表的异同 2 顺序栈的基本运算算法设计 3 链栈的基本运算算法设计 4 顺序队的基本运算算法设计 5 环形队列和非环形队列的特点 6 链队的基本运算算法设计 7 利用栈 队列求解复杂的应用
  • 实验四 SQL连接查询

    一 实验目的 xff1a 掌握SQL连接查询语句 二 实验内容和主要步骤 xff1a 查询每个学生及其选修成绩的情况 select sno cno Grade from sc 分别用左外连接和右外连接实现查询所有学生信息及其选修成绩的情况
  • wsl+opencv——清除旧版并安装新版,实测有效

    写在前面 我用的是cmake方式编译安装的opencv xff0c 但一直弄不好contrib这个东西 xff0c 索性先不用老版本的opencv我把源文件都删掉了 xff0c 没法用网上的一些方法make uninstall 卸载清除旧版
  • JAVA编程——父子类

    编程需求 需求如下 xff1a 编写父类People xff0c 子类Student继承自People类 父类People具有姓名 xff0c 性别 xff0c 年龄等性质 xff0c 还具有吃和说的行为 子类Student继承父类Peop
  • 部署zabbix6.2

    zabbix6 2安装步骤 配置阿里云源 注意本机的操作系统的centos8 span class token punctuation span root 64 localhost span class token operator spa
  • zabbix功能介绍

    1 zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix能监视各种网络参数 xff0c 保证服务器系统的安全运营 xff1b 并提供灵活的通知机制以让系统管理员快速定位
  • haproxy部署安装

    haproxy简介 HAProxy是一个使用C语言编写的自由及开放源代码软件 xff0c 其提供高可用性 负载均衡 xff0c 以及基于TCP和HTTP的应用程序代理 HAProxy特别适用于那些负载特大的web站点 xff0c 这些站点通
  • KVM虚拟化介绍和安装使用方法

    一 KVM虚拟化介绍 虚拟化 xff1a 在一台计算机上虚拟出多个逻辑的计算机 xff0c 而且每个逻辑计算机 它可以是不同操作系统 虚拟化技术 xff1a 可以扩大硬件容量 xff0c 单个cpu模拟出多个cpu并行 xff0c 允许一个
  • nginx反向代理与负载均衡以及高可用

    nginx反向代理介绍 nginx通常被用作后端服务器的反向代理 xff0c 这样就可以很方便的实现动静分离以及负载均衡 xff0c 从而大大提高服务器的处理能力 nginx实现动静分离 xff0c 其实就是在反向代理的时候 xff0c 如
  • Ceph 配置URL访问s3 Bucket

    一 创建json文件 xff0c 用于编辑policy xff0c 文件内容如下 xff08 Version并不重要 xff09 xff0c Action存在多种选择 如步骤三所示 xff0c 并且允许同时选择多个 xff0c 本文只是通过
  • nginx做负载均衡服务器,配置动静分离

    nginx做负载均衡服务器 xff0c 配置动静分离 1 题目要求 xff1a 后端RS服务器 台部署LNMP nginx1 22 43 mysql8 0 43 php8 1 xff0c 台部署 httpd 要求nginx和php使 编译安
  • 常用自动化运维工具简介和Ansible安装

    自动化运维工具 Puppet Puppet是历史悠久的运维 具之 它是 种基础架构即代码 xff08 IaC xff09 具 xff0c 使 户可以定 义其 基础架构所需的状态 xff0c 并使系统 动化以实现相同状态 Puppet可监视
  • Python之变量、数据类型、类型转换、运算符

    Python学习笔记2022 1 10 pycharmSettingsFont 设置字体字形 大小 行距Keymap 设置快捷键project 变量 xff0c 容器 格式 xff1a 变量名 61 值变量名命名规范 xff1a 数据类型i
  • 强连通分量分解详解 超级详细

    xff08 写的有点小多 xff0c 慢慢看 xff0c 会有收获的 xff09 xff08 1 xff09 首先我们得了解 xff0c 什么是强连通 xff1f 如果在一个有向图顶点子集内 xff0c 任取两个点 u 和 v xff0c
  • c语言中%d %%d %%%d和\\%d的区别

    1 d xff0c 表示按整型输出后面给出的变量的值 2 d xff0c 这就会被拆成两部分看待 xff0c 一是 在C语言中就是输出一个 xff0c 而是 d 就是一个普通字符 xff0c 所以当 d 在一起时 xff0c 其含义就是输出
  • 无法找到模块“vue-json-viewer””的声明文件。

    报错信息 xff1a 无法找到模块 vue json viewer 的声明文件 Users pins Desktop 运营平台 joinpins infomation sysytem node modules vue json viewer
  • VIM-配置-.vimrc

    前言 在使用vim的时候我们可以输入 xff1a set nu 显示行号 xff0c 但每次都输一遍操作就显得冗余 将这段命令写入vimrc就可以避免重复操作 在linux环境下 xff0c 配置文件一般都叫 rc xff0c rc是 ru