vim编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器。它主要分为命令令行模式、插入模式和底行模式这三种,下面主要介绍一下这三种模式最简单常用的用法。
一.命令行模式
1.移动
光标左移:h
光标右移:l
光标上移:k
光标下移:j
光标向右移动一个单词:w(联想word)
光标向左移动一个单词:b(联想back)
移动到文件头:gg
移动某一行(如第3行):3gg
移动到文件尾:G
移动到行首:^ 
移动到行尾:$ 
 
2.翻页
向下翻一页:control + f(联想f-forward)
向上翻一页:control + b(联想b-backward)
向下翻半页:control + d(联想d-down)
向上翻半页:control + u(联想u-up)
 
3.剪切删除
删除单个字母:x
删除 n 个字母:nx(n 是数字,如从光标位置连续删除 3 个字母,输入3x )
删除(or剪切)单行:dd
删除多行:ndd(n 是数字,如从光标位置连续删除 3 行,输入3dd )
从光标所在行删除到文件尾:dG
把光标停留在需要删除的单词前面:dw
把光标停留在需要删除的单词前面(无视单词前面的空格):de
从当前光标处删除到行位:d^
从当前光标处删除到行首:d$(不删除当前光标)
删除单词:dw
删除n个单词:dnw(n 是数字,如从光标位置连续删除 3 个单词,输入d3w )
 
4.复制粘贴
复制单行:yy
复制多行:nyy
粘贴到光标上面一行:p(小写)
粘贴到光标下面一行:P(大写)
 
5.撤销
撤销:u
反撤销:ctrl+r
 
6.替换
替换光标所在处的字符:r
从光标所在处开始替换字符:R
 
7.搜索
向后搜索<字母>并跳转到第一个匹配的位置:f<字母> 
向前搜索<字母>并跳转到第一个匹配的位置:F<字母> 
向后搜索<字母>并跳转到第一个匹配位置之前的字母:t<字母>
向前搜索<字母>并跳转到第一个匹配位置之后的字母:T<字母> 
 
二.插入模式
在当前光标处进行编辑:i
在行首插入:I
在行末插入:A
在光标后插入编辑:a
在当前行后插入一个新行:o
在当前行前插入一个新行:O
替换从光标所在位置到一个单词的结尾字符:cw
 
三.底行模式
1.编辑操作
保存不退出 :w
把文件另存为新文件:w 新文件名
不保存退出:q
保存退出:wq 或者 x
强制:!
强制不保存退出,用于修改文件之后,不保存数据退出:q!
强制保存退出,当文件的所有者或 root 用户,对文件没有写权限的时候,强制写入数据使用:wq!
 
2.设置操作
显示行号:set nu
不显示行号:set nonumber
本行内容居中:ce  (center) 
本行内容居右:ri  (right)
本行内容居左:le  (left) 
 
所有内容只为了记录学习过程,vim其实一些高级的用法目前我还没有使用到,后续会继续补全完善,部分内容来源于网络,侵删。

【linux命令】最强大的编辑器vim用法简介(基础篇)的更多相关文章

  1. Linux命令行下的vim文本编辑器

    Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...

  2. Linux编程 19 编辑器(vim 用法)

    一.概述 在开启shell脚本编程之前,必须要知道一款文本编辑器的用法,如文本编辑的查找,剪切,粘贴,定位等, 本篇只讲vim编辑器.vim编辑器全名叫vi improved,是经过对Unix系统vi ...

  3. 自学Linux Shell10.1-使用编辑器vim

    点击返回 自学Linux命令行与Shell脚本之路 10.1-使用编辑器vim 所有的 Unix系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在.但是目前我们使用比较多的是 vim 编辑 ...

  4. Linux命令行快捷键及vim快捷方式

    Linux命令行快捷键 快捷键: tab键 自动补全路径 目录 名字, 自动不全命令 快捷键: ctrl +l(小写) 清屏 . ctrl +c 取消当前操作 快捷键: ctrl +d(小写) 退出当 ...

  5. Linux下内存映射文件的用法简介

    由于项目需要,所以学习了一下Linux下内存映射文件的用法,在这里共享一下自己的收获,希望大家提出宝贵意见,进行交流. 简介: 内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区 ...

  6. Linux中的代码编辑器vim

    Vim的三种工作模式 命令行模式 插入模式 底行模式 Vim 的命令行模式 命令行模式是进入vim后的初始模式,在该模式下主要是使用方向键来移动光标的位置,并通过相应的命令来进行文字的编辑. 切换方法 ...

  7. Linux命令(三)vim编辑器的常用命令

    .subTitle { background: rgba(51, 153, 0, 0.53); border-bottom: 1px solid rgba(0, 102, 0, 1); border- ...

  8. linux命令学习之:vim

    1. 关于Vim vim是我最喜欢的编辑器,也是linux下第二强大的编辑器. 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效. 如果是初学vi,运行一下vimtu ...

  9. linux 学习5 文本编辑器 vim

    vim 没有菜单,只有命令 //root用户既可以用vi,也可以用vim, 无实质性区别,vim是vi的升级版//粘贴用shift+insert , 要在insert模式下粘贴,否则粘贴不全// ^ ...

  10. 1.Linux命令行快捷键、Vim

    1. 命令终端的快捷键使用 ctrl+b 左移光标 ctrl+f 右移光标 ctrl+u 删除光标左边的内容 ctrl+k 删除光标右边的内容 ctrl+w 删除光标前的一个单词 =esc+ctrl+ ...

随机推荐

  1. pysimplegui之元素简单介绍(元素值得获取修改,key的规范及特殊用法)

    重点 1获取元素的值 Input(key='mykey') values['mykey'] 2通过key查找元素 对象window['key'] 3更新元素的值 window['key'](要更新的值 ...

  2. 2.自定义@Excel注解实现数据Excel形式导入导出

    前言 这几天在学习如何使用自定义注解实现Excel格式数据导入导出,参考的还是若依框架里面的代码,由于是初学,所以照猫画虎呗,但是难受的是需要复制并根据自己项目修改作者自定义的工具类以及导入这些工具类 ...

  3. 关于react的Tabs组件中TabPane的bug

    今天解决了我自认为一个很不起眼的Bug. 我的Tabs下面有5个tabPane,并且这几个tabPane共用了一个search组件,今天遇到了一个bug,就是这几个组件使用公共查找组件的时候,前一个组 ...

  4. mysql数据库常见优化方法

    1,创建适当的索引(主键索引.唯一索引.普通索引.全文索引.空间索引). 2,对sql语句进行优化--->慢查询(explain). 3,使用分表技术(水平分表,垂直分表),分区技术. 4,读写 ...

  5. 高阶函数_函数柯里化 以及 setState中动态key

     使用柯里化: 1 state = { 2 username: "", 3 password: "", 4 }; 5 render() { 6 return ( ...

  6. Mac终端出现 brew command not found 解决

    MacOS 上您需要安装 unrar 以支持 PaddlePaddle,可以使用命令brew install unrar 执行命令后发现 brew 不存在 jimmy@MacBook-Pro ~ % ...

  7. 解决pod健康检查问题

    解决pod健康检查问题 引自:Solving the mystery of pods health checks failures in Kubernetes.原文中的某些描述并不清晰,本文作了调整. ...

  8. autojs系列-js入门1

    开头 确保 Autojs 和 adb 还有模拟器安装调试完成之后,就可以进行js的学习了 调试安装一部分步骤可以参考 https://www.cnblogs.com/c-keke/p/14919615 ...

  9. 字符串处理------Brute Force与KMP

    一,字符串的简单介绍 例:POJ1488  http://poj.org/problem?id=1488 题意:替换文本中的双引号: #include <iostream> #includ ...

  10. 2022-07-02:以下go语言代码输出什么?A:编译错误;B:Panic;C:NaN。 package main import “fmt“ func main() { var a =

    2022-07-02:以下go语言代码输出什么?A:编译错误:B:Panic:C:NaN. package main import "fmt" func main() { var ...