vi相关
vi有三种模式:
命令模式:键盘的任意输入都当成“编辑命令”;
输入模式:键盘的任意输入都当成文本内容;
末行模式:键盘的任意输入都当成“文本管理命令”
命令模式(刚打开)==》(i,a,o)输入模式(反向Esc)
命令模式==》(shift+:)末行(反向Esc*2)
末行模式:
set nu :显示行号
wq/x :保存退出;q!:不保存退出
命令模式:
ZZ(大写):保存退出
i/a :光标前/后一个字符;
I/A:行首/尾;
O/o:上/下一行输入;==》Esc快捷退到命令模式
命令模式下光标的移动:
kjhl :上下左右;
0(数字零) :行首(绝对);
shift+6(^) :首(一行的第一个字符)
shift+4($) :尾(一行的最后一个字符)
gg/G :文件的头/尾
10G :10行
w :下一个单词
修改vi/vim的配置:vim ~/.vimrc(.virc) ==》都需要先创建这两个文件 当前用户的配置文件 set nu设置显示行号;set ts=4设置tab键为四个空格;set sw=4左右移动4格
vim /etc/vimrc 修改所有用户的配置
删除命令:
x:光标字母;d0(零):一行中光标前的所有;dw:整个单词;2(n)x:光标字符开始及后面的,共计2(n)个字符;dd:删除整行;d:删除选中的;2(n)dd:删除当前行及后面的共计2(n)行
撤销:u;反撤销:ctrl+r
重复上一次命令:.
>/<:相当于tab/shift+tab;==》命令模式下按v(获得焦点),然后用hjkl选择更多的内容
yy:复制光标行;y:复制选中的;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==>在管道左边的结果里执行管道右边的命令(左边传给右边)
vi相关的更多相关文章
- vi相关命令
vi相关命令在行首加# :% s/^/# 删除# :% s/#//在行末加# :% s/$/# 删除 :% s/#$ ...
- 五、Ubuntu 进入vi相关问题
1.进入vi环境:vim 路径 2.编辑vi:按i键即可 3.保存vi:按esc键,输入冒号,输入wq 回车即可 4.遇到readonly相关问题,可先解除readonly:按esc键,输入:set ...
- 【LINUX】VI相关命令
任何用户最常做的事要数创建和编辑文件,包括文档.报告和文字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他更复杂的指令, ...
- 基于SecureCRT的测试环境的克隆的linux/vi相关命令
#chmod -R 777*; 参数-R:对当前目录下的所有档案与子目录进行相同的权限 变更(即以递归的方式逐个变更). *:通配符,指的是当前目录下的所有文件及目录. 所有文件及其子目录的文件拥有者 ...
- vi相关内容
vi显示行号: 第一种是,手动显示:在vim命令行模式下输入 :set nu 取消显示:在vim命令行模式下输入: set nonu 第二种是,永久自动显示:我们修改一个配置文件. 我们输入命令:vi ...
- 三维网格形变算法(Laplacian-Based Deformation)
网格上顶点的Laplace坐标(均匀权重)定义为:,其中di为顶点vi的1环邻域顶点数. 网格Laplace坐标可以用矩阵形式表示:△=LV,其中,那么根据网格的Laplace坐标通过求解稀疏线性方程 ...
- Linux回归篇-基础恶补
前言: LINUX在之前仅仅了解一些皮毛知识,最近计划深入研究大数据,LINUX当然少不了,所以借此良机将LINUX也顺带添加进入学习的目录之中.为了知识的全面性,本文先恶补一下LINUX的基础,作 ...
- .Net Core跨平台应用研究-HelloArm(串口篇)
引言 为了验证采用dotnet core技术开发的物联网设备数据采集接入服务应用是否能在高性价比的linux嵌入式平台运行,针对dotnet core应用程序进行嵌入式linux环境的发布部署运行验证 ...
- 发布自己的第一版asp.net core的RESTful接口程序
使用window开发一个简单的asp.net Core的RESTfull程序,网上很多,这里不说,我是直接使用IDE自己生成的项目来发布的.没有修改过主要代码.在IDE里发布到本地目录,得到类似文件 ...
随机推荐
- 可访问性(Accessibility) => 无障碍功能
了解无障碍功能及其范围和影响可令您成为更出色的网络开发者 复杂的一笔 https://developers.google.cn/web/fundamentals/accessibility/ ARIA ...
- 编译openssl失败(SLES11.3), undefined reference to `OPENSSL_cpuid_setup'
https://stackoverflow.com/questions/11381514/undefined-reference-when-compiling-openssl I ran into t ...
- WPF .NET 4.0 OpenClipboard 失败 (异常来自 HRESULT:0x800401D0 (CLIPBRD_E_CANT_OPEN)) BUG解决
在项目 App.xaml 文件下 => Application 节点=> 添加 DispatcherUnhandledException="Application_Dispa ...
- Mapper 赋值对应实体属性
public static class MapperExtensions { public static TResult MapTo<TResult>(this object self, ...
- pl-svo代码解读
pl-svo是在svo的基础上结合点和线特征的半直接法视觉里程计 程序启动通过app文件夹下的run_pipeline.cpp主程序启动,其它的函数文件统一放在src文件夹下,我们先从run_pipe ...
- 学习 rostopic
rostopic pub可以把数据发布到当前某个正在广播的话题上. rostopic pub [topic] [msg_type] [args] 示例 $ rostopic pub - /turtle ...
- 存储json数据的编码问题
在使用json.dumps时要注意一个问题 >>> import json >>> print json.dumps('中国') "\u4e2d\u5 ...
- SQL复制数据表 (select * into 与 insert into)
select * into 目标表名 from 源表名 insert into 目标表名(fld1, fld2) select fld1, 5 from 源表名 以上两句都是将 源表 的数据插入到 目 ...
- In abstract algebra, a congruence relation (or simply congruence) is an equivalence relation on an algebraic structure (such as a group, ring, or vector space) that is compatible with the structure in
https://en.wikipedia.org/wiki/Congruence_relation In abstract algebra, a congruence relation (or sim ...
- OWA (Office Web Access)
exchange的web网页,可以enrich的打开,用起来还行outlook一样. 同事的chrome(under windows) 默认就是i这样的.也没装插件,也没有怎样. 我的chrome(u ...