php vimrc配置文件,vim技巧:我的 .vimrc 配置文件,详解每一个配置项的作用

下面是我的 .vimrc 配置文件,每一个配置项都添加了注释说明,详解每一个配置项的作用,以便确认为什么要添加这个配置项。

" 使用vim的modeline来设置当前文件的textwidth,避免输入超过78个字符时自动换行

" 使用:verbose set textwidth?命令可以看到vim默认为vim配置脚本设置了textwidth

" 为78,当输入超过78个字符并按下空格键时会自动换行.将textwidth设成0关闭该功能

"" vim: tw=0 :

" 去掉有关vi一致性模式,避免操作习惯上的局限.

set nocompatible

" 让Backspace键可以往前删除字符.

" Debian系统自带的vim版本会加载一个debian.vim文件,默认已经设置这一项,

" 可以正常使用Backspace键.如果使用自己编译的vim版本,并自行配置.vimrc文件,

" 可能就没有设置这一项,导致Backspace键用不了,或者时灵时不灵.所以主动配置.

set backspace=indent,eol,start

" 1=启动显示状态行, 2=总是显示状态行.设置总是显示状态行,方便看到当前文件名.

set laststatus=2

" 设置ruler会在右下角显示光标所在的行号和列号,不方便查看.改成设置状态栏显示内容

"" set ruler

" 设置状态行显示的内容. %F: 显示当前文件的完整路径. %r: 如果readonly,会显示[RO]

" %B: 显示光标下字符的编码值,十六进制. %l:光标所在的行号. %v:光标所在的虚拟列号.

" %P: 显示当前内容在整个文件中的百分比. %H和%M是strftime()函数的参数,获取时间.

set statusline=%F%r\ [HEX=%B][%l,%v,%P]\ %{strftime(\"%H:%M\")}

" 显示还没有输入完整的命令.例如yy命令,输入第一个y会在右下角显示y.

set showcmd

" 使用Tab键补全时,在状态栏显示匹配的列表,方便查看都有哪些命令符合补全条件.

set wildmenu

" 显示行号

set number

" 高亮显示匹配的括号

set showmatch

" 高亮显示所有搜索到的内容.后面用map映射快捷键来方便关闭当前搜索的高亮.

set hlsearch

" 光标立刻跳转到搜索到内容

set incsearch

" 搜索到最后匹配的位置后,再次搜索不回到第一个匹配处

set nowrapscan

" 去掉输入错误时的提示声音

set noeb

" 默认按下Esc后,需要等待1秒才生效,设置Esc超时时间为100ms,尽快生效

set ttimeout

set ttimeoutlen=100

" 设置文件编码,主要是避免中文乱码.先注释,后续遇到中文乱码再打开

"" set fileencodings=utf-8,cp936,big5,latin1

" FIXME 在MS-DOS控制台打开vim时,控制台使用鼠标右键来复制粘贴,设置

" 全鼠标模式,鼠标右键被映射为visual mode,不能用来复制粘贴,不方便.

" 但是如果不设置鼠标模式,会无法使用鼠标滚轮来滚动界面.经过验证,发现

" 可以设成普通模式mouse=n来使用鼠标滚轮,也能使用鼠标右键复制粘贴.

" mouse=c/mouse=i模式都不能用鼠标滚轮. Linux下还是要设成 mouse=a

set mouse=n

" FIXME 在MS-DOS控制台打开vim,光标很小,不方便看到光标在哪里.下面

" 设置cursorline,高亮光标所在的行.cursorlineopt=number只高亮行号部分,

" 不影响正文内容的显示. 在其他容易看到光标的终端上可以去掉这两个设置.

set cursorline

set cursorlineopt=number

" 开启语法高亮

syntax enable

" 检测文件类型,并载入文件类型插件,为特定文件类型载入相关缩进文件

filetype plugin indent on

" 设置自动补全的选项. longest表示只自动补全最大匹配的部分,剩余部分通过

" CTRL-P/CTRL-N来选择匹配项进行补全. menu表示弹出可补全的内容列表.

" 如果有多个匹配,longest选项不会自动选中并完整补全,要多按一次CTRL-P,比较

" 麻烦,不做设置,保持默认设置,vim默认没有设置longest.

"" set completeopt=longest,menu

" 自动缩进.这个导致从外面拷贝多行以空格开头的内容时,会有多的缩进,先不设置.

"" set autoindent

" 设置C风格的自动缩进.设置filetype indent on后,就会根据文件类型自动缩进.

" 按照vim用户手册'30.3 Automatic indenting'的说明,可以不再单独设置cindent.

"" set cindent

" 自动缩进时,缩进长度为4

set shiftwidth=4

" 输入Tab字符时,自动替换成空格

set expandtab

" 设置softtabstop有一个好处是可以用Backspace键来一次删除4个空格.

" softtabstop的值为负数,会使用shiftwidth的值,两者保持一致,方便统一缩进.

set softtabstop=-1

" 设置颜色主题,适用于黑色背景.

colorscheme slate

" 创建一个新的 MyTabSpace 组,并设置它的颜色

highlight MyTabSpace ctermfg=darkgrey

" 指定tab字符和空格的颜色组为MyTabSpace,不同字符串之间用|隔开,要使用\|转义.

match MyTabSpace /\t\| /

" 针对特定类型的代码文件,设置显示Tab键和行尾空格以便在查看代码时注意到它们

" TODO 后续查看代码如果体验不好再改成用map映射快捷键开关list来动态切换显示

autocmd FileType c,cpp,java,xml setlocal list | set listchars=tab:>~,trail:.

" 配置 gtags 插件,用于在函数之间跳转,方便查看源代码.

" 参考 gtags-cscopde.vim 的注释,添加下面语句来使用 ':tag' 和 ''

set cscopetag

" 设置 cscopetag 后,由于gtags-cscopde默认没有启动,还需要进行下面的设置,

" 结合这两个设置, gtags 就可以使用Ctrl-]键来跳转到函数定义处.

let GtagsCscope_Auto_Load = 1

" 配置 GtagsCscope_Auto_Load = 1 后,在没有GTAGS文件的目录下使用vim,会提示

" Gtags-cscope: GTAGS not found.

" Press ENTER or type command to continue

" 需要按回车才会打开文件.如果要去掉这个报错,需要设置GtagsCscope_Quiet = 1

let g:GtagsCscope_Quiet = 1

" 设置只有一个匹配结果时,不显示quickfix窗口

let g:Gtags_Close_When_Single = 1

" 配置 quickfix 相关命令的快捷键. 可以用:map命令查看vim已有的快捷键映射.

nnoremap :cclose

nnoremap :cn

nnoremap :cp

" vim 用 map 命令来映射快捷键,它前面可以加一些前缀来对应不同的场景.

" 下面 map 前面的 nore 表示非递归. nore 前面的n表示只在普通模式下生效.

" 即,基于下面的配置,在插入模式下,按F6没有这个映射效果.插入模式对应i.

" 下面配置cscope查找文件命令的快捷键为F6,由于需要手动输入文件名,不要加

nnoremap :cs find f

" 如果要去掉高亮显示搜索到的内容,需要再次搜索一些不存在的字符串,比较麻烦.可以

" 在vim的命令行中执行nohlsearch命令去掉当前高亮.下面以:开头表示在命令行执行.

nnoremap :nohlsearch

" 插入模式下也用F9来去掉搜索高亮.下面的表示CTRL-O,在插入模式执行一次命令

inoremap :nohlsearch

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤教育】国家开放大学2018年秋季 1317T社会工作行政(本) 参考试题

试卷代号:1325 妇产科学与儿科护理学 试题 2019年1月 一、单项选择题(每题2分,共50分) 1.正常胎心率的范围是( )。 A. 80~100次/分 B.100~120次/分 C.120&…

检测工业级交换机性能好坏的8种方法

如今,工业级交换机的品牌和种类可谓是非常多,对于工业级交换机用户来说,如何选择,如何检测交换机的性能可以说是非常头疼的事情。其实一般检测工业级交换机的性能好坏也是有方法的,下面杭州飞畅科技就给大家介绍一些常…

带有Oracle Digital Assistant和Fn Project的会话式UI。 第三部分,迁移到云

在本文中,我将继续讲述在Oracle Digital Assistant和Oracle Digital Assistant的 基础上为FlexDeploy实现对话式UI的故事。 Fn项目 。 今天,我将围绕聊天机器人工作的无服务器API移到云中,因此整个解决方案都在云中工作: 该API是…

【渝粤教育】国家开放大学2018年秋季 1398T分析化学(本) 参考试题

试卷代号:2027 金融市场 试题 2019年1月 一、单项选择题(每小题1分,共10分。每小题有一项正确答案,请 将正确答案的序号填写在括号内) 1.金融市场上最重要的主体是( )。 A.政府 B.家庭 C.企业 D.机构投资者 2.( )是指那…

如何识别交换机的性能优劣?

随着网络应用的逐渐深入,电信级交换机,特别是三层交换机已经成为当今市场争夺的焦点。但是在功能各异、种类繁多的交换机设备中,用户要如何拨开迷雾,找到符合自身应用特点的产品。接下来就由杭州飞畅科技给大家讲讲如何识别交换机…

【渝粤教育】国家开放大学2018年秋季 2120T医学免疫学与微生物学 参考试题

试卷代号:2136 管理会计 试题 2019年1月 一、单项选择题(每小题1分,共20分) 1.EVA与基于利润的企业业绩评价指标的最大区别是( )。 A.将权益资本成本计入资本成本 B.不考虑权益资本成本 C&…

Jakarta EE中的规范范围

使用Eclipse Foundation Specification Process (EFSP),一个开放源代码规范项目就有一个专门的提交者项目团队来创建和维护一个或多个规范。 创建和维护的周期跨越了该规范的多个版本,因此尽管各个成员可能来去去去,但…

kafka metric java,jmx_exporter+prometheus+grafana实现kafka metric监控

2.配置kafka的JMX PORT,修改bin/kafka-server-start.sh,添加一行export JMX_PORT"9999",我这里用了9999端口。3.下载jmx_exporter,链接 https://github.com/prometheus/jmx_exporter, 我将文件放在/opt/kafka/kafka_2.11-1.0.0/jmx_prometheus_javaagent-…

【渝粤教育】国家开放大学2018年秋季 2322T物流信息技术 参考试题

试卷代号:2391 古代汉语(2) 试题(开卷) 2019年1月 一、填空(每空1分,共20分) 1.开我国文体研究先河的是 。他把文体分为四类,即____、、 、。 2.论辩类,正面阐…

【渝粤教育】国家开放大学2018年秋季 2604T城市轨道交通行车组织 参考试题

试卷代号:2632 城市轨道交通客运组织 试题 2019年1月 一、单项选择题(每小题2分,共20分,将正确答案选项的字母填入题目中的括号内) 1.( )是客运服务系统的行为规则。 A.安全规则 B.事故处理规则…

网络交换机3大常见故障问题

交换机运行中出现故障是不可避免的,但出现故障后应当迅速地进行处理,尽快查出故障点,排除故障。要做到这一点,就必须了解交换机故障的类型及具备对故障进行分析和处理的能力。一般来说,交换机常见的故障有电源故障、端…

php只能写入7字符,如何在PHP 7之前解决“必须是字符串的实例,字符串给定”?...

类型提示只能是对象和数组(自PHP 5.1以来)类型 . 不支持使用int和string的传统类型提示 .所以你拥有它 . 错误消息并不是真的有用,但我告诉你 .** 2017年编辑**有效类型类/接口名称:参数必须是给定类或接口名称的实例 . (自PHP 5.0.0起)self:…

java多模块maven_Maven和Java多版本模块

java多模块maven介绍 通常,项目具有最低Java版本要求,并且适用于其所有模块。 但是每条规则都有其例外,最近我偶然发现了以下问题。 我的一个开源项目对其大多数模块都要求使用Java 1.6,除了一个要求1.7版本的项目。 当集成具有…

【渝粤教育】国家开放大学2018年秋季 3950T金融基础 参考试题

试卷代号:4988 电子政务概论 试题(开卷) 2019年1月 一、单项选择题(每题所设选项中只有一个正确答案,每小题1分,共10分,多选、错选或不选均不得分) 1.电子政务的公共服务…

8口网管型工业以太网交换机产品性能介绍

8端口以太网交换机因其端口数量、价格都比较适中,所以是比较常见的一款产品。杭州飞畅科技为满足不同客户的需要,就8端口的工业交换机分别研发了网管型、非网管、8电口、2光6电、4光4电等多种规格。如果您这边有特殊规格的需求,飞畅科技也可以…

php 读取页面全部变量,PHP-如何从外部文件获取“页面”变量?

我使用外部文件来处理WP插件中的AJAX调用.为了使其能够迭代WP方法,我进行了以下修改:require( ../../../wp-blog-header.php );header("HTTP/1.1 200 OK");问题是,似乎我无法从中获取任何特定于页面状态的变量.例如,get_query_var(‘page’)始终返回为空.…

【渝粤教育】国家开放大学2018年秋季 8177-21T (1)工程经济与管理 参考试题

科目编号:8182 a 2018-2019学年度第一学期期末考试 灌溉与管理 试题 2019年 1 月 一、概念解释 (每题5分,共20分) 1.蒸腾速率: 2.灌溉水源: 3.土壤水饱和度: 4.土壤水分的有效性…

5个重构原理示例

这篇文章介绍了重构真正的开源代码( Gradle Modules Plugin )时应用的五​​种(最著名的)重构原理。 语境 当我为Gradle Modules Plugin (PR #73 ) 单独编译 module-info.java ,我注…

【渝粤教育】国家开放大学2019年春季 0134-22T劳动法学 参考试题

试卷编号:0134 期末考 劳动法学试题答案 1、劳动法的调整对象 2、竞业限制 3.职工培训 4.行政责任 二、单项选择题(每题4分,共20分) 考生注意:必须将正确答案填入表格中,否则该…

POE工业交换机的四种接法详解

PoE工业交换机具有电信级性能特征,可耐受严苛的工作环境。PoE交换机产品系列丰富,端口配置灵活,可满足各种工业领域的使用需求。那么,POE工业交换机该怎么接线呢?接下来就由飞畅科技的小编来为大家详细介绍下POE交换机…