vi相关

vi有三种模式:

  命令模式:键盘的任意输入都当成“编辑命令”;

  输入模式:键盘的任意输入都当成文本内容;

  末行模式:键盘的任意输入都当成“文本管理命令”

命令模式(刚打开)==》(i,a,o)输入模式(反向Esc)

命令模式==》(shift+:)末行(反向Esc*2)

末行模式:

  set nu :显示行号

  wq/x :保存退出;q!:不保存退出

命令模式:

  ZZ(大写):保存退出

  i/a :光标前/后一个字符;

  I/A:行首/尾;

  O/o:上/下一行输入;==》Esc快捷退到命令模式

命令模式下光标的移动:

  kjhl :上下左右;

  o :行首(绝对);

  shift+6(^) :首(一行的第一个字符)

  shift+4($) :尾(一行的最后一个字符)

  gg/G :文件的头/尾

  10G :10行

  w :下一个单词

修改vi/vim的配置:vim ~/.vimrc(.virc) ==》都需要先创建这两个文件  当前用户的配置文件   set nu设置显示行号;set ts=4设置tab键为四个空格

          vim /etc/vimrc 修改所有用户的配置

删除命令:

  x:光标字母;do:一行中光标前的所有;dw:整个单词;2(n)x:光标字符开始及后面的,共计2(n)个字符;dd:删除整行;2(n)dd:删除当前行及后面的共计2(n)行

撤销:u;反撤销:ctrl+r

重复上一次命令:.

>/<:相当于tab/shift+tab;==》命令模式下按v(获得焦点),然后用hjkl选择更多的内容

yy:复制;p:粘贴;2(n)yy:原理同上面的dd;yw:复制单词

末行模式下:

  14,18y:复制14到18行;

  .,18y:复制光标行到18行;

  .,$y:复制光标行到最后一行

命令模式:

  /keywords:查找keywords ==》n下一个,N上一个

末行模式下:

  %s/after/before/gi: after替换成before,g表示全局,i忽略大小写,gi可以省略;

  !:执行任何命令,不会退出vim

查看文本:cat(小文件)、more(重要,空格==》下一版,q==》退出)、less(类似more)、tail(重要,ctrl+c结束,tail -20==》尾部20行,默认是10行)、head(头部10行,head -20)

        find pass*:当前目录下查找以pass开头的文件;

        find /etc/pass*:在etc下查找

        grep ‘root‘ /etc/passwd :查找passwd里是否包含‘root‘内容

         ‘^root‘ :以root单词为行首的

         ‘bash$’:以bash结尾的

管道(|):head -9 /etc/profile | tail -1==>在管道左边的结果里执行管道右边的命令

  

原文地址:https://www.cnblogs.com/suhfj-825/p/8970307.html

时间: 2024-10-18 21:14:50

vi相关的相关文章

vi相关命令

vi相关命令在行首加#        :% s/^/#        删除#        :% s/#//在行末加#        :% s/$/#        删除        :% s/#$//删除2,5行     :2,5d            删除空行(不挨着的)        :g/^ *$/d把1到3行下复制到第九行下        :1,3co 9把第2,3行下的内容保存到root下的newabc.txt            :2,3w /root/newabc.txtv

vi相关使用

vi编辑器的工作模式 命令模式:主要完成鼠标移动.字符串查找.删除.复制.粘贴. 输入模式:主要修改.添加. 末行模式:主要设置vi编辑环境.保存文件.退出编辑器.查找.替换. 行间快速跳转        gg跳转文本的第一行 G跳转支文本的最后一行 #G跳转到文本的指定行(#用具体行号替换) set nu     \\显示行号 set nonu \\取消显示行号 复制 l   yy复制所光标所在行 l   #yy复制从光标开始的#行内容(#用具体数字替换). 粘贴 l   p粘贴到光标所在位置

linx之vi相关问题

问题一:按q键退出vi编辑器时出现如图所示问题 原因:问你已被修改,没有保存并退出. 解决办法: 按q!强制退出即可. 问题二: 用vi打开文件时,如下图所示: 原因: 这是由于在编辑该文件的时候异常退出了,因为vim在编辑文件时会创建一个交换文件swap file以保证文件的安全性. 但是这可就郁闷了,因为以后每次打开这个文件都会出现这个警告,不管是如何修改这个文件还是重启了电脑.为了去掉这个警告,我们需要删除这个swap文件: 解决办法: rm -rf .a.swap 问题三: 从windw

vi相关内容

vi显示行号: 第一种是,手动显示:在vim命令行模式下输入 :set nu 取消显示:在vim命令行模式下输入: set nonu 第二种是,永久自动显示:我们修改一个配置文件. 我们输入命令:vim ~/.vimrc 打开后是一个空文件,我们添加 set nu,保存退出,再次进入vim编辑器,就会自动显示出行号了.

从报错no crontab for user/ vi exit with status 1看crontab

问题描述: 启动定时脚本check mac 机器与jenkins平台的连接 crontab -e */5 * * * * sh check.sh :q退出后报错形如: 为什么执行crontab命令出现的报错是和vi相关呢?crontab背后是如何实现的?发现起初使用crontab并未真实理解,只是使用. 原因: Google后,很多回答在说修改vim配置等,https://superuser.com/questions/359580/error-adding-cronjobs-in-mac-os

arm linux 启动之二:start_kernel到创建1号进程

本文介绍arm linux启动的第二部分,C语言编写,主要讲述start_kernel到1号进程的创建.主要讲述大概过程,以后再对子函数进行讲解. 一.start_kernel start_kernel位于init/main.c,主要完成linux一些子系统的初始化. 1)smp_setup_processor_id() 单CPU位为空. 2)lock_kernel() 锁CPU,linux是支持抢占的,多CPU时调用这个函数防止其他CPU抢占.3)tick_init() 时间相关初始化4)bo

网格形变算法(Laplacian-Based Deformation)

网格上顶点的Laplace坐标(均匀权重)定义为:,其中di为顶点vi的1环邻域顶点数. 网格Laplace坐标可以用矩阵形式表示:△=LV,其中,那么根据网格的Laplace坐标通过求解稀疏线性方程组可以得到网格的顶点坐标. 基于网格Laplace形变算法的思想:网格上顶点的Laplace坐标作为网格的细节特征,其在网格形变前后的局部坐标系内不发生变化.Laplace形变问题可以用如下数学优化形式表达,那么问题的关键是如何得到网格形变后的Laplace坐标,或者说是每个顶点Laplace坐标的

lamp网站部署

应公司要求在 Vsphere client部署备用网站,以便备用,不要问为什么有虚拟化任性. 环境centos6.5 直接用yum安装环境,新机器做下初始话一个脚本公司同事写的: #!/bin/bash# Program:#       system_init_shell# History:# Release:#       1.1cat << EOF +--------------------------------------------------------------+ |     

网格简化技术研究报告

网格简化技术研究报告 吕伟 问题及场景 超大场景环境下,为了精细.真实的塔模型,采用分级简化铁塔和绝缘子串模型的方法,利用PageLOD分页细节层次的机制,在不同范围下展现不同精细程度的外观. 简化模型要求速度快.质量高.文件体积小等特点. 网格简化的算法分类 删减法 删减法是目前算法中采用最多的一种模型简化操作.该方法通过重复依次删除对模型特征影响较小的几何元素并重新三角化来达到简化模型的目的.根据删除的几何元素的不同,通常又可以分成顶点删除(Vertex removal)法.边折叠(Edge