一、什么是vim

vi是一种模式编辑器。vi 是Unix世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Unix机器都会提供这套软体,

其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 vim 编辑器。

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

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

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

二、vi/vim的使用

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

1、命令模式

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

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。

比如我们此时按下a或者i或者o等等,并不会输入一个字符,而是会被当作一个命令进行处理。

1. 移动光标

w(e)    移动光标到下一个单词

b    移动到光标上一个单词

数字0  移动到本行开头

$    移动光标到本行结尾

H    移动光标到屏幕首行的行首

M    移动到光标到屏幕的中间一行的行首

L     移动光标到屏幕的尾行的行首

gg     移动光标到文档的首行

G    移动光标到文档尾行

nG 移动光标到指定行的行首(n为行数,例如 25G 移动到第25行)

:行号 快速定位到哪一行

Ctrl + f 翻到下一页 (向前翻页) front

Ctrl + b 翻到上一页(向后翻页) back

Ctrl + u 向前翻半页

Ctrl + d 向后翻半页

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

2. 查找

/字符串 在整篇文档中搜索 字符串,向下查找,按字母 n 跳到下一个

?字符串 在整篇文档中搜索 字符串,向上查找,按字母 n 跳到上一个

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

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

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

%     找到括号的另一半!!

:noh 取消查找的内容

3. 复制粘贴

yy 光标在哪一行,输入yy就是复制这一行

p 粘贴yy所复制的内容

7yy 就是复制光标所在行的7行

p 粘贴刚才复制的7行

4. 删除

dd 删除光标所在行

2dd 删除光标所在的2行数据

dw 删除一个词语

D 删除当前光标到行尾的内容

dG 删除当前行到文档尾部的内容

x   删除光标所在的字符

5.撤销

u 撤销上一步的操作

Ctrl+r 反撤销

2、输入模式

i: 插入光标前一个字符

I: 插入行首

a: 插入光标后一个字符

A: 插入行未

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

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

3、底线命令模式

在命令模式下输入冒号(英文的:),就进入了底线命令模式,

在底线命令模式下可以输入单个或多个字符的命令,常用命令有:

:w 将文件内容写入

:q 不保存退出

:q! 不保存强制退出

:x 保存退出

:wq! 强制保存退出

:set number 显示行号

:set nu 显示行号

:set nonu  取消行号

:! command 暂时离开vim指令模式,执行command的结果

例如 :!ip 临时看一下ip信息,然后可以回到vim

4、vim工作模式

5、vim按键

移动光标的方法

h 或 向左箭头键(←) 光标向左移动一个字符

j 或 向下箭头键(↓) 光标向下移动一个字符

k 或 向上箭头键(↑) 光标向上移动一个字符

l 或 向右箭头键(→) 光标向右移动一个字符

向下移动5行      5j

向右移动10字符    10l

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

ctrl + n 是自动补齐

vim 编辑器中TAB变4空格

vim /etc/vimrc #打开 vimrc 文件,将以下三行内容添加到文件中

set ts=4

set expandtab

set autoindent

6、vim编辑中,替换文本的某个内容

:s/sb/zbj/替换当前行第一个 sb 为 zbj

:s/sb/zbj/g 替换当前行所有 sb 为 zbj

:n,$s/sb/zbj/替换第 n 行开始到最后一行中每一行的第一个 sb 为 zbj

:n,$s/sb/zbj/g 替换第 n 行开始到最后一行中每一行所有 sb 为 zbj

n 为数字,若 n 为 . 表示从当前行开始到最后一行

更多推荐

vim编辑器python语言运行linux命令_Linux之文本编辑器Vim