0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vim中默认未启用但实际非常有用的选项

Linux爱好者 来源:未知 作者:李倩 2018-09-25 17:54 次阅读

Vim作为一款功能强大、选项丰富的编辑器,为许多用户所热爱。本文介绍了一些在Vim中默认未启用但实际非常有用的选项。虽然可以在每个Vim会话中单独启用,但为了创建一个开箱即用的高效编辑环境,还是建议在Vim的配置文件中配置这些命令。

开始前的准备

这里所说的选项或配置均位于用户主目录中的Vim启动配置文件.vimrc。 按照下面的说明在.vimrc中设置选项:

(注意:vimrc文件也用于Linux中的全局配置,如/etc/vimrc或/etc/vim/vimrc。本文所说的.vimrc均是指位于用户主目录中的.vimrc文件。)

Linux 系统中:

用Vim打开.vimrc文件:vim ~/.vimrc

复制本文最后的选项列表粘贴到.vimrc文件

保存并关闭 (:wq)

(LCTT 译注:此处不建议使用Vim编辑.vimrc文件,因为很可能无法粘贴成功,可以选择gedit编辑器编辑.vimrc文件。)

Windows 系统中:

首先,安装 gvim

打开gvim

单击 “编辑” -> “启动设置”,打开_vimrc文件

复制本文最后的 “选项列表” 粘贴到_vimrc文件

单击 “文件” -> “保存”

(LCTT 译注:此处应注意不要使用Windows自带的记事本编辑该_vimrc文件,否则可能会因为行结束符不同而导致问题。)

下面,我们将深入研究提高Vim编辑效率的选项。主要分为以下几类:

缩进 & 制表符

显示 & 格式化

搜索

浏览 & 滚动

拼写

其他选项

1. 缩进 & 制表符

使Vim在创建新行的时候使用与上一行同样的缩进:

set autoindent

创建新行时使用智能缩进,主要用于 C 语言一类的程序。通常,打开 smartindent 时也应该打开 autoindent:

set smartindent

注意:Vim 具有语言感知功能,且其默认设置可以基于文件中的编程语言来改变配置以提高效率。有许多默认的配置选项,包括 axs cindent,cinoptions,indentexpr 等,没有在这里说明。 syn 是一个非常有用的命令,用于设置文件的语法以更改显示模式。

(LCTT 译注:这里的 syn 是指 syntax,可用于设置文件所用的编程语言,开启对应的语法高亮,以及执行自动事件 (autocmd)。)

设置文件里的制表符 (TAB) 的宽度(以空格的数量表示):

set tabstop=4

设置移位操作 >> 或 << 的缩进长度(以空格的数量表示):

set shiftwidth=4

如果你更喜欢在编辑文件时使用空格而不是制表符,设置以下选项可以使 Vim 在你按下 Tab 键时用空格代替制表符。

set expandtab

注意:这可能会导致依赖于制表符的 Python 等编程语言出现问题。这时,你可以根据文件类型设置该选项(请参考 autocmd)。

2. 显示 & 格式化

要在每行的前面显示行号:

set number

要在文本行超过一定长度时自动换行:

set textwidth=80

要根据从窗口右侧向左数的列数来自动换行:

set wrapmargin=2

(LCTT 译注:如果 textwidth 选项不等于零,本选项无效。)

当光标遍历文件时经过括号时,高亮标识匹配的括号:

set showmatch

3. 搜索

高亮搜索内容的所有匹配位置:

set hlsearch

搜索过程中动态显示匹配内容:

set incsearch

搜索时忽略大小写:

set ignorecase

在打开 ignorecase 选项的条件下,搜索内容包含部分大写字符时,要使搜索大小写敏感:

set smartcase

例如,如果文件内容是:

test

Test

当打开ignorecase和smartcase选项时,搜索test时的突出显示:

testTest

搜索Test时的突出显示:

testTest

4. 浏览 & 滚动

为获得更好的视觉体验,你可能希望将光标放在窗口中间而不是第一行,以下选项使光标距窗口上下保留 5 行。

set scrolloff=5

一个例子:

第一张图中scrolloff=0,第二张图中scrolloff=5。

提示:如果你没有设置选项nowrap,那么设置sidescrolloff将非常有用。

在Vim窗口底部显示一个永久状态栏,可以显示文件名、行号和列号等内容:

set laststatus=2

5. 拼写

Vim有一个内置的拼写检查器,对于文本编辑和编码非常有用。Vim可以识别文件类型并仅对代码中的注释进行拼写检查。使用下面的选项打开英语拼写检查:

set spell spelllang=en_us

(LCTT 译注:中文、日文或其它东亚语字符通常会在打开拼写检查时被标为拼写错误,因为拼写检查不支持这些语种,可以在 spelllang 选项中加入 cjk 来忽略这些错误标注。)

6. 其他选项

禁止创建备份文件:启用此选项后,Vim 将在覆盖文件前创建一个备份,文件成功写入后保留该备份。如果不想保留该备份文件,可以按下面的方式关闭:

set nobackup

禁止创建交换文件:启用此选项后,Vim 将在编辑该文件时创建一个交换文件。 交换文件用于在崩溃或发生使用冲突时恢复文件。交换文件是以 . 开头并以 .swp 结尾的隐藏文件。

set noswapfile

如果需要在同一个 Vim 窗口中编辑多个文件并进行切换。默认情况下,工作目录是打开的第一个文件的目录。而将工作目录自动切换到正在编辑的文件的目录是非常有用的。要自动切换工作目录:

set autochdir

Vim 自动维护编辑的历史记录,允许撤消更改。默认情况下,该历史记录仅在文件关闭之前有效。Vim 包含一个增强功能,使得即使在文件关闭后也可以维护撤消历史记录,这意味着即使在保存、关闭和重新打开文件后,也可以撤消之前的更改。历史记录文件是使用 .un~ 扩展名保存的隐藏文件。

set undofile

错误信息响铃,只对错误信息起作用:

set errorbells

如果你愿意,还可以设置错误视觉提示:

set visualbell

惊喜

Vim 提供长格式和短格式命令,两种格式都可用于设置或取消选项配置。

autoindent 选项的长格式是:

set autoindent

autoindent 选项的短格式是:

set ai

要在不更改选项当前值的情况下查看其当前设置,可以在 Vim 的命令行上使用在末尾加上 ? 的命令:

set autoindent?

在大多数选项前加上 no 前缀可以取消或关闭选项:

set noautoindent

可以为单独的文件配置选项,而不必修改全局配置文件。需要的话,请打开文件并输入:,然后键入set命令。这样的话,配置仅对当前的文件编辑会话有效。

使用命令行获取帮助:

:help autoindent

注意:此处列出的命令仅对 Linux 上的 Vim 7.4 版本和 Windows 上的 Vim 8.0 版本进行了测试。

这些有用的命令肯定会增强您的Vim使用体验。你会推荐哪些其他有用的命令?

选项列表

复制该选项列表粘贴到.vimrc文件中:

" Indentation & Tabs

set autoindent

set smartindent

set tabstop=4

set shiftwidth=4

set expandtab

set smarttab

"Display & format

set number

set textwidth=80

set wrapmargin=2

set showmatch

" Search

set hlsearch

set incsearch

set ignorecase

set smartcase

"Browse & Scroll

set scrolloff=5

set laststatus=2

" Spell

set spell spelllang=en_us

"Miscellaneous

set nobackup

set noswapfile

set autochdir

set undofile

set visualbell

set errorbells

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • VIM
    VIM
    +关注

    关注

    0

    文章

    129

    浏览量

    15180
  • 编辑器
    +关注

    关注

    1

    文章

    787

    浏览量

    30170

原文标题:增强 Vim 编辑器,提高编辑效率

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    linux vi/vim的几种常规操作

    vim是一个文本编辑器,在几乎所有的linux发行版中都有vi/vim编辑器,但是这个编辑器非常有特色,刚接触的时候在使用上可能会非常不习惯。
    发表于 09-22 09:02 522次阅读

    对新手非常有用的电子器件基础资料

    本帖最后由 eehome 于 2013-1-5 09:56 编辑 对新手非常有用的电子器件基础资料PCB打样找华强 http://www.hqpcb.com/3 样板2天出货
    发表于 10-20 20:13

    03国赛控制类准备步骤,非常有用

    这是关于国赛准备的一些模块原理图以及相关PCB布线等的步骤,非常有用
    发表于 01-23 22:00

    linux vim命令总结

    打开file unixview file等效,通过w!可以强制存盘 vim -M file 用只读模式打开file 通过 :set modifiable :set write 可以去除这种保护
    发表于 07-03 00:27

    Vim怎么安装

    1、刚安装的Ubuntu默认没有vim,要我们自己安装。首先要确认自己的系统是可以上网的,在系统右上角看到这个标志证明可以上网 或者在终端用ping命令【ping www.163.com】 2、在终端输入命令【sudo apt
    发表于 11-03 08:48

    CAD非常有用的捕捉选项:From

    隐藏的捕捉命令:From 捕捉是我们用得非常频繁的功能,如果能发现什么独特功能,没准在绘图时能用得上。打开捕捉设置对话框,看看里面的一些选项,延伸、平行这些平时用得比较少
    发表于 10-23 16:16 728次阅读
    CAD<b class='flag-5'>非常有用</b>的捕捉<b class='flag-5'>选项</b>:From

    传感器实际应用电路设计

    传感器实际应用电路设计 非常有用的参考资料
    发表于 12-29 15:46 34次下载

    17个非常有用的 Python 技巧

    实际上,很多人选择学习 Python 的首要原因是其编程的优美性,用它编码和表达想法非常自然。此外,Python 的编写使用方式有多种,数据科学、网页开发、机器学习皆可使用 Python。Quora、Pinterest 和 Spotify 都使用 Python 作为其后端
    的头像 发表于 08-27 17:56 4694次阅读
    17个<b class='flag-5'>非常有用</b>的 Python 技巧

    虚拟机:vim输入系统剪切板的设置方法

    在 ubuntu上,默认vim不支持系统剪切板。 这可以在 vim 里面输入
    的头像 发表于 06-22 11:52 3138次阅读

    Go编译器已默认启用-G=3支持泛型

    Go 项目代码仓库昨日提交和合并的一个 PR 显示,Go 语言已在 cmd/compile 中默认启用 -G=3。 根据描述,此 PR 将 cmd/compile 的 -G flag 的默认
    的头像 发表于 09-01 15:52 2649次阅读
    Go编译器已<b class='flag-5'>默认</b><b class='flag-5'>启用</b>-G=3支持泛型

    20个非常有用的Python单行代码

    有用的 Python 单行代码片段,只需一行代码即可解决特定编码问题!
    的头像 发表于 03-14 17:45 615次阅读

    17个非常有用的Python技巧

    Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短。在本文中,作者 Gautham Santhosh 带我们回顾了 17 个非常有用的 Python 技巧,例如查找、分割和合并列表等。这 17 个技巧都非常简单
    的头像 发表于 04-10 14:28 342次阅读

    一个简单但非常有用的小前置放大器电路

    一个简单但非常有用的小前置放大器电路可以通过连接几个晶体管来构建。该装置可轻松将 1mV 信号提升至 100mV 甚至更高。因此,它非常方便放大不能直接与功率放大器一起使用的极小信号。
    的头像 发表于 06-10 17:27 1222次阅读
    一个简单但<b class='flag-5'>非常有用</b>的小前置放大器电路

    没有什么是完美的,但FPGA可能非常有用

    FPGA是非常有用的器件,通常与ADI公司的ADC或功率IC等一起设计到客户的设计中。FPGA 可以实现微控制器和所需的任何胶水逻辑。在这篇博客中,我将讨论一些与功能安全和FPGA相关的问题。
    的头像 发表于 06-29 10:28 1101次阅读
    没有什么是完美的,但FPGA可能<b class='flag-5'>非常有用</b>

    linux怎么保存退出vim

    在Linux系统中,使用vim作为编辑器是非常常见的。vim是一个强大的文本编辑器,拥有丰富的功能和快捷键。保存并退出vim可以通过以下步骤完成: 打开
    的头像 发表于 11-27 14:19 3538次阅读