博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux基础命令:vim
阅读量:4349 次
发布时间:2019-06-07

本文共 1633 字,大约阅读时间需要 5 分钟。

1、vi的基本概念 

基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

1) 命令行模式command mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按[i|a]进入插入模式,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)

编辑模式

在命令行模式下,输入[i|a]进入插入模式,在插入模式下编辑完文档,按[ESC]进入命令模式,在命令行模式下输入[:]进入底行模式

: w filename (输入 「w filename」将文章以指定的文件名filename保存): wq (输入「wq」,存盘并退出vi): q! (输入q!, 不存盘强制退出vi)

移动命令

h      "左j      "下k      "上l      "右w      "光标移动到下一个单词的首字符b      "光标移动到上一个单词的首字符e      "光标移动到下一个单词的尾字符ge     "光标移动到上一个单词的尾字符$      "将光标移动到当前行行尾^      "将光标移动到当前行第一个非空白字符0      "将光标移动到当前行第一个字符

修改命令

x        "删除一个字符d        "其后跟任何一个位移命令,将删除从当前光标到位移终点处的文本         "内容,如dw,delete word                          c        "与d命令功能类似,不同的在执行完删除后命令进去Insert模式,change dd       "删除一整行yy       "复制一整行p        "把剪贴板内容粘帖到当前位置 vimdiff 1.c 2.c "创建一个垂直分割窗口比较这两个文件不同的地方
 

搜索命令

/string  "全文本搜索一个字符串,如要找到单词"func"则用/func         "如果文本有多个func,按下n就会移动到接下来的func位置上         "n前面也可以接受数字计数,如3n,就会找紧接第三个func ?string  "与/string的功能相同,唯一的区别就是搜索的方向相反

滚屏命令

CTRL+U  "窗口向上滚半屏CTRL+D  "窗口向下滚半屏CTRL+E  "向上滚一行CTRL+Y  "向下滚一行CTRL+F  "窗口向上滚一整屏CTRL+B  "窗口向下滚一整屏zz      "当前行置于屏幕中央zt      "当前行置于屏幕顶端zb      "当前行置于屏幕底端

替换命令

:s/aa/bb/g       将光标所在行出现的所有包含 aa 的字符串中的 aa 替换为 bb:%s/aa/bb/g      将文档中出现的所有包含 aa 的字符串中的 aa 替换为 bb:12,23s/aa/bb/g   将从12行到23行中出现的所有包含 aa 的字符串中的 aa 替换为 bb:12,23s/^/#/     将从12行到23行的行首加入 # 字符:%s= *$==       将所有行尾多余的空格删除:g/^\s*$/d      将所有不包含字符(空格也不包含)的空行删除

 

转载于:https://www.cnblogs.com/wzy23/p/11375645.html

你可能感兴趣的文章
json
查看>>
南阳理工 499 迷宫
查看>>
在uefi引导的win8系统上装Ubuntu双系统
查看>>
Python中生成一个没有重复元素的随机序列??
查看>>
C++ 名字空间namespace的使用
查看>>
【转】C#中的两把双刃剑:抽象类和接口
查看>>
function,new function,Function,new Function 之间的区别
查看>>
Python作业题(列表,元组)
查看>>
跟踪OceanLotus的新下载程序KerrDown
查看>>
Android_2_如何将android虚拟设备的语言设置为简体中文
查看>>
2_图像处理中正交变换的目的是什么?图像变换主要用于那些方面?
查看>>
每天一个小程序:读取txt文件存储到excel 表中
查看>>
Linux ->> scp命令复制对端机器上的文件/文件夹
查看>>
hdu1014(水~)
查看>>
BZOJ 1025: [SCOI2009]游戏
查看>>
渗透测试全套教程(从原理到实战)
查看>>
2018年研究生数学建模优秀论文汇总
查看>>
oralce查被锁的session并kill掉
查看>>
TP5使用redis
查看>>
Python题目练习(二)
查看>>