打开文件
vim /path/to/somefile
vim +# :打开文件,并定位于第#行(如下的 vi +33 profile) 
vim +:打开文件,定位至最后一行
vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首(如下的vi +/after profile)
关闭文件
末行模式:
:q 退出 没有动过文件
:wq 保存并退出 动过了,不后悔
:q! 不保存并退出 动过了,后悔了
:w 保存
:w! 强行保存
:wq --> :x

ZZ: 保存并退出 不需要冒号,编辑模式

全屏编辑器模式:
编辑模式:按键具有编辑文本功能:默认打开进入编辑模式
输入模式:按键本身意义
末行模式:接受用户命令输入(如:wq,:q!)

编辑-->输入:
i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
O:在当前光标所在行的上方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
输入-->编辑:
ESC
编辑-->末行:

末行-->编辑:
ESC, ESC

编辑模式

移动光标
-->字符
h 左;j 下;k 上;l 右
-->单词
w 移至下一个单词的词首
e 跳至当前或下一个单词的词尾
b 跳至当前或前一个单词的词首
-->行内
0 绝对行首
^ 行首的第一个非空白字符
$ 绝对行尾
-->行间
G 文章末尾
4G 第4行
gg 文章开头
-->翻屏
ctrl+f 向下翻页
ctrl+b 向上翻页

删除&替换单个字符
x 删除光标位置字符
3x 删除光标开始3个字符
r 替换光标位置字符

删除命令 : d
dw 删除单个单词
4dw 删除4个单词
dd 删除一行/剪切功能
4dd 删除4行

复制粘贴&剪切
yy 复制一整行 按p在当前光标所在行的下一行进行粘贴,P是在所在光标的上一行进行粘贴
yw 复制一个单词 按p在当前光标所在位置粘贴

撤销&重做
u 撤销
ctrl+r 重做 撤销的操作
. 重复上一步的操作

set:设置
set nu #number
set nonu #nonumber
set readonly
set noreadonly

/:查找
/after n向下翻找单词after,N(或者?)向上翻找单词after
也可以使用:/after,不加:直接定位到第一个单词after,加:定位到第一个after所在行的行首

!:执行命令
:!ls -l /

s查找并替换
s/str1/str2/gi
/:临近s命令的第一个字符为边界字符:/,@,#
g:一行内全部替换
i:忽略大小写

范围
n:行号
.:当前光标行
+n:偏移n行
$:末尾行,$-3
%:全文

:.,$s/after/before/g 从光标当前所在行(.)到末尾行($)查找所有(g)单词after替换为单词before
:%s/after/before/ 在全文(%)查找单词after替换为before,每行只替换一次
:%s#after#before# /可以替换为#,效果一样
:.,d 将文本所有内容删除
dG 将文本所有内容删除
:2,$-2d 删除文本第2行至倒数第二行的内容
:3,9y 复制第3行到第9行内容,按p进行黏贴

08 vi全屏文本编辑器的更多相关文章

  1. 【Linux学习三】VI/VIM全屏文本编辑器

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...

  2. 11 vim文本编辑器

    和sed相比,sed为字处理器(行编辑器),将文本逐行放入到模式空间(也就是内存)中进行处理,并显示在屏幕上.而vim.vi以及nano都是全屏文本编辑器,而vim则是vi的加强版本,相对于vi,vi ...

  3. 文本编辑器VIM/VI

    vim/vi  功能强大全屏文本编辑器.主要是建立,编辑,显示文本. www.vim.org  构建shell脚本 :set number 使文件出现行号 a 光标后附件文件     i在光标前插入文 ...

  4. vim - Vi IMproved, 一个程序员的文本编辑器

    总览 (SYNOPSIS) vim [options] [file ..] vim [options] - vim [options] -t tag vim [options] -q [errorfi ...

  5. 第十八章 vi/vim文本编辑器介绍

    一.vi/vim文本编辑器介绍 1.含义: vi就是一个文本编辑器 2.为什么学习: 系统配置 编写脚本 vim就是vi的升级版 高级版 [root@jindada ~]# [root@jindada ...

  6. Vim文本编辑器详细用法

    1 Vi.Vim文本编辑器 1.Vi.Vim Vi是Visual interface的简称. Vim是Vi的增强版,即Vi Improved.在后面的实例中将介绍Vim的使用. 为什么学vi? 1)所 ...

  7. Linux文本文件——文本编辑器Vim

    Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...

  8. 富文本编辑器vue2-editor实现全屏功能

    vue2-editor非常不错,可惜并未带全屏功能,自己实现了一个,供大家参考. 实现思路:自定义模块. 1. 定义全屏模块Fullscreen /** * 编辑器的全屏实现 */ import no ...

  9. Linux文本编辑器-vi/vim

    vi是Linux命令行界面下的文字编辑器,vim是vi的增强版(Vi IMproved),完全兼容 可以理解成普通的txt文本与word文档之间的差距. 注:还有一款全屏编辑器是nano,可以了解下 ...

随机推荐

  1. Ethical Hacking - NETWORK PENETRATION TESTING(17)

    MITM - bypassing HTTPS Most websites use https in their login pages, this means that these pages are ...

  2. Qt-数据库操作SQLite

    1  简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=88 说明:本文对在Qt中操作SQLite做简要说明. SQLite:SQLite 是 ...

  3. javascript算法 最短路径问题

    var obj = { 1: [2, 3], 2: [1, 4, 5], 3: [1, 7, 8], 4: [2, 7], 7: [4, 8], } var 起点 = 1 var 终点 = 8 var ...

  4. Unable to find a constructor that takes a String param or a valueOf() or fromString() method

    Unable to find a constructor that takes a String param or a valueOf() or fromString() method 最近在做服务的 ...

  5. 一步步教你用Prometheus搭建实时监控系统系列(一)——上帝之火,普罗米修斯的崛起

    上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼.每次我都能联想到带来上帝之火的希腊之神,普罗米修斯.而这个开源的logo也是火,个人挺喜欢这个logo的设计. 本 ...

  6. 面试题二十二:链表中倒数第k个节点

    方法一:双指针法定义两个指针A.B,A先走k-1步后再一起走,直到A.next==null注意: 1.链表为空 2.链表长度小于k 3.k<=0 当题目是求链表的中间节点时,可以两个指针从开头开 ...

  7. P1852 跳跳棋 [LCA思想+二分答案]

    题目描述 跳跳棋是在一条数轴上进行的.棋子只能摆在整点上.每个点不能摆超过一个棋子. 我们用跳跳棋来做一个简单的游戏:棋盘上有\(3\)颗棋子,分别在\(a,b,c\)这三个位置.我们要通过最少的跳动 ...

  8. Image Processing Using Multi-Code GAN Prior, CVPR2020

    论文:Image Processing Using Multi-Code GAN Prior, CVPR2020 代码:https://github.com/genforce/mganprior 这是 ...

  9. 如何获取论文的 idea

    知乎上有一个提问"计算机视觉领域如何从别人的论文里获取自己的idea?" 非常有意思,这里也总结下: Cheng Li的回答:找40篇比较新的paper,最好是开源的.你能看懂的. ...

  10. 将ip加入到防火墙

    五分钟内访问次数最多的ip加入到防火墙 #!/bin/bash cat /etc/httpd/logs/access_log|grep `date -d '1-minute-ago' +%d/%b/% ...