vi/vim常用命令汇总
vi/vim概述
vi/vim是Linux和Unix下的一款非常强大的编辑器,vim是vi的增强
版,命令更加多种和复杂,但是最常用的也就是那几个。
vi有三种模式
命令行模式
命令行模式就是刚开始输入vi 进入vi编辑器时所看到的模式,这时可以进行对光标的移动,字符的
删除等操作
插入模式
按i或o或a进入插入模式,这时可以编辑文档了,任意编辑文档都可以。
底行模式
底行模式主要对文档进行保存,重命名,查找等操作
vi/vim最常用命令
保存文件
:wq
按esc退出插入模式,输入:wq 保存文件并且退出vi编辑
:w filename
以指定的文件名存储文件,但是不退出vi编辑
:q!
强制退出vi编辑器,不保存修改内容
光标移动
shift+$
移动到当前行 行尾
shift+^
移动到当前行 行首
e
移动到下一个字符末尾
b
移动到上一个字符开头位置
w
移动到下一个字符开头

l

移动到该 行第几个字符位置,例如:3l
数字0
移动光标到文章开头
删除字符
x
删除光标所在字符

x

删除从光标所在字符起向后删除n个字符,例如2x
X
大写X删除光标所在前一个字符

X

删除除了光标所在字符之外的n个字符,例如3X
dd
删除光标所在行

dd

从当前行起删除n行,例如3dd
复制字符
yw
复制单个字符到缓冲区中

yw

复制n个字符到缓冲区中
yy
复制光标所在行到缓冲区中

yy

复制n行到缓冲区中
p
将复制的内容粘贴到光标所在位置
替换更改字符
r
替换光标所在的字符
R
替换光标所到之处的字符,直到按下「ESC」键为止
撤销操作
u
按u 表示撤销当前操作,多次按撤销多次
切换到指定行
ctrl+g
列出当前行的行数
nG
跳转到第几行,例如3G,表示跳转到第三行
在底行模式下:n
跳转到指定行,例如 :3表示跳转到第三行
:set nu
在底行模式下,显示行号
搜索字符
:/ 想要搜索的字符
按n继续搜索

vim最常用命令的更多相关文章

  1. Linux下Vim工具常用命令

    原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html 在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚 ...

  2. VIM一些常用命令,方法,配置

    配置文件地址 github 工具只是为了更好的工具,选择一种,坚持使用学习记忆,熬过瓶颈期就可以了. 现在我基本大的项目是IDE+vim 插件,写小代码是VIM. 常用的操作,便捷的方法 1.如何选中 ...

  3. Vim的常用命令笔记

    [简介] Vim是vi编辑器的改进版.vi是类UNIX系统里最常用的编辑器. [模式] 在shell中直接打vim filename就会进入普通模式.按i键进入编辑模式,此时Vim底部显示INSERT ...

  4. Linux环境下vi/vim编辑器常用命令

    使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...

  5. vim 编辑器常用命令

    vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I,o ...

  6. 10 分钟上手 Vim,常用命令大盘点

    传闻有 180 万的程序员不知道如何退出 Vim 编辑器,真的有这么困难吗?下面给大家整理了一份 Vim 常用命令,让你 10 分钟快速上手 Vim,溜得飞起! 以下命令请在普通模式执行 1.移动光标 ...

  7. vim操作常用命令总结

    这里记录下linux在vim编辑器中的常用命令 vi 的三种模式: 一般模式:以vi打开一个文件时,就是一般模式:可以移动光标,删除字符或删除整行,可以复制.粘贴等操作 编辑模式:在一般模式按下 i ...

  8. linux应用之vim的常用命令

    vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V 从光标当前行开始,光标 ...

  9. Linux vi/vim编辑器常用命令与用法总结

    (一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便. ...

随机推荐

  1. HashMap如何实现序列化

    /** * Save the state of the <tt>HashMap</tt> instance to a stream (i.e., * serialize it) ...

  2. 利用python的图像分块与拼接

    import os import matplotlib.pyplot as plt import cv2 import numpy as np def divide_img(img_path, img ...

  3. java跨平台的原因

    java跨平台的原因 java有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台. 1.java代码不是直接 ...

  4. 如何在外部获取当前A标签的ID值

    <div class="diskmain"> <ul id="folder"> <li><span class='do ...

  5. Vagrant基本命令详解

    正在学习Docker Swarm,接触到了Vagrant.Vagrant是一个创建虚拟机的技术,可以把它认为是一个Vmware,它让我们可以通过代码的方式快速地.可重复地创建针对不同虚拟环境的虚拟机, ...

  6. Singletom 单例

    class Singletom { //最差写法.构造方法是public的,有可能会被new出多个,那就不是单例了. public Singletom(){ } public static Singl ...

  7. python 2.7 error: Microsoft Visual C++ 9.0 is required

    参考:https://stackoverflow.com/questions/43645519/microsoft-visual-c-9-0-is-required 解决方法: 下载并安装Micros ...

  8. mysql登录的三种方式

    1.远程登录mysql 先授权:如:grant all on *.* to 'root'@'192.168.81.130' identified by '52033dd';查看是否生效:select ...

  9. Prometheus存储模型分析

    Prometheus是时下最为流行的开源监控解决方案,我们可以很轻松地以Prometheus为核心快速构建一套包含监控指标的抓取,存储,查询以及告警的完整监控系统.单个的Prometheus实例就能实 ...

  10. python学习之socket&黏包

    7.4 socket ​ [重要] 避免学习各层的接口,以及协议的使用, socket已经封装好了所有的接口,直接使用这些接口或者方法即可,方便快捷,提升开发效率. socket在python中就是一 ...