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

VI常用M命令简析

VI常用M命令简析一、移动光标Vim使用h、j、k和l键来移动光标。按照正式的说法,这样可以保证双手不离开键盘区域,从而提高输入效率。这四个键在键盘上的位置为依次从左到右,对应的方向依次为向左、向下、向上和...资

VI常用M命令简析
 
一、移动光标
 
Vim使用h、j、k和l键来移动光标。按照正式的说法,这样可以保证双手不离开键盘区域,从而提高输入效率。这四个键在键盘上的位置为依次从左到右,对应的方向依次为向左、向下、向上和向右。网络上和关于Vim各种书籍、教程中都传授给Vim新手一套记忆方法,即h在左边,l在右边,j指向下边。这种方法十分巧妙,是无数Vimmer在学习和使用过程中总结出来的。
 
但自己有另外一点体会:我们的右手食指在键盘上的初始位置是j键,一般而言,我们在阅读或者编辑文档时最常用的方向键就是向下,所以将j键设为向下键是最为合适的,将右边与其相邻的k键设置为向下键,也实现了同样的方便。当光标需要向左移动时,我们的右手食指也要向左移动,这两个方向是一致的。向右键的使用频率比向左键高一些,因此设置为无名指直接接触的l键。
 
二、如何退出Vim
 
退出Vim随编辑者的意愿不同而有两种不同的方式:
 
1.不保存而退出,即强制退出。:q!
2.保存并退出。:wq
 
三、删除类命令
  www.2cto.com  
1.删除光标所在位置的字符:x。将光标置于要删除的字符所在的位置,再按x键即可。
 
2.删除从光标所在位置到一个单字/单词末尾的所有字符:dw。注意:由于英文中每个单词之间有空格但汉语中汉字之间没有空格,而Vim中的命令对单字/单词的理解是以空格为界限的,所以对一行汉语执行此命令时,会将光标所在位置至光标所在行的所有字符删除,效果与d$命令一样。
 
3.删除从光标所在位置至光标所在行末的所有字符:d$。4.删除光标所在行的所有字符:dd。处于光标左边的本行字符也会被删除。
 
四、插入类命令
 
1.在光标所在位置之前插入:i。
2.在光标所在位置之后插入:a。
3.在光标所在行末尾插入:A。
 
五、打开类命令
 
1.在光标所在行的下方打开新的一行并进入插入模式:o。
2.在光标所在行的上方打开新的一行并进入插入模式:O。
  www.2cto.com  
六、更换类命令
 
1.改变从光标所在位置到光标所在单词/单字末尾的所有字符,并进入插入模式:cw。
2.改变从光标所在位置到光标所在行的所有字符,并进入插入模式:c$。
 
七、替换类命令
 
1.替换光标所在位置的字符:r。让光标处于将要被替换的字符所在的位置,按下r,并键入新的字符。
2.连续替换光标所在位置后的字符:R。
  www.2cto.com  
八、修正错误的命令之一
 
1.将光标所在行第一个old字符替换为new字符。:s /old/new
2.将光标所在行内所有old字符替换为new字符。:s /old/new/g
3.将两行之间的所有old字符替换为new字符,#指行号。:#,# s /old/new/g
4.将文件内所有old字符替换为new字符。:% s/old/new/g
5.将文件内所有old字符替换为new字符,并在替换时询问是否确认替换。:% s/old/new/gc
 
九、置入类命令
 
将最后一次删除的内容置入光标之后:p。
 
十、撤销类命令
 
1.撤销最后执行的命令:u。
2.撤销对整行的所有操作:U。
3.恢复撤销的命令:CTRL-R。
 
十一、定位及获取文件状态
 
1.显示光标所在行的位置及文件状态信息:CTRL-g。
2.直接跳转到指定的行:SHIFT-G。先键入行数,再按下SHIFT-G。
 
十二、查找配对括号
 
查找光标所在括号的配对括号:%。按下%后光标会自动跳转到配对的括号处,再按一次,跳回到原括号处。
 
十三、搜索类命令
 
1.在当前文件中顺序查找某字符串:/ 字符串。从文章的开头开始查找。
2.在当前文件中逆向查找某字符串:? 字符串。从文章的结尾开始查找。
3.顺序查找下一个:n。
4.逆向查找下一个:Shift-N。
 
十四、保存文件
 
1.将对文件的改动保存到文件中。:w FILENAME
2.保存文件的部分内容,#指行号。:#,# w FILENAME
 
十五、提取和合并文件
 
在当前文件光标所在处插入另外的文件内容。:r FILENAME
  www.2cto.com  
十六、在Vim内执行外部命令
 
:! command
 
十七、设置类命令
 
:set command
 
十八、命令与对象
 
Vim中的命令遵从一定的格式,下面以删除命令(d)为例进行说明。
  www.2cto.com  
[number] d object 或者 d [number] object
 
number指执行命令的次数,可选,缺省设置为1。d代表删除,是命令名。object指命令所要操作的对象。对d而言包括:w(从当前光标到单词/单字末尾,包括空格)、e(从当前光标到单词/单字末尾,不包括空格)和$(从当前光标到当前行末)。

推荐阅读
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 本文详细介绍了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客户端。 ... [详细]
  • 本文介绍如何在Linux系统中卸载预装的OpenJDK,安装指定版本的JDK 1.8,并配置防火墙以确保系统安全性和软件兼容性。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
author-avatar
mobiledu2502930087
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有