热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

Vim命令高级用法

一些高级的Vim命令用法:同时编辑多个文件、文本重排、域操作、缓冲区的使用等命令。

1.启动
-R        只读方式打开,但打开后如果有权限,可以强制执行保存。
-c (command) 加载后执行命令,比如"vim -c /most myfirst" 打开该文件后直接向后搜索most。
更多的可以参考 -h


2.同时编辑多个文件
vim [file1] [file2] ...

此时

:ar 查看当前编辑的文件名

:n  切换当前编辑的文件

另外还有

:e  切换到新文件

:w  读取已存在的文件并将其内容放入正在编辑的文件中

:w [起始行][终结行] [文件名]  将当前文件部分放于新文件中,若已存在则覆盖。


3.文本重排

命令模式下

dd 删除当前行并存放于临时缓冲区中(类似于剪切)

yy 复制当前行并存放于临时缓冲区中

p   将指定缓冲区内容放到当前光标位置之下

P   将指定缓冲区内容放到当前光标位置之上


4.域操作

操作符(d、y等)与域结合可以进行域操作。

功能

$

标识域为从光标位置开始到当前行尾

0

标识域为从光标位置前到当前行首

e或w

标识域为从光标位置开始到当前字尾(其他用法:如3dw,删除光标后3个字)

b

标识域为从光标位置前到当前字首

5.缓冲区的使用

  5.1 数字编号缓冲区

  双引号+n(缓冲区号,1至9)+(p或P)

  例如"9p

  其中对数字缓冲区的使用,删除或复制时,每次将所有区后移,1到2,2到3,......,9原有被清空并被8覆盖。

  5.2 字母编号缓冲区

  双引号+缓冲区名(从小写字母a至z)+命令

  练习用例:

     "wdd   删除当前行,副本保存在缓冲区w

     "wp     将缓冲区w内容复制到光标位置

     "z7yy  复制7行到缓冲区z

     "zp  将缓冲区z的内容(7行)复制到光标位置

6.光标定位键

功能

[Ctrl-d]

将光标向下移动到文件尾,通常每次移动12行

[Ctrl-u]

将光标向上移动到文件头,通常每次移动12行

[Ctrl-f]

将光标向下移动到文件尾,通常每次移动24行

[Ctrl-b]

将光标向上移动到文件头,通常每次移动24行

7.Vim定制选项

7.1  :set

:set all  显示所有选项

:set  只显示修改过的选项

:set X? 显示选项X的值

 

设置方式

布尔式选项: set X选定,set noX禁止

数字式选项:  set X=12

串选项:类似于数字式选项,但赋值的是串

 

一些选项:

选项

缩写

功能

autoindent

ai

将新行与前一行的行首对齐

ignorecase

ic

在搜索选项中忽略大小写

number

nu

显示行号

shiftwidth

sw

设置缩进的空格数,与autoindent选项一起使用

wrapmargin

wm

设置右边界为指定的字符数

7.2缩写

:ab uno UNIX Operating System 将uno设置为UNIX Operating System的缩写,输入uno加一个空格就会自动替换。

:unab uno 取消缩写

7.3宏操作

:map [宏名] [操作功能键序列]

宏是临时的,只在当前编辑会话中起作用。

 

本节所有设置(set、缩写、宏)都是临时的,如果需要长期使用,应在当前(工作)目录下创建.exec文件,在其中保存设置。内容形如

set report=0

ab uop UNIX Operating System

map q 5dd

8.其他命令

8.1 运行shell命令

  :!+命令 例如:!date

8.2 行连接 J

8.3搜索与替换

  利用/或?+输入+n+.+n+.+……可以实现批量替换


推荐阅读
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 本文详细介绍了Vim编辑器的三种主要模式及其常用命令,帮助用户更好地掌握这一强大的文本编辑工具。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文介绍了在MacOS上通过Homebrew安装Anaconda3,并配置环境变量以实现不同Python版本之间的快速切换。同时,提供了详细的步骤来创建和管理多个Python环境。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
author-avatar
as2520_526
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有