编辑之神-vim

简介

vi是"Visual interface"的简称, 它在Linux上的地位就仿佛在Edit程序在DOS上一样。它可以执行输出,删除,查找,替换,块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,他不像Word或者WPS那样对文字的字体、格式、段落等其他属性进行排版,他只是一个文本编辑器,而且vi没有菜单,只有命令,而且命令繁多。

而vim编辑器是Linux/Unix系统下的标准编辑器,是Linux系统中不可或缺的编辑工具,同时也是vi编辑器的升级版。在使用Mac系统终端功能时也会涉及vim编辑器的运用。

大部分的Linux系统都是自带vi或者vim编辑器的,如果没有安装,可以运行如下命令进行安装:

sudo apt install vim  # Ubuntu 系统


yum -y install vim   # centos 系统

vim的三种模式

vim通常由三种模式: 一般模式, 插入模式,末行模式。

一般模式

一般模式也称普通模式或命令行模式。不管叫什么,进入vim文件后默认看到的就是该模式。在这里可以使用上下左右键移动光标,进行删除、复制等操作处理文件数据,但无法自由插入数据。

复制粘贴

  • 1、按字符:

​ 一般模式下输入字符【v】(小写)进入VISUAL按字符选择模式,通过【h、j、k、l】或方向键(上下左右箭头)移动光标选择要进行复制的字符串,选定后按y复制,移动到目标处按p粘贴,h,j,k,l 分别用于光标左移,下移,上移,右移;

  • 2、按行:

​ 一般模式下输入字符【V】(大写)进入VISUAL LINE按行选择模式,选择要进行复制的行,按y复制,按p粘贴;

  • 3、按块:

​ 一般模式下输入字符【ctrl+v】(大写)进入VISUAL BLOCK按块选择模式,选择要进行复制的块范围,按y复制,按p粘贴;

移动光标

G :将光标移至最后一行行首


G: 移动到指定行,行号G (扩展:打开文件时跳转指定行,vi 文件名 +行数)


nG :将光标移至第n行行首


gg:移动到文件开头,相当于1G


0:光标移到所在行行首


$:光标移到所在行行尾


w或e:下个字开头或结尾


ctrl+b:前一页


ctrl+f:后一页
h: 左移 


j: 下移 


k: 上移 


l: 右移


M: 光标移动到当前屏幕的中间行 


L: 光标移动到当前屏幕最后一行行首 


w: 向后一次移动一个字 


b: 向前一次移动一个字


{: 按段移动,上移 


}: 按段移动,下移


Ctr-d: 向下翻半屏 


Ctr-u: 向上翻半屏


Ctr-f: 向下翻一屏 


Ctr-b: 向上翻一屏

查找

/:从上往下查找


?:从下往上查找


n:查找下一处


shift*:快速查找当前光标所在的词

修改

r或R:替换当前光标字符(R则进入REPLACE模式)


J:合并上下两行


\>>或<<:缩进或反缩进

删除

x:删除光标处字符


X:删除光标前的字符


nx:删除光标处开始的n个字符


dd: 删除光标所在行,n dd 删除指定的行数 


D:从光标开始删至行末


dw: 删除光标开始位置的字,包含光标所在字符


d0: 删除光标前本行所有内容,不包含光标所在字符


.:重复前一个操作

撤销

u:  一步一步撤销
ctrl + r : 反撤销

插入模式

i: 插入光标前一个字符 


I: 插入行首 


a: 插入光标后一个字符 


A: 插入行未 


o: 向下新开一行,插入行首 


O: 向上新开一行,插入行首

末行模式

在命令模式下, 按Shift + ; 进行末行模式

退出

:q   退出
:q!  退出并不保存
:w   保存不退出
:wq  保存并退出
:x   保存并退出
:wq! 保存并强制退出

替换

把abc全部替换成xxxx


末行模式下,将当前文件中的所有abc替换成xxx。如果不使用 g,则只会替换每一行的第一个 abc
:%s/abc/xxx/g


末行模式下,将第一行至第10行之间的abc替换成xxx
:1, 10s/abc/xxx/g

你可能感兴趣的:(编辑之神-vim)