Vim编辑器使用

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

但是目前我们使用比较多的是 vim 编辑器。

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

一、什么是 vim?

  Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

  简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

二、vi/vim 的使用

  基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

三、命令模式:

  用户刚刚启动 vi/vim,便进入了命令模式。

  此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令

  移动光标:

复制代码
w(e)  移动光标到下一个单词
b    移动到光标上一个单词

数字0  移动到本行开头
$    移动光标到本行结尾

H    移动光标到屏幕首行
M    移动到光标到屏幕的中间一行
L    移动光标到屏幕的尾行
gg    移动光标到文档的首行
G    移动光标到文档尾行

ctrl + f  下一页
ctrl + b  上一页

`.   移动光标到上一次的修改行

n 空格键<space> 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
复制代码

  查找:

复制代码
/chaoge     在整篇文档中搜索chaoge字符串,向下查找
?chaoge     在整篇文档中搜索chaoge字符串,向上查找

*        查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
#        查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处

gd        找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上

:noh      取消匹配单词高亮



%    找到括号的另一半!!
复制代码

  替换文本内容:

:n1,n2s/word1/word2/g    n1 与 n2 为数字行数。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100200 行之间搜寻 vbird 并取代为 VBIRD 则:
『:100,200s/vbird/VBIRD/g』。(常用)

:1,$s/word1/word2/g 或 :%s/word1/word2/g    从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)

:1,$s/word1/word2/gc 或 :%s/word1/word2/gc    从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)

  复制,删除,粘贴:

yy    拷贝光标所在行
dd    删除光标所在行
D     删除当前光标到行尾的内容,同d$操作
dG    删除当前行到文档尾部的内容
p     粘贴yy所复制的内容
x   删除光标所在的字符
u 撤销上一步的操作,复原前一个动作。(常用)
J 将光标所在行与下一行的数据结合成同一行
[Ctrl]+r 重做上一个动作。(常用)

ZZ 这是大写的 Z 喔!如果修改过,保存当前文件,然后退出!效果等同于(保存并退出)
ZQ 不保存,强制退出。效果等同于 :q!。

  数字与命令:

nx        n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
3yy    拷贝光标所在的3行
5dd    删除光标所在5行
d0 删除游标所在处,到该行的最前面一个字符

y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据

 四、输入模式

  在命令模式下按下字母i,o,i就进入了输入模式

i/I   # 当前光标位置插入
a/A # 当前光标的下一个位置插入
o/O # 当前光标的下一行首行位置
r/R # 进入取代模式(Replace mode):
r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)

五、底线命令模式

  在命令模式下输入冒号(英文的:),就进入了底线命令模式,在底线命令模式下可以输入单个或多个字符的命令,常用命令有:

复制代码
:q!     强制退出
:wq!    强制写入退出
:set nu 显示行号
:set nonu
:数字  调到数字那行

随时按下esc可以退出底线命令模式

  底线命令其他指令:

:! command    暂时离开vim指令模式,执行command的结果
例如  :!ip a    临时看一下ip信息,然后可以回到vim

:set nu    显示vim行号
:set nonu   取消行号

:! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如
『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!

  输出到文本:

:w [filename]            将编辑的数据储存成另一个档案(类似另存新档)
:r [filename]            在编辑的数据中,读入另一个档案的数据。亦即将 
                         『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename]      将 n1 到 n2 的内容储存成 filename 这个档案。

  批量添加注释:

方法一 :块选择模式

批量注释:

Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESCVim 会自动将你选中的所有行首都加上注释,保存退出完成注释。

取消注释:

Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出。

方法二: 替换命令

批量注释。

使用下面命令在指定的行首添加注释。

使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)。

取消注释:

使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)。

例子:

1、在 10 - 20 行添加 // 注释
:10,20s#^#//#g

2、在 10 - 20 行删除 // 注释 :10,20s#^//##g

3、在 10 - 20 行添加 # 注释 :10,20s/^/#/g
4、在 10 - 20 行删除 # 注释 :10,20s/#//g

六、vim工作模式

  

七、vim按键

  移动光标:

复制代码
移动光标的方法
h 或 向左箭头键(←)    光标向左移动一个字符
j 或 向下箭头键(↓)    光标向下移动一个字符
k 或 向上箭头键(↑)    光标向上移动一个字符
l 或 向右箭头键(→)    光标向右移动一个字符

向下移动5行      5j
向右移动10字符    10l

n(space)    按下数字n,例如10,然后按下空格,光标会向右移动10个字符

  更多nb的vim用法请看菜鸟教程:http://www.runoob.com/linux/linux-vim.html

 

posted @ 2019-06-27 16:54  Amorphous  阅读(217)  评论(0编辑  收藏  举报