,VIM会自动搜索所有当" />
当前位置:首页 > 日记 > 正文

vim设置高亮 | vim设置高亮光标所在的列

vim设置高亮 | vim设置高亮光标所在的列

1. vim设置高亮光标所在的列

VIM的自动补全功能让你有效的避免输入错误,快速的完成变量名、类名、方法名的输入,善用之可以极大的提高软件开发的工作效率。需要提前说明的是,下面介绍的所有快捷键必须让VIM位于插入模式(即"i"Insert And Replace"模式)。VIM的自动补全方式一共有三种

已知单词

这是VIM中最基本的功能,当你键入某个单词的前几个字母,然后按<C-p>,VIM会自动搜索所有当前打开的缓冲区中的单词完成自动补全。<C-p>表示VIM从当前光标位置向前搜索,你也可以按<C-n>,表示从当前光标位置向前搜索。通常我们可以忽略<C-n>和<C-p>的区别。为了方便记忆,我选择按<C-p>,因为p代表previous,<C-p>表示补全之前(previous)已经键入的单词. 下面两个图分别是<C-n>和<C-p>的效果图,区别在于在自动补全菜单弹出时默认高亮的单词

另外,如果你打开的文件太多,那么自动补全可能会列出一大串来自其他缓冲区中的单词,这时可以使用<C-x><C-p>或者<C-x><C-n>让VIM仅仅列出当前缓冲区的单词。

关键词字典

前面讲到,通过<C-x><C-p>可以使VIM仅仅根据当前缓冲区的内容补全单词,其中,<C-x>表示让VIM进入插入模式的一个子模式,通过EX命令"help ins-complete"可以查阅所有以<C-x>开头的快捷键说明,但这不是本文的重点,不再累述。基于关键字字典补全的快捷键为<C-x><C-k>, ‘k’表示"keyword",即关键字。当<C-x><C-k>按下时,VIM会从"dictionary"全局变量中搜索字典文件,进行自动补全的工作。词典的另一个作用是可以做拼写检查,快捷键是<C-x><C-S>。关于如何利用VIM做拼写检查,将另行撰文介绍。

执行 ":set dictionary+=[字典文件]" 设置字典文件的路径,执行<C-x><C-k>进行自动补全。

Omnicompletefunc

自版本7.0开始,VIM开始提供自动补全的回调函数,通过下面的快捷键触发:

<C-x><C-o>: 调用omnifunc定义的函数

<C-x><C-u>: 调用completefunc定义的函数

omnifunc和completefunc两个回调函数没有本质上的区别,但是在惯例上,omnifunc定义的函数的与特定的文件类型绑定的,不同的文件类型会定义不同的omnifunc。<C-x><C-o>中的’o',即’omnifunc’。而completefunc通常是给第三方插件或者说用户自定义使用的,<C-x><C-u>中的’u',即"User Defined"的意思。

如何编写omnifunc或者completefunc的方法,可通过"help complete-functions"查阅,本文重点在于介绍两个重要的插件,就使用了这两个函数实现C/C++语言的自动补全功能:

supertab

VIM的哲学就是尽量的减少用户需要键入的次数,因此<C-x>开头的快捷键也显得过于麻烦,"help ins-completion"参考手册中有一个例子函数,CleverTab(),在用户按下<Tab>键时,自动判断是否需要调用补全功能还是插入一个<Tab>字符,但是这还不能满足我们日常软件开发的需要,因此supertab插件是对VIM的自动补全功能的重要补充。在缺省情况下supertab就能很好的工作,不需要特别的设置。需要特别说明的是,这个插件是对下面介绍的插件OmniCppComplete的一个有效的补充。主要是因为如果不安装supertab,那么在进行自动补全的时候,需要按<C-x><C-o>进行触发。

OmniCppComplete

如前所述,当你在编写C/C++代码时,如果需要VIM为你自动补全函数名、类名等,需要依赖正确的omnifunc(或者completefunc)的实现,而OmniCppComplete正是应这个需求而出现的。安装好这个插件后,也不需要做任何设置,只需要生成相应的tag文件即可正常工作。需要注意的是,在生成tag文件时,需要使用下面的参数达到最好的效果:

ctags --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q

下面是使用OmniCppComplete的效果图:

本文重点在于介绍VIM的自动补全功能,因此对于C、C++语言中自动补全功能并未作深入的探讨。众所周知,VIM中对C++语言的自动补全有一些缺陷,目前有一些插件如clang_complete、gccsense能够更好的完成C/C++语言的自动补全功能,将另行撰文介绍。多说一句,其实在大多数情况下,利用这些基本的自动补全功能也够用了。特别是针对历史遗留代码居多的大规模项目,这些最基本的功能反而是最有效率的。

2. vim 设置搜索高亮

在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc在终端 输入以下命令来编辑vimrc配置文件:sudo vim /etc/vim/vimrc或者sudo gedit /etc/vim/vimrc1、显示行号在文件末端添加一新行,输入 set nu2、语法高亮在文件中找到 "syntax on 这一行,去掉前面的双引号",双引号是注释的意思3、自动缩进其中autoindent 是自动缩进;

cindent是特别针对 C语言语法自动缩进 注意:如果设置好以上设置后,VIM没有作出相应的动作,那么请你把你的VIM升级到最新版,一般只要在终端输入以下命令即可:

sudo apt-get install vim

3. vim设置选中高亮显示

gedit是一个GNOME桌面环境下兼容UTF-8的文本编辑器。它使用GTK+编写而成,它十分的简单易用,有良好的语法高亮,对中文支持很好,支持包括gb2312、gbk在内的多种字符编码。

vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

4. vim 回到上次光标

如果仅仅是移动到行尾就用END键如果是想从命令模式到行尾并进入输入模式:按大写A

5. vim设置光标样式

Ctrl + a 光标移动到行首(Ahead of line),相当于通常的Home键

Ctrl + e 光标移动到行尾(End of line)

Ctrl + c 取消(cancel)当前行输入的命令

Ctrl + l 清屏,相当于执行clear命令

Ctrl + p 调出命令历史中的前一条(Previous)命令,相当于通常的上箭头

Ctrl + n 调出命令历史中的下一条(Next)命令,相当于通常的上箭头

Ctrl + u 删除光标之前到行首的字符

Ctrl + k 删除光标到行尾的字符

Ctrl + w 删除从光标位置前到当前所处单词(Word)的开头

Ctrl + y 粘贴最后一次被删除的单词

Ctrl + r 显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)

Option+← 光标单词间移动(向左)

Option+→ 光标单词向右移动

vim编辑快捷键

删除和删除多行的快捷键,要在默认模式下使用。在编辑模式下可以按esc,退出编辑模式。

然后输入以下指令

光标移动

移动到行尾"$",移动到行首"0"(数字)

移动到段首"{",移动到段尾"}"

移动到下一个词"w",移动到上一个词"b"

移动到文档开始"gg",移动到文档结束"G"

跳到第n行"ngg" 或 "nG" 或 ":n"

移动光标到屏幕顶端"H",移动到屏幕中间"M",移动到底部"L"

移动到上次编辑文件的位置 "`"

批量删除:

D 删除当前光标所在位置到某一行的结尾

d$ 删除当前光标所在位置到某一行的结尾

dd 删除当前所在行

5dd 删除从当前行至其后的5行内容

dL 删除当前位置到屏幕上最后一行的内容

dH 删除当前位置到屏幕上第一行的内容

dG 删除当前位置到工作缓存区结尾的内容

d1G 删除当前位置到工作缓存区开始的内容

分类: shell编程学习

6. vim 高亮光标所在行

光标定位G 移至行行首nG 移至第n行行首n+ 移n行行首n- 移n行行首n$ 移n行(1表示本行)行尾0 所行行首$ 所行行尾^ 所行首字母h,j,k,l 左移移移右移H 前屏幕首行行首M 屏幕显示文件间行行首L 前屏幕底行行首更参考原文移行道两0 ^ (shift+6)行首第字符空白字符点区别移行尾 $ (shift+4)

7. vim语法高亮设置

VS Code中的代码可以直接粘贴。

VS Code里的代码

粘进Onenote后

没有底色,字体缩进正常。要行号可以自己添加。

要注意如果装了Vim插件,用Ctrl+C复制没有颜色效果。

相关文章

如何恢复电脑快捷键 | 如何恢复电

如何恢复电脑快捷键 | 如何恢复电

恢复,快捷键,设置,快捷方式,方法,1. 如何恢复电脑快捷键设置如果电脑安装了多个输入法的话,每次都要按CTRL+SHIFT键续个切换的话,会比较慢,其实你可以为你的安装的每一个输入设置一个快捷键方式,要使用某个输入法的时候,就要按相应的快捷键方式…

wan接口设置 | wan接口设置是什么

wan接口设置 | wan接口设置是什么

接口,设置,配置,路由器,什么意思,1. wan接口设置是什么意思啊路由器上的WAN口是用来连接外网(公网),或者说是连接宽带运营商的设备的。例如电话线上网时WAN口用来连接Moden(猫);光纤上网时,WAN口用来连接光猫;网线入户上网时,WAN口用来连接入户网线…

苹果计算器设置 | 苹果计算器设置

苹果计算器设置 | 苹果计算器设置

计算器,设置,列表,计算,菜单,1. 苹果计算器设置每笔列表苹果手机计算器一个数字的n次方步骤如下:1,点击进入“计算器”;2,将手机横屏,系统会自动转入科学计算器;3,假设我们要计算2的10次方,先输入数字2;4,再点击X的Y次方按键;5,再输入数字10;6,点击“=”…

王者荣耀离线设置 | 王者荣耀离线

王者荣耀离线设置 | 王者荣耀离线

离线,设置,模式,荣耀,王者,1. 王者荣耀离线设置有什么用王者荣耀离线有两个意思,一个是不在游戏里,一个是隐身。2. 王者荣耀是不是可以设置成离线显示离线的原因是因为你在设置中设置了那个隐身在线,这样别人就看见你是离线中3. 王者荣耀离线…

电脑关联qq号怎么设置 | 电脑qq怎

电脑关联qq号怎么设置 | 电脑qq怎

设置,密码,如何设置,号码,如何在,1. 电脑qq怎么设置关联qq号QQ好友的关联QQ号是无法查看的,关联的QQ只有关联双方才能知道。查看关联QQ号方法/步骤:1:登录手机QQ。2:在QQ界面,手指向右滑动出菜单,点击左下角的“设置”。3:在“设置”页面,点击“账…

还原所有系统设置 | 还原系统设置

还原所有系统设置 | 还原系统设置

文件,系统设置,系统版本,设置,版本,1. 还原系统设置和以前版本的文件如果您用的是正版Win78家庭版、中文版是有一键还原的(专业版以上版本的系统99%是盗版的),如果是盗版是没有的,是需要您准备的,在说一下,如果您的电脑卡机了、进不了系统或开不…

电脑多用户设置 | 电脑多用户切换

电脑多用户设置 | 电脑多用户切换

多用户,用户,设置,快捷键,账号,1. 电脑多用户切换这主要是由于以下几个原因造成的。1.系统没有启用“使用用户快速切换”功能。启用的方法为:在任务栏上依次单击“开始→控制面板→用户帐户→更改用户登录或注销的方式”,然后勾选“使用欢迎…

千牛在线设置 | 千牛怎么设置在线

千牛在线设置 | 千牛怎么设置在线

设置,在线,状态,显示,时间显示,1. 千牛怎么设置在线状态不是的啊,手机千牛只要在线,都会收到消息的不会受到电脑的影响,除非你设置成电脑在线的时候手机不在线 2. 千牛怎么设置在线状态 苹果手机点击消息栏左上角头像图标,可以切换成离线3. 千…

手机支付密码怎么设置 | 手机支付

手机支付密码怎么设置 | 手机支付

密码,设置,支付,手机支付,输入,1. 手机支付密码怎么设置安全打开微信,点击我。点击支付,点击钱包。点击安全保障,点击安全锁。选择手势密码解锁,输入支付密码。设置手势密码,再次输入手势密码即可。选择指纹解锁,输入支付密码。录入指纹,微信钱包…

隐藏桌面的快捷键 | 隐藏界面的快

隐藏桌面的快捷键 | 隐藏界面的快

快捷键,界面,桌面,设置,画面,1. 隐藏界面的快捷键如果你说的隐藏是把窗口最小化的话可以点击那个“显示桌面”的按钮,快捷键是WIN键+D(WIN键就是键盘上显示WINDOWS标志的按键,ctrl键旁边有个小旗的图的那个2. 隐藏游戏界面快捷键3DMAX隐藏当前…

小米手机下载设置 | 小米手机下载

小米手机下载设置 | 小米手机下载

设置,小米手机,下载,密码,权限,1. 小米手机下载设置在哪儿设置1点击更多打开设置选择更多设置进入。2点击系统安全进入后选择系统安全选项。3点击那种未知进入后选择按照位置应用选项。4点击开启把允许来自此来源的应用开启即可。MIUI 12是…

网吧系统设置 | 电脑设置网吧系统

网吧系统设置 | 电脑设置网吧系统

系统,电脑设置,设置,网络设置,模式,1. 电脑设置网吧系统先确定是否为无盘电脑,如果是无盘电脑还需要购买硬盘。安装方法如下:1,将系统光盘或系统U盘插到电脑上。2,重启电脑,进入BIOS,设置系统光盘或系统U盘为首选引导设备。3,按F10保存,点Yes确定,电…