0
点赞
收藏
分享

微信扫一扫

linux基础day09

山竹山竹px 2023-03-20 阅读 83
vim运维

vim文本编辑器

什么是vim

vivim 命令是linux中强大的文本编辑器, 由于Linux系统一切皆文件,而配置一个服务就是在修改其配置文件的参数。

vim 编辑器是运维工程师必须掌握的一个工具, 没有它很多工作都无法完成。

vim 其实是vi 的升级版

为什么要使用vim

vim是学习linux最重要的命令之一

vim和vi的区别

vim 能高亮显示
vi 不能高亮显示

其他功能一样

vim的三种模式

命令模式

# 光标跳转
gg  # 跳转文本行首
G   # 跳转文本行末
Ngg # N代表数字 跳转文本第n行
 例: 1gg 跳转至第一行
     2gg 跳转到第二行
^   # 跳转至行首
$   # 跳转至行末
# 复制粘贴
yy  # 复制光标所在位置的一行
Nyy # N代表数字 复制光标所在行及后N行 
p   # 粘贴复制内容至光标所在下一行(小写)
P   # 粘贴复制内容至光标所在上一行(大写)
# 剪切
dd      # 删除或者剪切 可以通过p粘贴
Ndd/dNd # 删除/剪切光标所在行及后N行 N代表数字
dG      # 删除光标所在行至结尾
x       # 删除光标所在字符(小写)
X       # 删除光标所在前的一个字符(大写)
# 撤销
u            # 撤销上一步操作
r            # 替换光标所在字符
R            # 持续替换直到按下ESC
ctrl + r     # 恢复撤销,回滚

编辑模式

# 进入编辑模式命令模式的快捷键全部失效
i # 在光标前进入编辑模式
I # 进入编辑模式,光标跳转至行首

a # 光标往后退一格,进入编辑模式
A # 进入编辑模式,光标跳转到行末

o # 跳转至光标下一行,进入编辑模式
O # 跳转至光标上一行,进入编辑模式

s # 把光标下的字符删除,并进入编辑模式
S # 删除整行并进入编辑模式

末行模式

:wq          # 保存退出
:w           # 保存
:q           # 退出

:wq!         # 强制保存退出
:q!          # 强制退出
:w!          # 强制保存

:x           # 保存退出
shift+zz     # 保存退出
:number      # 数字!!,跳转到第n行
 例  :1 跳转至第一行
     :2 跳转至第二行
     :3 跳转至第三行
     
:set nu      # 显示行号
:set ai      # 自动缩进
:set ic      # 不区分大小写
:set list    # 显示制表符,显示结尾符号和TAB符号
:set hl      # 高亮
:set no命令   # 取消命令
末行模式的查找和替换
/关键字 # 使用/匹配关键字

# 替换
%s/root/xxx/g

s search 查询
g global 全局
% 代替所有行

视图模式

ctrl + v

# 集体注释
ctrl + v
shift + g (G)移动至末行
shift +i (I)光标移至行首进入编辑模式
shift +3 (#)
ESC ESC

#群体取消注释
x

vim环境变量优化

~/.vimrc 个人环境变量(优先级高) /etc/vimrc 全局环境变量
# vim ~/.vimrc
syntax on
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
set number
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set ruler
set incsearch
set showmatch
set matchtime=10
set ignorecase
set cursorline
set t_Co=256
colorscheme molokai
#语法检查及高亮
syntax on
#设定默认解码
set?fenc=utf-8?
set?fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
#显示行号
set?number?
#vim使用自动对齐,也就是把当前行的对齐格式应用到下一行
set?autoindent?
#依据上面的对齐格式,智能的选择对齐方式
set?smartindent?
#设置tab键为4个空格
set?tabstop=4?
#设置当行之间交错时使用4个空格
set?shiftwidth=4?
#设置在编辑过程中,于右下角显示光标位置的状态行
set?ruler?
#设置增量搜索,这样的查询比较smart
set?incsearch?
#高亮显示匹配的括号
set?showmatch?
#匹配括号高亮时间(单位为?1/10?s)
set?matchtime=10?
#在搜索的时候忽略大小写
set?ignorecase?
#禁止生成临时
#set?nobackup?
#当前行高亮
set?cursorline?
#支持256色
set?t_Co=256?
#使用molokai颜色模板
#colorscheme molokai
//如果个人vim环境没有配置, 则使用全局vim环境变量配置。
//如果个人vim环境和全局环境变量产生冲突, 优先使用个人vim环境变量。

vim拓展

# 同时编辑两个文件

# 水平分割编辑两个文件
vim -o 1.txt 2.txt

# 垂直分割编辑两个文件
vim -O 1.txt 2.txt

#切换
ctrl +ww


# 对比两个文件
vimdiff file1 file2

# 以光标在第n行进入文件
vim +n 文件
举报

相关推荐

Day09

JavaSE基础进阶学习day09

Python基础-Day09 文件操作

java笔记Day09

Golang笔记_day09

前端学习day09

Day09 文件操作相关

刷题打卡 day09

0 条评论