vim编辑器

vim 是 vi 的增强版

vim的三种模式:

 

命令模式:仅仅可以查看内容,但是不能进行修改(默认)

23输入模式:可以对文件中的内容进行修改

末行模式:此模式可以执行一些命令

i:在光标所在位置的前插入内容

a:将光标向后移到一位,然后进行插入模式(输入的内容会在光标原始位置的后一位。

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

命令模式下的一些常用的操作:

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

yy:复制光标所在的行

dd:剪切光标所在的行

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

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

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

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

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

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

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

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

nG:跳转到第n行

G:直接跳转到最后一行

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

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

$:跳转到行尾

ctrl+f:向下翻一屏

ctrl+b:向上翻一屏

第四类操作:查找

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

 n:从上往下查找

 N:从下往上查找

第五类操作:替换

R:进入替换模式

r:替换一个

末行模式下的一些常用操作:

第一类命令:行号

set nu:显示行号

set nonu:关闭行号

第二类命令:跳转

(直接输入行号即可)

num:直接跳转到第num行

$:直接跳转到最后一行

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

nohl

第四类命令:替换

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

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

start表示起始行数,end表示结束行数)

注意:

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

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

第五类命令:保存和退出

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

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

q:退出

!:强制执行操作

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

start,end d:删除多行 (start:起始行,end:结束行)

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

(start:起始行,end:结束行,dest:目标行)

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

1,$: s/原始内容/替换内容/g (从第一行到最后一行都进行替换)

%:s/原始内容/替换内容/g (从第一行到最后一行都进行替换)

start,end s/^(内容)/替换内容/g   (替换以(内容)开头的内容)

start,end s/(内容)$/替换内容/g  (替换以(内容)结尾的内容)

分屏操作

vim -o file1 file2:实现水平分屏(file1和file2 是文件名)

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

ctrl+w:切换到另一个分屏

打开文件的小技巧

vim +num file:打开文件的时候,自动跳转到第num行(加号不可省略)

vim + file:打开文件的时候,自动跳转到最后一行

vi的配置文件:

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

这个是系统文件,配置时打开这个,进行修改即可

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

(在家目录下创建.vimrc文件,创建时不能加/,否则不能生效)

编辑vi的配置文件,实现可以自动显示行号、缩进4个字符、自动对齐

# vi ~/.vimrc

:set nu (显示行号)

:set ai (自动对齐)

:set tabstop=4 (缩进4个字符)

vi崩溃缓存机制

vim编辑一个文件时,如果文件没有正常的关闭(wq、q、q!),那么就会生成一个崩溃缓存文件

崩溃缓存文件的和作用

1. 缓存文件是隐藏文件

2. 缓存文件基本格式是 .file.swp (file 是文件名)

3. 缓存文件的作用是用于在系统意外关机的情况下,恢复文件中的内容(修改了文件内容,意外关掉终端或者系统)

4. 缓存文件的使用方式

第一步:# vim -r .file.swp(打开缓存文件 选择恢复选项(R))

第二步:保存退出

第三步:删除缓存文件 rm -rf .file.swp)

注意:

1. 如果文件发生了修改,那么无法直接退出

2. 如果要退出一个修改了的文件,有三种方式

方式1:先执行保存(w),然后执行退出(q)

方式2:直接保存并退出(wq)

方式3:不保存,并强制执行退出操作(q!)

原文地址:https://www.cnblogs.com/leeeel/p/10815704.html