码迷,mamicode.com
首页 > 系统相关 > 详细

vim 编辑器

时间:2019-05-16 10:54:13      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:height   命令   com   行号   查找   强制   des   例子   机制   

1. vi编辑器

编辑文本文件的内容的工具

 

2. 启动vim

vim:直接启动vim;

vim filename:打开vim并创建名为filename的文件

 

3. vim的模式

技术图片

4. 命令模式进入输入模式:ai、o键

aappend,追加,在光标后输入

 技术图片技术图片

iinsert,插入,在光标前输入

 技术图片技术图片

o:other,另起一行输入

 技术图片技术图片

I :将光标移到到行首,然后进入输入模式

A:在当前行尾插入

O:在光标所在行的上面新开一行,然后进入输入模式

 

5. 命令模式下常用操作

第一类操作:复制、移动删除文件内容

yy:复制光标所在的行

nyy:复制光标所在的行开始向下的n行

dd:剪切光标所在的行,没有执行p(粘贴)时相当于删除

ndd:剪切光标所在的行开始向下的n行

p(小):粘贴到光标所在行的下面

P(大):粘贴到光标所在行的上面

D:删除光标所在位置到行尾的内容

dG:删除光标所在的行到末尾全部的行

 

第二类操作:撤销和重复执行的相关操作

u:撤销上次所指向的操作(相当于windows中ctrl+z)

nu:撤销n次操作(n的值最大是50)

ctrl+r:撤销刚刚所撤销的那个操作(相当于windows中ctrl+y)

. :重复执行上一次所做的操作

 

第三类操作:跳转相关的操作

nG:跳转到第n行

G:直接跳转到最后一行

 

0:跳转到行首(会认为空格也是内容,此时会跳转到空格的最前面)

^:跳转到行首(不认为空格是内容,此时会跳转到第一个非空字符)

$:跳转到行尾

home键:跳至行首

end键:跳至行尾

 

ctrl+f:向下翻一屏  pgup

ctrl+b:向上翻一屏  pgdn

 

第四类操作:替换相关操作

r:替换一个字符(替换完成之后,自动返回到编辑模式)

R:进入替换模式(要想退出替换模式,按esc)

 

第五类操作:查找

/ string:在文件中搜索指定的字符串

n:正向查找,从上到下

N:反向查找,从下到上

 

6 命令模式进入末行模式:  

末行模式常用操作

第一类命令:行号

set nu:显示行号

set nonu:关闭行号

 

第二类命令:跳转

num:直接跳转到第num

$:直接跳转到最后一行

 

第三类命令:取消匹配到的内容的高亮

nohl

 

第四类命令:替换

start,end s/原始内容/替换内容/g

(分隔符不一定是/,只要是三个相同的符号即可)

注意:

如果不用g,那么仅仅会替换每行找到的第一个对象

如果使用g,那么会将范围内所有找到的对象全部做替换

 

补充1:

^:表示行首

$:表示行尾

%:表示全局文件

 

第五类命令:保存和退出

w:执行保存操作(保存到原始文件中)

w /path/to/file:实现文件另存为

q:退出

!:强制执行操作

 

第六类命令:高级操作

!命令:在vi中直接执行命令,!+命令

r /path/to/file:将file中的内容导入到当前文件中

set ai:设置自动缩进

set noai:取消自动缩进

 

第七类命令:复制、移动、删除多行的操作

start,end d:删除多行

start,end m dest:将多行移动到指定行的下面

start,end co dest:将多个复制到指定行的下面

 

7 分屏操作

vim -o file1 file2:实现水平分屏

 技术图片

 vim -O file1 file2:实现垂直分屏

 技术图片

切换文件:ctrl+w

 

8.vim 崩溃缓存机制

.文件名.swp

1)Q退出

2)vim -r 源文件(不是崩溃缓存文件名)

3)rm -rf 崩溃缓存文件

4)查看源文件,内容恢复

 

9.vim的配置文件

/etc/vimrc:全局配置文件,在这个文件中做的配置,会对所有用户生效

~/.vimrc:(默认不存在,需要自己手动创建)用户配置文件,仅仅对当前用户生效

 

 10. 例子

创建两个文件夹zxj、my,将etc下的passed前十行写入其中,用zxj和my两个文件夹做实验。

 技术图片

打开vim文件夹并进行编辑

 技术图片

技术图片

例1:替换第1到第10行的root为zxj,不加g,仅替换每行匹配到的第一个root;加g,替换整体,及替换匹配到的所有root。

 技术图片

 技术图片

 

例2:替换1到10行的所有 /为#,分隔符为替他3个相同的字符。1,10 s@/@#@g

 技术图片

 

例3:在每行行首加#;% s/^/#

 技术图片

删除每行的#:% s/^#//

 技术图片

在每行行尾加入#:% s/$/#/

 技术图片

删除每行行尾的#:% s/#$//

 技术图片

给每行行首加空格:% s/^/ /

 技术图片

删除每行行首的空格:% s/^ //

 技术图片

例3:从passwd文件读入当前文件:r /etc/passwd

 技术图片

 

例4:删掉1-3行:1,3  d

 技术图片

例5 :把1-3行移动到第10行后面:1,3 m 10

 技术图片

第1行移到最后一行:1 m $

 技术图片

例6 把1-3行复制到第10行后:1,3 co 10

 技术图片

把第1行复制到最后一行: 1 co $

 技术图片

vim 编辑器

标签:height   命令   com   行号   查找   强制   des   例子   机制   

原文地址:https://www.cnblogs.com/ajunyu/p/10874161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!