首页 > 其他分享 >针对高级用户的 Vim 编辑实用技巧

针对高级用户的 Vim 编辑实用技巧

时间:2023-08-16 09:01:58浏览次数:40  
标签:实用技巧 变量 文件 用户 模式 Vim 编辑器

毫无疑问, Vim 是一个很强大的文本编辑器。它提供了大量的特性,这意味着学习并记住 Vim 的所有功能实际上是不可能的。但是我们至少可以不断学习简单的方法来完成事情,从而随着时间的增长,我们使用编辑器的经验将会变得更好。

这篇文章是 Vim 用户指南系列文章中的一篇:

  • Vim 初学者入门指南
  • Vim 快捷键速查表
  • 5 个针对有经验用户的 Vim 技巧
  • 3 个针对高级用户的 Vim 编辑器实用技巧

请记住,在这篇文章中我们将讨论的一些 Vim 编辑器技巧是针对高级用户的。
注:如果你是第一次接触 Vim,你可以首先阅读我们的入门指南。对于已经使用过 Vim 编辑器的用户,我确信Vim 快捷键速查表将会对你很有帮助。如果你已经是一名有经验的用户,你可能对一些针对有经验用户的技巧比较感兴趣。

请注意文中提到的所有技巧绝大多数都是在简单、易于理解的代码环境中进行阐述的,因为它们在软件开发中确实很实用。但这并不意味着普通用户(非程序员、没有把 Vim 作为一般的文本编辑器)在他们的工作中用不到。

1、为文件设置特定的变量

有时候,在一个特定文件中,你可能想把输入的制表符用空格代替,或者想要把源代码文件使用两个空格缩进,即便编辑器的默认缩进是四个空格。

基本上我们在这儿讨论对针对文件的的更改。 Vim 提供的这个特性允许你对一个指定的文件更改特定的设置。这个特性叫做 “模式行(Modeline)” 。

比如,如果你想把输入的每一个制表符(Tab)用空格代替,那么你只需要在文件的前几行或最后几行加入下面的模式行:

# vim: set expandtab:

如果想把默认缩进从 4 个空格变成 2 个空格,可以在源文件中添加下面的模式行:

// vim: noai:ts=2:sw=2

在使用模式行时,请记住下面这几个重要的点:

  • 模式行只能添加在文件中的前五行或者最后五行。
  • 为了使用模式行这个特性,必须在 .vimrc 文件中添加 :set modeline
  • 在以 root 用户身份对文件进行编辑的时候该特性失效。

了解更多的信息,请阅读该特性的官方文档。

2、 关键字补全

当你开始写的复杂代码越来越多或者开始在一个大的源文件上编辑时,你会遇到一些变量名字。有时,要记住所有的变量名字不太容易,所以当需要输入变量名字的时候,你通常从已经使用过的地方复制过来。

幸运的是,使用 Vim 你只需要输入变量的几个起始字母即可。在’插入模式’中,按Ctrl + n或者Ctrl + p可以得到一个匹配的关键词列表。 Ctrl + n用来插入下一个匹配词;Ctrl + p给出一个之前匹配的关键词列表。

下图是该特性的一个展示:

针对高级用户的 Vim 编辑实用技巧针对高级用户的 Vim 编辑实用技巧

正如上面的屏幕截图清晰展示的那样,列表中也会出现其他源文件中包含的词。

3、 搜索

假设你正在调试代码,其中一个需要做的工作是快速查看一个变量在一个文件中所有出现的地方。一个常用的方法是退出‘插入模式’,输入 /[变量名字]命令,按回车 ,然后返回‘插入模式’,使用n和p在关键字之间导航。

上面讲到的这种方法没毛病,但是还有一种更简单、更快捷的方法可以来完成这样的搜索。使用这种方法,首先你需要退出‘插入模式’,然后把光标移动到你想要搜索的词/变量下面,这并不费时。接下来,你只需要按Shift + *即可。

重复这样做,然后编辑器将会带你找到在文件中所有使用了这个词/变量的地方。

结论

尽管是针对高级用户,但文章中讨论的这些技巧并不难理解,也比较容易使用。如果你具有一定的基础,那么你能够从中获益很多。不必多说,无论是任何新特性或观念,你需要勤于练习这些技巧才能够把它们变成一种习惯。


via: https://www.maketecheasier.com/vim-tips-tricks-advanced-users/

作者:Himanshu Arora 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


原文来自:https://linux.cn/article-8149-1.html

本文地址:https://www.linuxprobe.com/3-vim-editors.html编辑员:郭建鹏,审核员:逄增宝

本文原创地址:https://www.linuxprobe.com/3-vim-editors.html

标签:实用技巧,变量,文件,用户,模式,Vim,编辑器
From: https://www.cnblogs.com/linuxpro/p/17632973.html

相关文章

  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • 红帽认证RedHat-RHCSA shell的基本应用用户和组管理网络配置和防火墙管理笔记汇总
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • 【专题】2022智能财税用户需求场景调研报告PDF合集分享(附原数据表)
    原文链接:http://tecdat.cn/?p=31442数字化是复杂系统中的一个重要驱动因素,它得到了技术进步的支持。阅读原文,获取专题报告合集全文,解锁文末13份财税数字化行业相关报告。随着以大数据、物联网、云计算、人工智能等为代表的数字技术的不断成长和成熟,企业必须应对的内外部环境发生......
  • Raspberry Pi OS 开启 root 用户并设置为默认自动登录
    1、设置密码#sudopasswdroot2、启用root 用户#sudopassd--unlockroot3、开启root 用户ssh登录的权限。修改/etc/ssh/sshd_config文件,新增一行  PermitRootLoginyes,(此步骤可忽略)PermitRootLoginyesUsePAMyes4、修改 /etc/systemd/system/autolo......
  • Smartbi 修改用户密码漏洞
    漏洞简介通过查看Smartbi的补丁包信息,发现存在漏洞在某种特定情况下修改用户的密码,进行简单的复现和分析​漏洞复现在页面上修改密码时,需要知道原本的用户对应的密码​​直接构造这样的数据包,就不需要知道原本的密码,知道用户名就可以修改密码POST/smartbi/vision/RMIS......
  • 用户在某天刷题后第二天再来刷题的平均概率
    限定条件:第二天再来。解法1:表里的数据可以看作是全部第一天来刷题了的,那么我们需要构造出第二天来了的字段,因此可以考虑用leftjoin把第二天来了的拼起来,限定第二天来了的可以用date_add(date1,interval1day)=date2筛选,并用device_id限定是同一个用户。解法2:用lead函数将同一用......
  • uniapp,微信小程序获取用户手机号
    1.获取手机号的按钮<buttonv-if="!mobile"class="btns"style="margin-top:-100rpx;"open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">授权手机号码</button>2.获取手机号的函数getPhoneNumber()getPhoneNu......
  • oracle查看所有用户_Oracle实用命令查看共用一个表空间的所有用户
    oracle查看所有用户_Oracle实用命令查看共用一个表空间的所有用户news2023/8/1413:13:55概述有朋友问到如何查出表空间都被哪些用户使用的一些方法,因为有几种情况需要考虑,也顺便做个总结。需求:如何查看共用一个表空间的所有用户查看某表空间下表的所有者使用dba用户......
  • 用户下单_需求分析和设计_接口设计
         ......
  • 创建表空间及数据库用户
    select*fromdba_data_files;---查看用来导数据库的数据库数据文件路径信息----创建顺德一体化项目的数据库的对应的表空间。该数据库文件最少需要2个createtablespacesync_plus_1datafile'/u01/app/oracle/oradata/orcl/sync_plus_1_01.dbf'size500Mautoex......