vim编辑器

vi编辑器

目前shiyong
作用:编辑文本文件中的内容的工具
末行模式中,以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
启动vim
在命令行窗口中输入以下命令即可
vim 直接启动vim

viM的工作模式

1、命令模式:仅仅可以查看内容,但是不能进行修改(默认)
2、输入模式:可以对文件中的内容进行修改/
3、末行模式:此模式可以执行一些命令
注意:

  1. vi打开文件,如果发现文件是空的,那么说明你所打开的文件是不存在的
  2. 也就是vi既可以打开现有的文件,也可以创建新文件,只是所创建的新文件内容是空白的
  3. vi有增强版本,称之为vim(建议用vim)
  4. vi是用来编辑文本文件的,不能用来打开目录
    情况1:从命令模式到输入模式
    i:在光标所在位置的前插入内容
    a:将光标向后移到一位,然后进行插入模式(输入的内容会在光标原始位置的后一位。
    A:在当前行尾插入
    o:在光标所在行的下面新开一行,然后进入输入模式
    O:在光标所在行的前面新开一行,然后进入输入模式

命令模式下的常用操作

第一类操作:复制、移动删除文件内容
yy:复制光标所在的行,也可以复制多行,3yy
nyy:复制光标所在的行开始向下的N行
dd:剪切光标所在的行,只可以粘贴最后一行
ndd:剪切光标所在的行开始向下的N行
p(小):粘贴到光标所在行的下面
P(大):粘贴到光标所在行的上面1
D:删除光标所在位置到行尾的内容
dG:删除光标所在的行到末尾全部的行

第二类操作:撤销和重复执行的相关操作
u:撤销上次所指向的操作(相当于windows中ctrl+z)
nu:撤销n次操作(n的值最大是50)1
ctrl+r:撤销刚刚所撤销的那个操作(相当于windows中ctrl+y)1
:重复执行上一次所做的操作1

第三类操作:跳转相关的操作
nG:跳转到第n行
G:直接跳转到最后一行
home和end就可以
0:跳转到行首(会认为空格也是内容,此时会跳转到空格的最前面)
^:跳转到行首(不认为空格是内容,此时会跳转到第一个非空字符)
$:跳转到行尾
ctrl+f:向下翻一屏
ctrl+b:向上翻一屏

第四类操作:替换相关操作
r:替换一个字符(替换完成之后,自动返回到编辑模式)
R:进入替换模式(要想退出替换模式,按esc)

第五类操作:查找
/string:在文件中搜索指定的字符串
n:正向查找往下找
N:反向查找往上找
情况2:从输入模式到命令模式
esc
touch date "+%F".txt;创建时间文件。
情况3:从编辑模式到末行模式
进入末行模式的方式:在编辑模式下按shift+:

末行模式下的常用操作

第一类命令:行号
set nu:显示行号
set nonu:关闭行号

第二类命令:跳转
num:直接跳转到第num行
$:直接跳转到最后一行

第三类命令:取消匹配到的内容的高亮
nohl;nohl --> nohighlight

第四类命令:替换
start,end s/原始内容/替换内容/g;globle全局
1,5 s/haha/ken/g;一和五行haha全部替换成ken
(分隔符不一定是/,只要是三个相同的符号即可)

注意:
如果不用g,那么仅仅会替换每行的第一个找到的对象
如果使用g,那么会将范围内所有找到的对象全部做替换

例子:将54到56之间的echo替换为bajie
:54,56 s/echo/bajie/g
例子:将文件中全部的echo替换为bajie
:1,$ s/echo/bajie/g
或
:% s/echo/bajie/g
例子:将文件的50-100行行首添加一个#
:50,100 s/^/#/g
例子:1-5行首添加空格
:1,5 s/^/ /g
例子:将全部行首的空格删除
:1,$ s/^ //g
例子:将全部行首的#删除
:1,$ s/^#//g
 例子:将1-5行中的a删除
:1,5 s/a//g
例子:在1-5行的末尾添加一个#
:1,5 s/$/#/g
例子:将文件中全部的/替换为+
:% s@/@+@g
首行^name;name$;表示行尾内容
补充1:
^:表示行首
$:表示行位
第五类命令:保存和退出
w:执行保存操作(保存到原始文件中)
w /path/to/file:实现文件另存为1
q:退出
!:强制执行操作

第六类命令:高级操作
!命令:在vi中直接执行命令
r /path/to/file:将file中的内容导入到当前文件中
set tabstop=4:将tab缩进的字符数设置为4个1
set ai:设置自动缩进1
set noai:取消自动缩进1

第七类命令:复制、移动、删除多行的操作
start,end d:删除多行;:1,3 d;
start,end m dest:将多行移动到指定行的下面;:1,3 m $
start,end co dest:将多个复制到指定行的下面;:1,3 co $;
例子:将59到198之间的内容复制到233行的下面
59,198 co 233

分屏操作

vim -o file1 file2:实现水平分屏
vim -O file1 file2: 实现垂直分屏
ctrl+w:切换到另一个分屏
打开文件的小技巧
vim +num file:打开文件的时候,自动跳转到第num行(加号不可省略)
vim + file:打开文件的时候,自动跳转到最后一行

vi的配置文件

/etc/vimrc:全局配置文件,在这个文件中做的配置,会对所有用户生效;重点
~/.vimrc:(默认不存在,需要自己手动创建)用户配置文件,仅仅对当前用户生效

  1. 编辑vi的配置文件,实现可以自动显示行号、缩进4个字符、自动对齐
    vi ~/.vimrc
    :set nu;显示行号
    :set ai;设置自动缩进
    :set tabstop=4;tab缩进四个字节

vi崩溃缓存机制

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

崩溃缓存文件的和作用

  1. 缓存文件是隐藏文件
  2. 缓存文件基本格式是 .file.swp
  3. 缓存文件的作用是用于在系统意外关机的情况下,恢复文件中的内容(修改了文件内容,意外关掉终端或者系统)
  4. 缓存文件的使用方式
    第一步:# vim -r .file.swp 误操作之后输入此命令寻找缓存文件保存,然后删除此文件,源文件同步出现。
    第二步:保存退出
    第三步:删除缓存文件

注意:

  1. 如果文件发生了修改,那么无法直接退出
  2. 如果要退出一个修改了的文件,有三种方式
    方式1:先执行保存(w),然后执行退出(q)
    方式2:直接保存并退出(wq)
    方式3:不保存,并强制执行退出操作(q!)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容

  • 1. 关于Vim vim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我...
    Dyworldhua阅读 1,380评论 0 2
  • vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它。但是,vim作为一...
    梁世勇阅读 1,582评论 2 12
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,746评论 0 10
  • 光标移动 h 光标左移,同 <Left> 键j ...
    guanguans阅读 1,842评论 0 16
  • 待整理~ 1、vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptname...
    spfanlost阅读 1,718评论 0 0