Linux文本编辑器——vim

Linux文本编辑器
ed pico emacs nano gVim vim vi
vim 是文本编辑器 不是文字处理工具(office liboffice wps)
你的运维生涯99.999999% 离不开它 rhel(centos)里最小化安装没有vim只有vi,记得装包
vim 基于perl开发的,所以vim依赖perl环境

vim有三种模式
分别为:
一般模式:
vim打开文件默认进入的就是一般模式
调整光标位置 复制 删除操作
编辑模式:
输入内容
末行模式(命令模式):
对整个文件进行操作 搜索 保存 全局替换

三种模式的切换方式:

一般模式
    i/a/o/r        ------->        编辑模式
            <------- [esc]        
                    
    : / ?        ------->        命令模式
            <------- [esc]

一般模式的操作
移动光标的方法
1、上下左右四个箭头键
2、h左 j下 k上 l右

  数字+hjkl(方向键)
ctrl+f  page down 下翻页
ctrl+b  page up   上翻页
ctrl+d  向下移动半页
ctrl+u  向上移动半页
+       光标移动到非空白字符处的下一行
-    -----------------------上一行
数字+space   向右移动N个字符
0        home     移动到行首
$     end      移动到行尾
H       光标移动到屏幕最上方所在行的行首
M       屏幕中央所在行的行首
L       最下方所在行的行首
G       光标移动到文件的最后一行
数字+G   移动到指定行
gg       移动到文件的第一行   相当于1G
数字+enter  光标向下移动指定行

搜索&替换
/keyword 从光标所在位置向下搜索 n下一个 N上一个
?keyword ---------------上— n 上一个 N 下一个
:%(全文) s/old/new/g 全文搜索替换
:n1,n2 s/old/new/g n1与n2之间进行替换
:n s/old/new/g 只在n行替换
:n1,n2 s/old/new/gc(替换前询问) n1与n2之间进行替换询问是否替换

:n1,n2 s/^#//  n1与n2之间的行开头去掉#号
:n1,n2 s/^/#/  -----------------加上#--
:g /^\s*$/d   删除全文中的空行  ^代表开头   \s  代表空格  *通配符 $ 代表结尾

删除 复制 粘贴
d删除
x/X x=从光标所在处向后删除一个字符 X=从光标所在处向前删除一个字符
数字+x 同上,向前/向后删除n个字符
dG 删除光标所在行处到最后一行
d1G 删除光标所在行处到第一行的所有
d$ 删除光标所在处到行尾
d0 删除光标所在处到行首
dd 删除光标所在行
数字+dd 删除n行
y复制
yy 复制光标所在行
数字+yy 复制n行
y1G 复制光标所在行处到第一行
yG 复制光标所在行处到最后一行
y0 复制光标所在处到行首
y$ 复制光标所在处到行尾
p粘贴
p/P p=从光标所在行下一行粘贴 P=上一行粘贴

u       撤销

区块选择
v 字符选择
V 行选择
ctrl+V 区块选择
y 复制
d 删除

编辑命令
i/I i=光标前插入 I=光标所在行行首
a/A a=光标后 A=-----------尾
o/O o=光标所在行下一行插入 O=光标所在行上一行插入

r/R  (替换) r=替换光标所在处的字符  R=从光标所在行开始替换 光标所在处开始向后替换,

保存、退出
:w   保存
:w!  强制保存
:q   退出
:q!  强制退出
:wq  保存退出
:wq! 强制保存退出
:x    相当于wq
ZZ   相当于wq!

:w /path/filename  将内容保存到指定位置
:r /path/filename  将内容从指定文件读取过来

查看文件 cat
more -数字 一次显示n行
less -N 显示行号 多配合别的命令使用 例如:PS -ef | less 作用分页显示
tail(查看日志) tail -f = tailf

多文件编辑

vim filename1 filename2
:n 下一个
:N 上一个
:files  查看打开的文件
多窗口编辑
:sp filename (上下分屏)  切割当前窗口开启新的内容
    ctrl+w  切换光标位置
:vsp filename(左右分屏)
    ctrl+w  切换光标位置

vim环境变量
设置vim环境变量 在用户的家目录下.vimrc(记录用户对vim的设置)
:set nu/:set nonu 设置行号
:set hisearch/:set no------- 搜索时是否高亮显示
:set autoindent/:set no------ 是否自动缩进
:set backup/:set no-------- 是否自动备份
:set ruler/:set no----- 是否提示光标位置
:syntax on/:syntax off 文档内容是否显示颜色(语法高亮):syn on :syn off
:set paste(不要写到vimrc下) 解决复制文本格式问题

用家目录下.viminfo 记录vim中使用过的命令/操作

环境变量
*****$? 执行上一个指令的返回值
$0 当前程序的名称
$n 当前程序的第n个参数,n=1,2,…9
$
当前程序的所有参数(不包括程序本身)
$# 当前程序的参数个数(不包括程序本身)
$$ 当前程序的PID
@ 与 @ 与 @*相同,但是使用时加引号,并在引号中返回每个参数
$- 显示shell使用的当前选项,与set命令功能相同

****echo $USER 表示当前用户的登录名称,值与whoami命令的结果一致
echo $UID 表示当前用户的ID,该变量的值与”id-u”命令的结果一致
echo $SHELL 表示当前用户的登录Shell,值与”passwd”文件中的Shell字段一致
****echo $HOME 表示当前用户的登录目录(宿主目录),值与”psaawd”文件中home字段一致
echo $PWD 表示用户当前所在的目录,值与pwd命令的结果一致
***echo $PATH 表示当前用户的命令搜索路径,即用户不指定全路径名执行命令,Shell程序将在哪些目 录以及按照何种顺序进行命令的搜索

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值