Linux vim基础教程

2023-12-21 15:54 IT Fly 工作室 RHCE教程学习 阅读量:601
  • vi和 vim都是文本编辑器,vim是vi的升级版

  • vim会高亮显示 ,而vi不会

 

1 、命令行模式

h

光标向左移动

j

光标向下移动

k

光标向上移动

l

光标向右移动

yy

复制一行,复制10行:10yy

p

粘贴到光标所在的下一行 ,10p就是把复制的内容粘贴10次

P

粘贴到光标所在的上一行

dd

剪切光标所在行,100dd ,剪切光标以下100行

d1G

从光标所在行 ,删除到第一行

dG

从光标所在行,删除到最后一行

D

从光标处剪切到行尾,这时 ,p,会在光标后面粘贴

d$

同上

gg

光标回到第一行行首

G

光标到最后一行行首

$

移动光标到当前行尾

0

数字零,移动光标到当前行首

x

删除光标所在字符 ,2x,从光标往后删除2个字符

X

往前删

r

替换光标处单个字符,r2 ,把光标处字符替换成2

R

进入替换模式,一直替换,除非按esc ,回到命令行模式

u

撤消上一次操作

ctrl+r

恢复上一次的撤消操作

.

重复上一次操作

ctrl+f

向下一页

ctrl+b

向上一页

 

2、编辑模式

从命令行模式进入编辑模式的方式:

i

在光标当前位置的前面插入字符

I

光标移动当前行的行首

a

光标往后退一个字符

A

光标移动到行尾

o

光标所在行下一行新起一行

O

上一行新起一行

 

回到命令行模式,按esc键,切换到其它模式必须先回到命令模式 ,再切换

图形化下用鼠标复制粘贴内容 ,要先进入编辑模式,否则会掉东西

 

3、末行模式

进入vim内置的命令行接口

:help

查看帮助

:wq

保存退出,或:x

:wq !

强制保存退出 ,对一个只读文件

不过到底能不能写入,还是跟权限有关

:w f1

另存到f1这个文件

:q

退出

:q!

强制不保存退出

:set nu

显示行号

:set nonu

取消行号

:9

光标移动到第9行行首

:1,9d

删除第一行到第9行

:1,3 >

1到3 行缩进,默认8个空格 ,可定义sw定义缩进值

:1 ,$s/root/hehe/g

从第一行到最后一行,全局把root替换成hehe

l 1 ,$,表示第一行到最后一行 ,可用%替代

l s///g,替换表达式,s/查找字符/替换为的字符/修饰符

 

修饰符:

l i,忽略大小写;

l g ,全局替换,默认情况下,每一行只替换第一次查找到的字符 。

:.,$s/r\(..\)t/R\1T/g

从当前行到最后一行中的root替换为RooT

l . ,$ ,表示当前行到最后一行

l r\(..\)t ,表示查找r和t中间只有两个字符的字符

l R\1T,表示将前面查找的内容,替换为R开头,T结尾 ,中间字符按前面第一个\(\)查找到的内容

:%s/bash/s&/g

将所有的bash,替换为sbash

l &,表示前面查找到的内容

:%s@/bin@/sbin@g

将全局的/bin替换为/sbin

将表达式的分隔符用@代替 ,因为/和要查找和替换的字符冲突

:%s/^[[:space:]]\+//

将所有行前面的空白字符替换为无

:! ls /boot

叹号,表示会暂时离开vim,然后去执行叹号后面的命令

:r /etc/passwd

把r后面的文件 ,读取到当前vim编辑器

:r  ! ls /boot

把ls /boot命令的输出,读取到当前vim编辑器

/

往光标所在行之下搜索关键字

?

往光标所在行之上搜索关键字

n

下一个关键字

N

上一个关键字

 

4 、visual可视模式

最主要的功能:可以分区块的选中文件内容

v

选中连续字符,然后可以用x删除 ,d剪切,y复制

V

选中整行

ctrl+v

选中区块,注意:XShell不支持

 

注意:

  • 正在编辑的文件 ,会在文件当前目录产生一个.swp缓存文件 ,如果这时,意外退出vim,可通过这个缓存文件找回之前编辑的内容。

  • 比如:将一个正在用vim编辑的文件 ,ctrl+z,将该操作放到后台;jobs,查看后台运行程序 ,找到刚才的命令编号;kill -9 %1,杀掉该命令,模拟意外中断

  • 这时 ,再用vim打开该文件,会有提醒:1.有多人打开这个文件;2.这个文件上次编辑时,意外中断。

  • 可以按提示 ,按R恢复文件,D删除缓存文件等

 

5 、同时编辑多个文件

vim f1 f2

:files

列出打开的所有文件

:n

切换到下一个文件

:N

切换到上一个文件

:wall

保存所有

:qall

退出所有

 

#-o,多个文件同时打开 ,水平分割显示

#-O ,多个文件同时打开,垂直分割显示

vim -o file1 file2

  • ctrl+方向键,切换光标

 

vim f1

:sp

把当前文件在一个新窗口再打开一次

:sp f2

在新窗口打开f2这个文件

ctrl+w+j

ctrl+w ,松开,再按j,移动光标到下一个文件

ctrl+w+k

ctrl+w ,松开,再按k,移动光标到上一个文件

 

6、定制vim

配置文件:

  • /etc/vimrc

  • ~/.vimrc

 

注意:用户家目录下的.vimrc ,默认没有,需要自己创建

 

vim ~/.vimrc

#默认开启行标

set nu

 

#开启括号匹配,高亮显示

set showmatch

 

#开启自动缩进

set ai

 

#开启高亮搜索

set hlsearch

 

#语法高亮

syntax on

 

#忽略大小写  

set ic

 

#一个tab的宽度为4个空格宽度

set ts=4

 

#用space代替tab

set expandtab

 

#缩进时 ,使用4个空格,默认8个空格

set sw=4

 

实例1:配置vim,使用tab缩进 ,自动转换成2个空格

 

vim ~/.vimrc

set ai ts=2 sw=2 et

版权所有:
文章标题:Linux vim基础教程
文章链接:https://www.51itlab.net/?post=58
本站文章均为原创,未经授权请勿用于任何商业用途

热门标签