vi,vim常用命令

复制

  • 单行复制
在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;
  • 多行复制
在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……
【yy】 复制光标所在的那一行
【nyy】 复制光标所在的向下n行
  • 粘贴
在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴
【p,P】 p为将已经复制的数据在光标下一行粘贴;P为将已经复制的数据在光标上一行粘贴
  • 删除
删除一行:dd
删除一个单词/光标之后的单词剩余部分:dw
删除当前字符:x
光标之后的该行部分:d$
文本删除
dd 删除一行
d$ 删除以当前字符开始的一行字符
ndd 删除以当前行开始的n行
dw 删除以当前字符开始的一个字
ndw 删除以当前字符开始的n个字
  • 查找
【/word】 在文件中查找内容为word的字符串(向下查找)
【?word】 在文件中查找内容为word的字符串(向上查找)
【[n]】 表示重复查找动作,即查找下一个
【[N]】 反向查找下一个

搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?
命令模式下,输入:nohlsearch  也可以:set nohlsearch; 当然,可以简写,noh或者set noh。
  • 设置行号
如果编辑后,又想显示行号,同样操作按一下esc键,并输入:(冒号),输入set number    ,并按回车键,完成后即显示行号
  • 跳到指定行
在知道所查找的内容在文件中的具体位置时可以使用以下命令直接定位:
跳到文件指定行:比如跳到66行
66+G(也就是66+shift+g)
当然你可以选择另一种跳转方式:
命令行输入“ : n ” 然后回车
跳到文件第一行:gg (两个小写的G)
跳到文件最后一行:shift+g (也就是G)
  • 文件上下翻转
页翻转可以直接使用PgUp和PgDn
向前滚动一屏:Ctrl+F
向后滚动一屏:Ctrl+B
向前滚动半屏:Ctrl+D(向下)
向后滚动半屏:Ctrl+U(向上)
向下滚动一行,保持当前光标不动:Ctrl+E
向上滚动一行,保持当前光标不动:Ctrl+Y
当前行滚动:
当前行移动到屏幕顶部并滚动:Z+Enter
滚动指定行到屏幕顶部: 10Z+Enter(指定第十行)
当前行移动到屏幕中央并滚动:Z + .
当前行移动到屏幕底部并滚动:Z + -
当前屏幕操作:
H:大写h,移动到当前屏幕首行;nH移动到首行下的第n行
M:大写m,移动到当前屏幕中间行
L:大写l,移动到当前屏幕末行;nL移动到末行上面的第n行
  • 撤销上一步操作
【u】 撤消上一个操作
【[Ctrl] + r】 多次撤消
【.】 这是小数点键,重复上一个操作
  缩进:
  插入模式下,ctrl+shift+d 减少缩进,ctrl+shift+t 增加缩进
  • vim编辑
1、进入插入模式(6个命令)
【i】 从目前光标所在处插入
【I】 从目前光标
【a】 从当前光标所在的下一个字符处开始插入
【A】 从光标所在行的最后一个字符处开始插入
【o】 英文小写字母o,在目前光标所在行的下一行处插入新的一行并开始插入
【O】 英文大写字母O,在目前光标所在行的上一行处插入新的一行并开始插入

 2、进入替换模式(2个命令)
【r】 只会替换光标所在的那一个字符一次
【R】 会一直替换光标所在字符,直到按下[ESC]键为止
【[ESC]】 退出编辑模式回到一般模式

  3、一般模式切换到命令行模式
【:w】 保存文件
【:w!】 若文件为只读,强制保存文件
【:q】 离开vi
【:q!】 不保存强制离开vi
【:wq】 保存后离开
【:wq!】 强制保存后离开
【:! command】 暂时离开vi到命令行下执行一个命令后的显示结果
【:set nu】 显示行号
【:set nonu】 取消显示行号
【:w newfile】 另存为
【:set fileencoding】 查看当前文件编码格式
【:set fileencoding=utf-8】 设置当前文件编码格式为utf-8,也可以设置成其他编码格式
【:set fileformat】 查看当前文件的断行格式(dos\windows,unix或macintosh)
【:set fileformat=unix】 将当前文件的断行格式设置为unix格式
  • 多窗口功能
【:sp [filename]】 打开一个新窗口,显示新文件,若只输入:sp,则两窗口显示同一个文件
【[Ctrl] + w + j】 光标移动到下方窗口
【[Ctrl] + w + k】 光标移动到上方窗口
【[Ctrl] + w + q】 离开当前窗口
  • 缩进
批量缩进

在程序代码界面,按esc,退出编辑模式,到命令模式,并在英语输入法下输入“:”

将所要批量缩进的行号写上,按照格式:“行号1,行号2>”输入命令,如要将2至9行批量缩进一个tab值,则命令为“2,9>”

输入完毕后,按回车可以执行,就可以看到2至9行全部缩进了一个tab值了,同样的,如果要缩回来一个tab值,则用命令“行号1,行号2<”即可

可视模式缩进
    方法二是在可视模式下选择要移动的列,操作为,esc从编辑模式退到命令模式,将光标移到需要缩进的行的行首,然后按shift+v,可以看到该行已被选中,且左下角提示为“可视”
此时,按键盘上的上下左右方向键,如这里按向下的箭头,选中所有需要批量缩进的行
选择好了之后,按shift+>,是向前缩进一个tab值,按shift+<,则是缩回一个tab值
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,367评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,959评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,750评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,226评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,252评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,975评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,592评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,497评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,027评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,147评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,274评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,953评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,623评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,143评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,260评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,607评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,271评论 2 358