M25-3

懒人少语之第三周

`vim编辑器`

vi: Visual Interface 文本编辑器

vim带颜色~`不过需要是vim觉得你是配置文件才会有高亮颜色,普通复制配置文件未必有高亮`

vim通常有三种模式,默认下是命令模式,还有插入/编辑模式`i/o`和扩展命令模式`set nu`和格式化模式`v/V`

默认状态下是命令模式

vim +10 /etc/passwd

`+数字` 跳转到某行

vim +/^wang /etc/passwd

`+模式` 支持正则表达式跳转`光标处于第一个被PATTERN匹配到的行的行首`

vim -d /etc/passwd /etc/issue

`-d` 多个文件两个分割屏显示

vim -m /etc/passwd

`-m` 只读不能编辑

vim /err/f1

`文件路径名不存在不能保存`

vim -e /etc/passwd

`-e` 类似查找/命令/扩展命令模式

如果文件不存在,当编辑后第一次存盘是创建它

功能键

k上 j下 h左 l右

i编辑模式`插入模式,当前光标位置`

esc返回到命令模式

a编辑模式`光标往后移了一格`

o编辑模式`新增插入下一行新行`

I编辑模式`光标到行首编辑`

A编辑模式`光标到行尾`

O编辑模式`新增插入上一行新行`

w `下一个单词词首` W `跳过各种符号标点到..`

e `下一个单词词尾` E `跳过各种符号标点到..`

b `上一个单词段词首` B `跳过各种符号标点到上一个单词词首`

3h `向左跳三下` 3h 3j 3k 3l 数字加指令

H `当前这一页的行首`

M `当前这一页的中间`

L `当前这一页的行尾`

30G `跳到第30行`

gg `跳到第一行`

G `跳到最后一行`

0 `数字0跳到最前面的行首(包括空格的最前面)`

^ `行首第一个单词`

$ `行尾`

) `下一句`

( `上一句`

{ `下一段`

} `上一段`

{()} `可结合shift段落/句跳,或者双击{或}进行段落符号上下跳`

x `删除光标字符(剪切)`

3x `删除光标右边3个字符(剪切右边3个字符)`

~ `转换大小写`

J `删除当前行最后面的换行符,下一行内容接着当前行`

r字符 `先按r再输入字符,直接替换`

R `类似改写模式`

d命令 `删某个模式的一段`dh dw de db等 d( d) d{ d}

d$ `光标删到行尾`

d^ `光标删到行首(非空白头最前)`

dG `光标删到内容最后`

dgg `光标删到内容最前`

d0 `光标删到行首`

dd `删除一行`

3yy `复制当前光标下3行`↓

3Y `复制当前光标下3行`↑

y$ `复制当前光标到行尾`

y0 y^ ye yw yb y命令 y( y) y{ y}

yy `复制多行`

3yy `复制当前光标下3行`

p `粘贴,光标在最下边``如果复制的是单词,光标则在右边`

P `大写P粘贴,光标位置不变``如果复制的是单词,光标则在左边`

Ctrl+f `向文件尾部翻一屏`

Ctrl+b `向文件首部翻一屏`

Ctrl+d `向文件尾部翻半屏`

Ctrl+u `向文件首部翻半屏`

c修改命令结束后并跳到插入模式(修改过程中类似剪切操作)

c$ `剪切光标右边内容并转为编辑模式`

c^ `剪切光标左边内容并转为编辑模式`

S `大S剪切光标当前行内容并转为编辑模式`

c0 cb ce cw c( c) c{ c}

C命令 `剪切光标右边内容并转为编辑模式`

3cc `剪切光标下3行内容并转为编辑模式`

100iwang[ESC]

`默认模式下的100指次数,i到编辑模式,输入wang自定义内容后按[ESC]可自动重复粘贴内容100次`

0y$ `起始位置`命令`终止位置`

0行首,y命令复制,$行尾

y复制 d删除 gU变大写 gu变小写 ye yw yb等

组合ggyG `从行首复制到行尾`

地址定界(从这里,到这里`命令`)起始位置,结束位置y c d等

.当前行 $最后一行

,$-2 从当前行到倒数第二行

% 全部内容,相当于1,$ 比如`%y 是复制全文`

:10:100d `第10到100行删除(不能超过范围)`

:1,$d `第一行删到结尾`

:2,+3 `当前行开始2到3行`

模式定界(正则表达式)

:/^r/,/^f/d `光标当前行r开头的到f开头的删除`

d y (w file) (r file)

:/^r/,/^f/w /tmp/file `当前光标r开头f开头另存到/tmp/file`

:3,/^mail/d `从第三行到行首是mail的内容`

/^n `正序找n`(支持PATTERN模式)

?^g `倒序往上找行首是g的位置`(支持PATTERN模式)

n`与命令同方向`,N`与命令反方向`

:s/abc `查找abc内容`

:s/abc/cba/ `内容abc替代为cba(缺少模式选项不好搞)`↓

:%s/abc/ccc/g `%全文搜索内容abc用第三选项(修饰符)g全局替换为内容ccc`

i忽略大小写, g全局替换(默认下只替换每行第一次出现的),gc全局替换带询问交互功能,也可组合igc

也可以表现为(`因为在替换的内容为文件夹时,容易混乱,可用@或者#代替原有/的功能`)

[email protected]/[email protected]/[email protected]

[email protected]#/boot#/#i

撤销更改:

u `撤销最近的(上一次)的操作`

3u `撤销前3次操作更改`

U `大写U撤销当前光标行修改的操作(不可移动光标,编辑该行可撤销该行)`

Ctrl r `撤销后返回被撤销前的状态`

. 和 3. `撤销状态下的内容被粘贴一次,或者3次`

vim的寄存器

3"tyy `表示复制3行到t寄存器中`

"tp `表示将t寄存器内容粘贴`

"引号作为寄存上一个命令操作内容,并调用结束"(可跨多个vim编辑操作)

寄存器标识符可用10个数字记录,和26个自定义字母命名,1个无命名

esc:

:wq `存盘退出`

:q `普通退出`

:q! `强行退出`

:wq!`强制存盘退出`在没权限的情况下

:r `读入一个新文件内容到 当前光标下面`

:r /etc/passwd

:w `将文件另存为其它路径`

:w /etc/passwd

ZZ `存盘退出`

ZQ `不保存退出`

:!命令 `感叹号后面跟着命令临时看效果(不用退出VIM很方便)`

:r!命令 `将执行过的命令读到当前编辑光标位置`

:50 `跳到第50行`

若离开esc模式直接按一次esc便可

时间: 2024-12-20 14:31:31

M25-3的相关文章

sdutoj Thrall’s Dream

http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2604 Thrall’s Dream Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 We never paid any heed to the ancient prophecies, like fools we clung to the old hatreds, and fought

2014ACM/ICPC亚洲区广州站 北大出题

http://acm.hdu.edu.cn/showproblem.php?pid=5131 现场赛第一个题,水题.题意:给水浒英雄排序,按照杀人数大到小,相同按照名字字典序小到大.输出.然后对每个查询的名字,计数有多少人杀人数大于他,输出个数加1,计数有多少人杀人数相同,但名字小,如果没有不输出,否则输出个数加1. 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 using namespa

POJ2955BRACKETS(区间DP括号匹配)

%E7%94%A8UNITY5%E5%BC%80%E5%8F%91%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%89%8B%E6%9C%BA%E6%B8%B8%E6%88%8F%281%29%E5%90%84%E7%A7%8D%E6%8F%92%E4%BB%B6%E7%9A%84%E5%87%86%E5%A4%87 http://mp3.baidu.com/songlist/502238688?54R6m1&pgC5_8fA5=XF4 http://mp3.baidu.com/s

Windows Phone开发(20):当MediaElement和VideoBrush合作的时候

前面说的那么多控件都是"静态"的,都是"哑吧"的,今天,你有没有兴趣研究一下,既能"有声有色"又操作简单的控件吗?如果有,请随我来. MediaElement播放多媒体文件. 首先,隆重介绍一下MediaElement,为什么要隆重呢?因为它简单,真的,你一定会玩的,但是,MediaElement功能强大,它可以播放音频和视频,只要支持的格式就行了. 要设置播放的音频或视频文件,你只需要设置Source属性即可,它其实就是一个URI,如果要播放你

vue2购物车ch3-(过滤器使用 单件商品金额计算 全选全不选 总金额计算 删除商品功能)

1 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <!-- Always force latest IE rendering engine or request Chrome Frame --> <meta content="IE=edge,chrome=1" http-equiv

vue2购物车ch1-(安装依赖、简单配置、 axios获取api的模拟数据)

0--项目说明 说明此项目源自某课网购物车教程,但是在开发过程中,发现在开发过程中用的还是 vue-resource(宣布不更新的类$.ajx()插件),为了以后的发展使用axios.js,详情参考 1 初始静态页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <!-- Always force latest IE renderin

并查集详解 (转)

http://blog.csdn.net/dellaserss/article/details/7724401 我从CSDN转的文章,原文作者我也不懂是谁,文章写得真的是诙谐幽默,使得内容更容易理解了. 来看一个实例,杭电OJ 1232畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可).问最少还需要建

[BZOJ1046] [HAOI2007] 上升序列 (dp)

Description 对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1 < x2 < … < xm)且( ax1 < ax2 < … < axm).那么就称P为S的一个上升序列.如果有多个P满足条件,那么我们想求字典序最小的那个.任务给出S序列,给出若干询问.对于第i个询问,求出长度为Li的上升序列,如有多个,求出字典序最小的那个(即首先x1最小,如果不唯一,再看x2最小……),如果不存在长度为Li的上升序列

率坷现谲诰uz6hf13j36

别看在史莱克学院武魂系的地位要远远高于魂导系,可论富有程度却是拍马难及.很多时候武魂系还要依靠魂导系拨款呢."人类果然是藏龙卧虎,那天我只是流露出一丝自己的气息竟然也会被察觉.真是危险.不过,这只是个最弱小的封号斗罗.真没想到,有一天这种修为的存在也敢在我面前耀武扬威.要是以前,我瞬间就让他永远成为冰雕."第一百三十六章 进海神阁是要门票的(中)巫风在心生恐惧的时候就已经有了准备,将魂力集中于脑部防御.但是.就在这一瞬,他只觉得一根灰色的钢针缓缓的刺到自己面前,她甚至能够清晰的感觉到那

hihocoder1062 最近公共祖先&#183;一

问题描述: 已知人名构成的父子关系树(或者森林),对于给定的两个人名name1和name2,求其最近公共祖先.题目保证人名不重复. 分析: 利用C++ STL中的map和set容器可以很方便的实现.用map容器存储父子关系.对于每一个询问,先将从name1开始到树根的路径上的所有人名放入一个set容器,然后从name2开始向树根上溯,逐个检测人名是否已在set中即可. 我的代码: 1 #include <iostream> 2 #include <string> 3 #includ