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

vim的使用总结Linux操作系统:Ubuntu_Centos_Debian

vim的使用总结接触vim编辑器已近一年的时间,但老是半蹴不蹴;最近老是在终端转悠,就将vim的简单使用做一个总结。毕竟,自己不能再忘了这些按键特点。vim是

vim的使用总结

 

接触vim编辑器已近一年的时间,但老是半蹴不蹴;最近老是在终端转悠,就将vim的简单使用做一个总结。毕竟,自己不能再忘了这些按键特点。

 

vim是一款相当优秀的终端环境下的程序编辑器。首先,要说的是vim的三种模式:一般模式、编辑模式和指令模式。

 

一般模式:可以移动光标,删除、选择、复制和粘贴等操作。

 

编辑模式:输入]i、o、a、r[即进入编辑模式。其中,输入]i、o、a[进入的是插入模式,这和在图形界面环境下的编辑器操作类似,只是初始情况下光标的位置有所区别;输入]r[那是替换模式,即替换光标所在的字符。

 

指令模式:在一般模式下,输入]:、/、?[即可将光标移动到终端的最底部。此时,你可以输入vim设定的相关配置指令。由于终端下没有图形界面那样的各类按钮,所以只能以指令的形式来实现文件的保存、打开新文件等操作。当然,还有vim的配置。

 

注意事项:vim三种模式的转换,只能由一般模式<->编辑模式和一般模式<->命令模式之间跳转。想当初,自己第一次打开vim乱按进入编辑模式,结果怎么都不知道如何跳转出来。最后还是强制关闭终端。

 

使用vim的体验是:一旦你熟练掌握其中的大部分使用技巧,你会无法自拔;或许,你再也不能适应其他的文本编辑器。当然,要是vim具备一定能力的自动填充能力就更好了。

 

按键操作说明

光标的移动

hjkl->左下上右 =>我实在无法理解这样的设定,要是和大部分游戏wdsa来移动光标该多好呀!可能是我游戏玩多了,可能是我接触vim在后。

 

[ctrl]+f/b/d/u表示移动一页或半页。

 

+光标移动到非空格符的下一行;-光标移动到非空格符的上一行。

 

n+[space]:n表示你输入的数字;光标会向右移动到第n个字符处。

 

0或[home]键,移动光标到光标所在行的最前面(首个字符处)。

 

$或[End]键,移动光标所在行的最后一个字符处。=>话说,[end]键在什么地方?

 

H/M/L或者就是High、middle、low吧!即移动光标所在页面的第一行、中间一行和最后一行。

 

G移动光标到文件的最后一行;nG移动到这个文件的第n行;gg移动光标到第一行;n[Enter]光标向下移动n行。

 

查找与替换

这些操作主要在命令模式下操作执行的。

 

/word word表示要查找的字符串;由光标向下处查找;?word由光标向上查找。n/N重复查找操作,N改变查找方向。

 

:n1,n2s/word1/word2/g 在n1和n2行之间,查找字符串word1,切用word2替换word1。

 

:1,$s/word1/word2/g 第一行到最后一行之间的查找替换;1,$s/word1/word2/gc 替换操作时要进行confirm处理。

 

删除、复制和粘贴

x向后删除一个字符;X向前删除一个字符;nx连续向后删除n个字符。

 

dd删除光标所在行;ndd删除所在光标向下的n行。

 

yy复制光标所在行;nyy复制所在光标向下的n行。

 

p将已经复制的内容在光标的下一行粘贴;P将已经复制的内容在光标的上一行粘贴。

 

内容选择|块选择

v从光标开始向上或者向下进行选择。 [Ctrl]+v块选择,用矩形的形式选择。 y复制选择的内容到内存中;d删除选择的内容。

 

其他一些重要命令

u撤销前一个操作;[Ctrl]+r重复前一个操作。

 

一般模式进入到插入模式

i\I:i为目前光标所在处插入;I为目前所在行的第一个非空格处开始插入。

 

a\A:a为目前光标所在的下一个字符处插入;A从光标所在行的最后一个字符处插入。

 

o\O:o光标所在行的下一行插入新的一行;O光标所在行的上一行插入新的一行。

 

r\R:r替换光标所在字符,替换后返回到一般模式;R替换光标所在字符,知道按下[ESC]后才会退回到一般模式。

 

命令模式下的常用命令

文件的保存:w/w! !表示强制的意思 w+filename另存为。n1,n2 w +filename 表示将第n1-n2行的内容保存到文件filename中。

 

r+filename将文件filename中的内容添加到当前所编辑内容光标所在行。

 

! + (linux终端下命令) 暂时离开vim,执行linux终端命令,并在vim中显示结果。=>这个是我最喜欢的功能。

 

q\ZZ退出vim。=>初学是一直不知道如何退出vim.



推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 本文介绍如何通过更改软件源来提前体验Ubuntu 8.10,包括详细的配置步骤和相关注意事项。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了如何在PHP中进行数组删除、清空等操作,并提供了在Visual Studio Code中创建PHP文件的步骤。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文详细介绍了VMware的多种认证选项,帮助你根据职业需求和个人技能选择最合适的认证路径,涵盖从基础到高级的不同层次认证。 ... [详细]
  • PHP 时间与日期工具类:星座、干支、生肖的实现
    本文介绍了一个PHP时间与日期工具类,涵盖了时区设置、有效日期和时间检查、星座、干支、生肖计算等功能。该工具类特别适用于需要处理中国农历及西方星座的应用场景。 ... [详细]
  • 在Ubuntu 8.04中安装美观的Cairo-Dock桌面增强工具
    本文介绍如何在Ubuntu 8.04系统中安装和配置Cairo-Dock,这款桌面增强工具以其精美的界面和高效的功能备受用户青睐。文章将指导您通过简单的步骤完成安装,并提供一些实用的配置建议。 ... [详细]
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社区 版权所有