9.vi编辑器 vim命令 - xiaoxiaoxuegao/rhcsa GitHub Wiki

# # # vi编辑器 vi命令

ctl+command从虚拟机里切换鼠标 root建的文件普通用户不允许操作

vi编辑器:超脱于emacs编辑器(GUN的还有gcc) emacs特别复杂 vi编辑器可以说是缩略版的emacs,因此功能不足。

  1. vim编辑器:补充vi编辑器的不足,可以把文本关键字以高亮颜色显示出来

3.linux的vi编辑器分为四种模式:

1).命令模式:vim进入时默认的模式(例如window里的复制粘贴,比windows强大)

命令模式-> i(insert)/a/o/I/O/A->都可以进入编辑(插入)模式

末行模式下:输入:set nu 显示行号

删除单个字符:x

删除整行: dd

删除光标下面几行(其实是剪切):d数字(几行)d—>例如删除三行d3d

把剪切/复制内容粘贴到光标下一行:p(剪切一次可以恢复多次)

把剪切/复制内容粘贴到光标上一行:P

复制光标所在行:yy

复制光标下面几行:y数字(几行)y—>例如复制三行y3y

返回(撤销):在删除的位置 u 即还原;

返回最开始:按住u(退出保存就不行了)

光标移动到最后一行:G

光标移到第几行:行数字 G—>9G跳到第九行

光标移动到第一行:gg

单个字符替换:r—>输入要替换的

多个字符替换: R—>

2).编辑模式:编辑文件

h:光标左移动

l:光标右移动

k:光标上移动

j:光标下移动

编辑模式—>按esc—>退回到命令模式

i—>默认在光标所在位置前面插入;

a—>在光标所在位置后面插入;

o—> 在光标所在行的下面另起一行;

I—>移动到最前端;

A—>移动到最后端 ;

O—>在光标的上一行令起一行;

3).末行模式:只能从命令模式进入,不能从编辑模式进入。

命令模式输入“ : ”即可进入末行模式;

末行模式—>按esc—>退回到命令模式

:q 退出(会提示,没保存不让退出)

:w 保存

:q! 强制退出

:wq ==x 保存并退出

:set number 或:set nu 显示行号

:set nonumber取消行号

/ 要查找的内容:查找—>若查找到多个内容—>n下一个(往下翻)/N上一个(往上翻)

:第几行,到第几行s(s代表查找)/替换前内容/替换后结果/g(替换全部查找到的):即查找又替换

:1,$s/被替换内容/替换后内容/g(全局替换):代表1到最后一行全替换

例::6,8s/nologin/NOLOGIN/:把6-8行里的nologin替换成NOLOGIN

注意:只替换这行里第一个查找到的,例如把a换成A,只会替换这一行找到的第一个a 而加g代表global替换所有查找到的内容

例:vim test(创建test文件并打开) -》O(进入编辑模式,并在光标上面另起一行)—>i am here(输入)—>esc(返回到命令模式)—>:wq(保存并退出)—>head -3 test(查看test文件前三行)—>v !(在历史记录中查找到v相关的命令vim并且执行,进入到test文件里)

4).可视化模式:可以操作多行

命令模式—>v—>可视化模式->上下左右键子可以选行(类似鼠标选中几行)


x:删除选中的这些行

u:恢复

ctl(command)+v:选对齐的列:例如第一行第五个字符按下键就会选中下一行第五个字符

可视化模式—>按esc—>退回到命令模式

图形化编辑方法:创建 文件:touch 文件名 -》右键用gedit打开-》直接编辑

命令编辑方法:可以不创建文件直接 :vim 文件-》不编辑退出就不会建这个文件

注意:不要用小键盘

4.vimtutor :教程--》:q退出

6.用鼠标复制:选中-》鼠标中键滑轮

7.某文件末尾追加东西:

echo “————————-” >> test.txt