文本编辑工具vim-及特殊用法,alias别名

本文详细介绍了Vim编辑器的命令模式、扩展功能、地址定位、查找替换、窗口管理、可视化模式以及个性化配置等内容,还涉及Java开发中的Redis缓存和NoSQL知识,提供面试真题解析和学习资源链接。
摘要由CSDN通过智能技术生成

. 重复前一个操作

#. 重复前一个操作#次

10.常用操作


100iwang [ESC] 粘贴“wang”100次

Shift+3 高亮显示 相当于#键

y 复制、d 删除、gU 变大写、gu 变小写

例如: 0y$ 命令

0 → 先到行头

y → 从这里开始拷贝

$ → 拷贝到本行最后一个字符

di" 光标在”“之间,则删除”“之间的内容

yi( 光标在()之间,则复制()之间的内容

vi[ 光标在[]之间,则选中[]之间的内容

dtx 删除字符直到遇见光标之后的第一个 x 字符

ytx 复制字符直到遇见光标之后的第一个 x 字符

三. 扩展命令模式

============================================================================

1.地址定界


具体第#行,例如2表示第2行

#,# 从左侧#表示起始行,到右侧#表示结尾行

#,+# 从左侧#表示的起始行,加上右侧#表示的行数

2,+3 表示2到5行

. 当前行

$ 最后一行

.,$-1 当前行到倒数第二行

% 全文, 相当于1,$

/pattern/ 匹配pattern的行

/pat1/,/pat2/ 从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束

#,/pat/

/pat/,$

使用方式:后跟一个编辑命令

dy

w file: 将范围内的行另存至指定文件中

r file:在指定位置插入指定文件中的所有内容

2.查找替换


使用“&”引用前面查找时查找到的整个内容

/ 表示搜索

可以使用 #或+ 作为分隔符,此时中间出现的 / 不会作为分隔符

这个意思是你把/sbin/nolgin 替换为 /bin/bash

#是分隔符 g是全文替换

/关键字 n往下匹配; N往上匹配(在命名模式下)

/^name #查找以name开始的行

/name$ #查找以name结束的行

/^name #查找^name字符串

s表示本行

%s表示所有行

修饰符:

i 忽略大小写

g 全局替换,默认情况下,每一行只替换第一次出现

gc 全局替换,每次替换前询问

s/root/ROOT 替换当前行所有的root

7s/shutdown/SHUTDOWN/g 只替换第7行的内容

:n,$s/name/title/ #替换第 n 行开始到最后一行中每一行 的第一个 name 为 title

: n,$s/name/title/g #替换第 n 行开始到最后一行中每一 行所有 name 为 title

%s /root/ROOT 全文搜索,替换每一行匹配到的第一个关键字

%s /root/ROOT/g 全文搜索,替换每一行所匹配所有的关键字

:%s /root/ROOT/gc 交互式替换

:%s /\/sbin\/nologin /\/bin\/bash/ \转移符

把后面的字符转义普通的字符

这个是把/sbin/nologin转换成/bin/bash

:s#name/#title/# 替换当前行第一个 name/ 为 title/

:%s+/oradata/apras/+/user01/apras1+ (+ 作为替换符号): /oradata/apras/替换成/user01/apras1/

vim寄存器

=========================================================================

有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴版内容,可以不同会话间

共享

寄存器名称a,b,…,z,格式:“寄存器 放在数字和命令之间

如:3"tyy 表示复制3行到t寄存器中

"tp 表示将t寄存器内容粘贴

未指定,将使用无命名寄存器

10个数字寄存器,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容。

当新的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不

同会话间共享

四. 使用多个“窗口”

==============================================================================

1.多文件分割


vim -o|-O FILE1 FILE2 …

-o: 水平分割

-O: 垂直分割

在窗口间切换:Ctrl+w, Arrow

2.单文件窗口分割


Ctrl+w,s:split, 水平分割

Ctrl+w,v:vertical, 垂直分割

ctrl+w,q:取消相邻窗口

ctrl+w,o:取消全部窗口

:wqall 退出

Ctrl+w ,方向键 想那个窗口跳转(也可以按两次ctrl+w可以实现窗口跳转)

在这里插入图片描述

五.可视化模式(了解)

==============================================================================

v键进入可视化模式

按键Ctrl+v(可视块“一个字符”) 或v(可执行),

Shift+v(可视行“整整一行”)

然后按下“上下左右方向”键选中需要赋值的块区,

1.按下y键进行复制(不要按yy)


,最后按下p加粘贴

退出可是模式Esc

2.在多行前面加相同的注释


按键Ctrl+v(可视块“一个字符”)

安向下的键(选中所要注释的行)

然后在行首输入I(大i) 输入内容

最后按esc键就ok了

在这里插入图片描述

3.快速删除


“注释”同上2只不过在选中后按d键

六. 扩展命令模式:

=============================================================================

当前vim进程有效

(1) 行号

显示:set number,简写 set nu

取消显示:set nonumber, 简写 set nonu

(2) 忽略字符的大小写

启用:set ignorecase,简写 set ic

不忽略:set noic

(3) 自动缩进

启用:set autoindent,简写 set ai

禁用:set noai

(4) 复制保留格式

启用:set paste

禁用:set nopaste

(5) 显示Tab和换行符 ^I 和$显示

启用:set list

禁用:set nolist

(6) 高亮搜索

启用:set hlsearch

禁用:set nohlsearch

(7) 语法高亮

启用:syntax on

禁用:syntax off

(8) 文件格式

启用windows格式:set fileformat=dos

启用unix格式:set fileformat=unix

简写 set ff=dos|unix

(9) 设置文本宽度

set textwidth=65 (vim only)

set wrapmargin=15

(10) 设置光标所在行的标识线

启用:set cursorline,简写 set cul

禁用:set nocursorline

(11)设置tab缩进字符

默认为4个字符

set ts=4 设置tab缩进为4个字符

七. 特殊用法

==========================================================================

查看当前已经打开的文件名称


:files

%a表示active正在打开的文件,

#表示上一个打开的文件

在这里插入图片描述

切换文件方式

  1. 需要指定切换文件名称则可以输入

:open 文件名

  1. 切换上一个文件和下一个文件(以打开vim时输入的为准)

:bn 切换到下一个back next

:bp 切换到上一个back prev

vim配置(重点)


1.在文件打开时在末行模式下输入的配置(临时配制

2.个人配置文件(在自己的家目录下面有一个.vimrc)–不一定存在(可以自己创建)

3.全局配置文件(自带的,在/etc/vimrc)

1.Vim代码着色


案例:创建一个简单的c语言小程序

如何控制着色:(临时的操作)

显示:输入 :syntax on syntax语法

关闭显示:输入: syntax off

在这里插入图片描述

2.Vim计算器的使用


当在编辑文件时需要计算一些东西,所以就得使用计算器

首先进入编辑模式

按下按键Ctrl +r(会出现一个”)然后输入=号------->光标会变到最后一行然后输入计算的内容----->最后回车

3.以二进制方式打开文件


vim –b binaryfile

扩展命令模式下,利用xxd命令转换为可读的十六进制

:%!xxd

插入模式下,编辑二进制文件

扩展命令模式下,利用xxd命令转换回二进制

:%!xxd -r

4.异常处理


异常退出(没有正常的wq或者断点)

会出现一个 .文件名.swp的交换文件

则只需要将交换文件删除掉即可

如果打开多个窗口以最后一个保存文件的时间为准

O(pen for Read-Only) :打开或只读文件。

E(dit) :用正常方式打开要编辑的文件,并不会载入暂存文件的内容,这很容易出现两个用户相互改变对方的文件问题

R(ecover):加载暂存文件的内容(A终端正在编辑,并且没有保存,然后在新打开的终端中vim进入时点R

照样可以看到A终端正在编辑的内容)

D(elete):如果你确定暂存文件是没有用的,则可以删除

Q(uit):不进行任何操作,回到命令行

A(bort) :忽略这个编辑行为,和Q类似

5.别名机制 (实用)alias


创建一些属于我们自己自定义的命令

例如:windows下面cls清屏操作

在linux下可以自己创造一个这种命令

别名机制依靠一个别名映射文件

在当前用户家目录下有 .bashrc

在.bashrc 下面创建一个新的命令

设置完新创造的 需要重新登陆账号

在这里插入图片描述

6.删除文件中的行首的空白字符


%s@^[[:space:]]*@@

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

完结

Redis基于内存,常用作于缓存的一种技术,并且Redis存储的方式是以key-value的形式。Redis是如今互联网技术架构中,使用最广泛的缓存,在工作中常常会使用到。Redis也是中高级后端工程师技术面试中,面试官最喜欢问的问题之一,因此作为Java开发者,Redis是我们必须要掌握的。

Redis 是 NoSQL 数据库领域的佼佼者,如果你需要了解 Redis 是如何实现高并发、海量数据存储的,那么这份腾讯专家手敲《Redis源码日志笔记》将会是你的最佳选择。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
码讲义、实战项目、讲解视频,并且会持续更新!**

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

完结

Redis基于内存,常用作于缓存的一种技术,并且Redis存储的方式是以key-value的形式。Redis是如今互联网技术架构中,使用最广泛的缓存,在工作中常常会使用到。Redis也是中高级后端工程师技术面试中,面试官最喜欢问的问题之一,因此作为Java开发者,Redis是我们必须要掌握的。

Redis 是 NoSQL 数据库领域的佼佼者,如果你需要了解 Redis 是如何实现高并发、海量数据存储的,那么这份腾讯专家手敲《Redis源码日志笔记》将会是你的最佳选择。

[外链图片转存中…(img-nNnFK0OA-1712942425775)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值