Linux下vim配置详解

本文详细介绍了如何在Vim编辑器中进行对齐配置和自动补全括号的设置,包括具体的命令及其作用,并提供了实用的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天使用Linux下的Vim,总是不得劲,网上找的Vim配置文件,总是有这样那样的不满意,遂查看了下具体命令的意义,整理如下:

1.大括号匹配问题

原理:是通过映射操作实现,简单的说,就是摁下{,vim执行一系列的操作。而要达到我们满意的效果,需要设置一些对应的操作的标准,也就是对齐配置。那么首先,设置对齐如下

(1)对齐相关配置:

set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
具体意义解释:
 set smartindent: 在行和段开始处使用制表符

 set tabstop=4: 设置tab为4个字符,而不是8个。

set shiftwidth=4:设置自动缩进为4个字符。

set expandtab 设置不使用空格代替制表符


对齐结束,下面进行括号补全的设置,以大括号和小括号为例。

(2)自动补全小括号:

imap ( ()<ESC>i

imap是配置文件用的一个函数,表示映射。这句话的意思是,映射“(”操作为“()<ESC>i”。

也就是说,当你摁下键盘上的“(”时,vim实际执行的是一系列操作:

<1>摁下“(”,摁下“)”。

<2>摁下ESC键

<3>摁下i键

上面<2><3>操作是为了将光标移前一格,自己试一下就知道了。


(3) 自动补全大括号:

有了上面的认识,大括号就比较好理解,具体代码如下:

imap { {}<ESC>i<CR><ESC>V<O

<ESC>后面跟的V < O 各代表什么意义呢?这是在vim命令模式下的一些快捷键命令。

V:按键shift+v,实现操作:选中当前行。这里当执行这一操作的时候,实际上选中的是“}”所在的行。

<: 按键shift+<,实现操作:将当前行向左移动一个tab,此时右括号已经和左括号对齐。

O:按键shift+o,实现操作:在当前行的前一行插入文本,实际执行效果就恰好满足我们的需求。


使用上面的方式进行配置大括号时,实际发现一般缩进正常,但是在已有缩进的行进行缩进时,比如嵌套if语句等,还是有问题,遂修改如下:

imap { {<CR>}<ESC>i<ESC>O


综上,其实vim的配置文件并不复杂,关键是要去理解。

文中用到的一些用<>括起来的符号作为键盘操作,具体可以通过下面的Vim命令来查看:

:help keycodes

在Vim的命令模式下,键入help keycodes如下:



这样,对于上面的<CR>、<ESC>等,就十分清楚了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值