linux中vim的基础操作以及高级设置

建立文件的方式

touch file
gedit  file
vim  file
> file

一.vim的三种模式

vim是全球两大流行文本编辑器之一
vim file ##直接编辑文件内容

vim  直接
#:wq file ##文件不存在时
#:wq! file ##文件存在

vim模式:

命令模式(浏览模式) 此模式下只能对文件内容浏览;对vim的工作方式进行设定;不能修改文件内容
插入模式 对文件内容进行修改的模式
退出模式 结束vim程序使用到的指令

vim 命令查看帮助
1vimtutor##vim手册
2vim 命令打开vim程序在程序输入
:help

二.vim工作的基本配置

在命令模式下如何更改vim的工作方式
各种设置在百度查询
临时设定
1

:set 设定
:set nu		#显示行号
:set nonu	#取消行号显示
:set mouse=a	#鼠标可用
:set cursorline #显示光标所在行的行线

set cursoline
在这里插入图片描述

2
在用户的家目录设置
vim ~/.vimrc
set nu

[westos@lzy Desktop]$ vim ~/.vimrc
[westos@lzy Desktop]$ cat ~/.vimrc
set nu

在这里插入图片描述对root用户不生效
在这里插入图片描述

永久设定方式
vim /etc/vimrc ##vim配置文件
set nu

全局设定:对所有用户都生效

三.搜索

/关键字 高亮显示关键字
:noh 取消高亮显示
n 向下匹配关键字
N 向上匹配关键字

浏览模式
在这里插入图片描述

四.vim中的字符管理

复制

y 复制快捷键
yl 复制一个字母
y3l 复制三个字母
yw 复制一个单词
y3w 复制三个单词
yy 复制一行
y3y 复制三行

删除

d 删除的快捷键
dl/x 删除一个字母
d3l 删除三个字母
dw 删除一个单词
d3w 删除3个单词
dd 删除一行
d3d 删除3行

剪切

c 剪切
cl 剪切1个字母
c3l 剪切3个字母
cw 剪切1个单词
c3w 剪切3个单词
cc 剪切1整行
c3c 剪切从此行开始的后三行

c3按上键,剪切从此行开始的前三行

"注意
剪切操作完毕后会进入到插入模式" " 如果要粘贴需要按<ESC>退出插入模式按<P>"

粘贴

p ##在命令模式下p表示粘贴

恢复

u ##恢复 undo

撤销

<ctrl>+<R> ##撤销 redo

五.vim可视化模式

<ctrl>+<v> ##进入可视化模式<ESC>退出可视化模式

批量添加字符:

1.<ctrl>+<v> 进入可视化模式, 选中插入字符所在列
在这里插入图片描述

2.按大写<I>进入插入模式
3.插入要写入的字符
在这里插入图片描述

4.<ESC>退出插入模式 批量添加完成
在这里插入图片描述

六.批量修改字符

%s/原字符/替换字符/ 默认只替换每一行的第一个匹配到的原字符
在这里插入图片描述

:%s/原字符/替换字符/g##%全文的行,g全文的列
在这里插入图片描述在这里插入图片描述

1,5s/:/##/g ##1,5 1-5行
/adm/,/sync/s/:/##/g #/adm/,/sync/ adm字符到sync字符之间的,其余会高亮显示

在这里插入图片描述

七.vim的分屏功能

同步分屏

<ctrl> + <w> <s> 上下分屏
<ctrl> + <w> <v> 左右分屏
<ctrl> + <w> <上|下|左|右> 光标移动
<ctrl> + <w> <c> 取消分屏

不同不分屏
1 已经打开一个文件
:sp 文件名称
在这里插入图片描述在这里插入图片描述

2
vim -o file1 file2
vim -p file1 file2
见上篇博客

八.vim中快速定位光标

gg 光标移动到文件第一行行首
G 光标移动到最后一行
:数字 光标移动到指定行

九.vim插入模式进入方式

i 光标所在位置插入
I 光标所在行行首插入
A 光标所在行的行尾插入
a 光标所在字符的下一个字符插入
o 光标所在行的下一行插入
O 光标所在行的上一行插入
s 删除光标所在字符插入
S 删除光标所在行插入

十.vim退出模式

:wq 保存退出
:wq! 强行保存退出只有文件是自己的或者root用户可用
:q 退出未对文件内容修改
:q! 强制退出不保存

test
查找一个字符串 .在文件/usr/share/xml/iso-codes/iso_639_3.xml中查找所有包含ng的行
. 将找出的行按照先后顺序复制到/root/list中
. /root/list文件中无意义的空格删掉
. 其中的所有行的内容必须是源文件的原始的副本

ll[root@lzy ~]# grep ng /usr/share/xml/iso-codes/iso_639_3.xml > /root/list
[root@lzy ~]# vim /root/list

:%s/^ *//g  删除空行  %s/^\ *//g
 删除开头的所有空格

在这里插入图片描述在这里插入图片描述

:%s/^I//g  删除tab键带来的空行 
/crtl+shift + i  (tab ^I)

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ninimino/article/details/108927715