热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1.4Vim的高级用法配置

Vim的高级用法配置Vim的三种工作模式Vim配置文件临时设定永久设定Vim高级用法搜索功能字符管理复制删除剪切粘贴撤销恢复可视化模式字符批量管理批量插入批量修改分屏模式同步分屏不

Vim的高级用法配置

  • Vim的三种工作模式
  • Vim配置文件
    • 临时设定
    • 永久设定
  • Vim高级用法
    • 搜索功能
    • 字符管理
      • 复制
      • 删除
      • 剪切
      • 粘贴
      • 撤销
      • 恢复
    • 可视化模式
    • 字符批量管理
      • 批量插入
      • 批量修改
    • 分屏模式
      • 同步分屏
      • 不同步分屏
    • 快速定位光标
    • 插入模式详细解析
    • 退出模式具体差异


Vim的三种工作模式

Vim是全球两大流行文本编辑器之一(另外一个是Emacs),学习Vim的高级用法对提升Linux系统使用体验和效率有着至关重要的作用.
在之前我们已经对简单用法进行了入门,
那么正好用这个作为开头.

vim file ##编辑文件内容

那么我们对编辑的过程进行阶段性分析.

  1. i进入了插入模式后才能输入内容.
  2. 输入内容后按Esc退出插入模式返回命令模式进行保存.
  3. 以及返回Shell页面时用到的退出模式.

这就是Vim的三种工作模式:插入模式,命令模式,退出模式.

在不确定Vim的高级用法是否正确时也可以查看手册,操作手册的进入方式有2种可供选择.

vimtutor ##Shell下使用,进入vim手册:help ##vim命令模式下使用,查看操作手册

帮助文件

Vim配置文件

在简单使用了vim一小段时间后想必你一定觉得有些设置很不人性化而且也欠缺了某些功能,这是因为未对配置文件进行定制导致的.大部分需求的设置在配置文件中都能进行定制.
Vim的配置修改有两种.

  • 临时设定
  • 写入配置文件长期使用

两者的使用场景自不多言,下面分别进行简述.

临时设定

在vim的命令模式下输入对应的关键词即可临时开启对应的设定,但是当你退出vim或者退出shell后,就会回到初始模式.

##部分
设定举例
:set ##以此为命令开端进行临时设置
:set nonu ##显示行号
:set mouse=a ##使得鼠标可用
:set cursorline #显示光标所在行的行线

永久设定

临时设定主要是对于单次使用场景的需求,当某些设置需要长期使用时,我们更倾向于将其写入配置文件.
Vim在Linux下的配置文件有两类,对所有用户生效的和对单个用户生效的.为了安全起见我们一般修改单个用户的设置.

##Vim配置文件位置
/etc/vimrc ##对所有用户生效的配置文件~/.vimrc ##对当前用户生效的配置文件##常用

修改配置文件

Vim高级用法

搜索功能

当文件内容较长时使用,能较为方便的定位到需要的内容.

/关键字 ##高亮显示关键字
:noh ##取消高亮显示##不取消高亮显示就会一直存在,即使是进入插入模式
n ##向下匹配关键字
N ##向上匹配关键字

取消高亮

字符管理

均为命令模式下的快捷键,相比进入插入模式手动输入,这些字符管理用法主要对于可用部分进行复制粘贴等操作,减少手动输入的量.

复制

y ##复制的快捷键
yl ##复制1个字母
y3l ##复制3个字母
yw ##复制1个单词
y3w ##复制3个单词
yy ##复制1行
y3y ##复制3行

删除

d ##删除的快捷键
dl ##删除1个字母
d3l ##删除3个字母
dw ##删除1个单词
d3w ##删除3个单词
dd ##删除1行
d3d ##删除3行##默认都是从光标所在位置开始.

剪切

c ##剪切的快捷键
cl ##剪切1个字母
c3l ##剪切3个字母
cw ##剪切1个单词
c3w ##剪切3个单词
cc ##剪切1行
c3c ##剪切3行

注意事项

  • 执行剪切操作后会进入到插入模式,无法继续使用命令模式快捷指令,如果要粘贴需要ESC退出插入模式返回命令模式.

粘贴

p ##粘贴的快捷键

撤销

u ##撤销最近一次对文本做的修改操作
U ##第一次会撤销对一行文本(光标所在行)做过的全部操作##第二次会恢复对该行文本做过的所有操作

恢复

<ctrl>&#43;<R> ##恢复最近一次所做的撤销操作

可视化模式

可视化模式,也叫Visual模式.主要是为了便于选取文本.可视化模式与下文的
字符批量管理经常组合使用.

<ctrl>&#43;<v> ##进入可视化模式
<ESC> ##退出可视化模式

字符批量管理


批量插入

将光标移到需要的位置,如行首
进入可视化模式
选择需要批量插入字符的行
<I>进入插入模式
插入需要的字符
<ESC>推出插入模式所有被选择的行都会进行插入操作

注意事项
如果是从行的中间部位开始选择插入行,批量插入后的文本位置可能会变得很奇怪.
批量插入

批量修改

:%s/原字符/替换字符/g ##在全文范围将元字符修改为替换字符##%s表示全文的行&#xff0c;g表示全文的列
:1,5s/Text/Test/g ##将1-5行中所有的Text替换为Test
:%s/^\s\&#43; ##删除多余的行首空格或Tab
:%s/\s\&#43;$ ##删除多余的行尾空格或Tab
/About/,/Quit/s/Text/Test/g ##将About到Quit间所有的Text替换为Test

批量修改非常吃熟练度,记忆加操作才能对这些指令有更深刻的理解和记忆.
批量修改

分屏模式


同步分屏

用于编辑单一文件时分屏浏览/操作

<ctrl> &#43; <w> <s> ##上下分屏
<ctrl> &#43; <w> <v> ##左右分屏
<ctrl> &#43; <w> <|||> ##光标移动
<ctrl> &#43; <w> <c> ##取消分屏需要注意的是,操作方式按完<ctrl> &#43; <w>后再单独按后面的按键
否则执行会失败

单文件上下
单文件左右

不同步分屏

同时编辑多个文件时的分屏操作

已经在vim中时执行以下命令
:sp filename ##上下分屏,并打开一个新的文件
:vsp filename ##左右分屏,并打开一个新的文件vim -On file1 file2 ... ##左右分屏打开2个文件进行编辑
vim -on file1 file2 ... ##上下分屏打开2个文件进行编辑
vim -p file1 file2 ... ##标签方式分屏打开2个文件进行编辑:tabn ##标签方式下分屏时切换到下一个文件
:tabp ##标签方式下分屏时切换到上一个文件

标签分屏

快速定位光标

用来快速改变光标在文件中的位置,与关键词检索属于类似的用法.

gg ##光标移动到文件第一行行首
G ##光标移动到最后一行行首
:数字 ##光标移动到指定行行首

插入模式详细解析

我们平常进入插入模式的方法似乎都是i,但实际上还有许多不同的进入方法,此处加以罗列.

i ##光标所在位置插入
I ##光标所在行行首插入
A ##光标所在行的行尾插入
a ##光标所在字符的下一个字符插入
o ##光标所在行的下一行插入
O ##光标所在行的上一行插入
s ##删除光标所在字符插入
S ##删除光标所在行插入

退出模式具体差异


  • 进行了修改而不进行保存时,正常退出会被拒绝.
  • 强制退出时不会被拒绝,但是对文件的改动会丢失.

:q ##退出文件编辑
:q! ##强制退出文件编辑,不保存修改
:wq ##保存并退出
:wq! ##强行保存退出##仅当文件所熟人是是自己或者root用户时可用


推荐阅读
  • Python数据分析入门指南:全面了解Python在数据科学中的应用 ... [详细]
  • BashShell作为Linux的指定合作伙伴我们已经再熟悉不过了,使用Bash可以快速编写简单的脚本方便我们的日常比如善用vim,awk和sed三剑客,也可以创建十分复杂的逻辑, ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 深入解析:Android开发进阶之Vim编辑器基础操作与应用
    本文深入探讨了Android开发中使用Vim编辑器的基础操作与应用。通过详细解析Vim的基本命令、配置文件和常用插件,帮助开发者提高代码编写效率。文章还介绍了如何在Android开发环境中高效利用Vim,包括集成开发环境(IDE)的配置和常见问题的解决方法。适合初学者和有经验的开发者参考。 ... [详细]
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 如何在Linux环境中高效地创建、编译与运行C语言代码
    本文面向第一次在linux尝试写C语言程序的新人。有经验的请绕行。C语言用法不是本文介绍的关键,本文只是引入如何第一次在linux系统下编写、编译和执行一个简单的c程序。学会后请自行深入 ... [详细]
  • ANSI
    ANSI是什么编码?用Notepad创建一个文本文件text.txt,其默认编码格式为ANSI(乍看之下,还以为是ASCII ... [详细]
  • 【技术分享】如何通过恶意插件在Atom中植入后门
    【技术分享】如何通过恶意插件在Atom中植入后门 ... [详细]
  • 系统管理员可以通过多种方法实时监控Linux系统中的用户活动,包括当前已登录的用户及其正在进行的操作。利用特定的命令和工具,管理员可以轻松获取这些信息,确保系统的安全性和稳定性。例如,使用`who`、`w`或`last`等命令可以快速查看当前登录的用户及其活动详情。 ... [详细]
  • PyQt5 QTextEdit:深入解析Python中多功能GUI库的应用与实现
    本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ... [详细]
  • 在 Visual Studio 2008 中,通过选定代码并使用 Ctrl+K+F 快捷键,可以实现代码的自动对齐。需要注意的是,应先按住 Ctrl 和 K 键,再按 F 键,以避免与查找功能的快捷键 Ctrl+F 发生冲突。此外,Visual Studio 还提供了多种其他实用的快捷键,如 Ctrl+E+S 用于格式化整个文档,Ctrl+M+O 用于折叠所有代码块,这些快捷键能够显著提高开发效率。 ... [详细]
  • 在Linux系统中Nginx环境下SSL证书的安装步骤与WordPress CDN的高级配置指南
    在Linux系统中,Nginx环境下安装SSL证书的具体步骤及WordPress CDN的高级配置指南。首先,安装SSL证书需要准备两个关键配置文件,并建议在操作前备份相关服务器配置文件,以确保数据安全。随后,本文将详细介绍如何在Nginx中正确配置SSL证书,以及如何优化WordPress的CDN设置,提升网站性能和安全性。 ... [详细]
  • 在Linux/WSL环境中,本文对Shell任务的并行处理进行了详细的测试与分析。通过多种并行处理技术,如GNU Parallel和xargs,探讨了如何有效提升任务执行效率和系统资源利用率。实验结果表明,合理配置并行参数能够显著缩短任务完成时间,提高系统整体性能。此外,文章还介绍了Shell脚本编写的基本原则和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • CentOS7系统目录LINUX有四种基本文件系统类型普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、 ... [详细]
author-avatar
民主公园
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有