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. Linux-expect脚本-1

    expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的语法如下所示: 首行加上/usr/bin/expect spawn: 后面加上需要执行的shell命令,比如说spawn sudo ...

  2. dubbo源码阅读笔记-如何引用远程服务,变成invoker

    1 消费端如何通过注册中心获取远程服务的invoker? RegistryDirectory.subscribe从注册中心中获取provider的url,通过DubboProtocol的refer方法 ...

  3. jenkins部署java项目

    #########################################jenkins部署#################################3 一.jenkins是什么? J ...

  4. 通过tar包解压安装docker

    以下步骤在centos7和debian10中验证通过 1.通过官网下载安装包 wget https://download.docker.com/linux/static/stable/x86_64/d ...

  5. Kotlin 的函数定义和使用 (译文 转)

    Kotlin 的函数定义和使用 函数声明Kotlin 中的函数使用 fun 关键字声明 fun double(x: Int): Int {}函数用法调用函数使用传统的方法 val result = d ...

  6. Docker-----deepin系统下docker安装registry

    环境说明 一个坑逼的环境,也不能说坑逼,国产化的需求嘛. root@node22:/registry# uname -a Linux node22 4.4.15-deepin-aere #137 SM ...

  7. 解决Prism中Region的GetView不起作用问题

    通常情况下在Region中添加View时我们需要先判断View是否在Region中已存在,但如果我们在Region.Add的方法调用不当时,我们在GetView中始终返回Null,原因自然是Add时出 ...

  8. Python线程和协程

    写在前面 好好学习 天天向上 一.线程 1.关于线程的补充 线程:就是一条流水线的执行过程,一条流水线必须属于一个车间: 那这个车间的运行过程就是一个进程: 即一个进程内,至少有一个线程: 进程是一个 ...

  9. jdbc 对sqlite的基本操作

    1.向数据库中创建表 public void addTable( String dbpath) { //创建表单的sql语句 String createtablesql= " CREATE ...

  10. 【VS开发】raw socket 的例子

    raw socket 的例子 一. 摘要    Raw Socket: 原始套接字    可以用它来发送和接收 IP 层以上的原始数据包, 如 ICMP, TCP, UDP... int sockRa ...