Vim的基本使用总结


Vim/Vi简介

1、Vim/Vi 是一个文本编辑器,多适用在Linux/UNIX系统;早期是Vi,现在增强版是Vim,但使用的还是Vi的操作。

2、Vim/Vi 没有菜单,只有命令。

3、作用:建立、编辑、显示文本文件。

常用操作

1、Vi有三种工作模式:命令模式、插入模式、编辑模式。

Insert    Edit

2、格式:vi + 文件名

说明:如果是已存在此文件,表示打开;如果不存在此文件,表示新建。

3、三种模式的相互切换

3.1        默认进入"命令模式"

3.2        插入模式:        在命令模式下-->进入"插入模式",输入 i                注:一般下面会提示有--INSERT--

退出"插入模式",按ESC键

常用选项:aio

a        在光标后插入文本,        A        在本行行末插入文本;

i        在光标前插入文本,        I        在本行开始插入文本;

o        在光标下插入新行,        O        在光标上插入新行;

3.3        编辑模式:        在命令模式下-->进入"编辑模式",输入:

退出"编辑模式",回车        (其实执行完命令也即进入命令模式了)

常用选项:set number        使文件显示行号(number也可简写成nu)

3.4        命令模式常用命令

***定位***

h        (等同于方向左键)左移一个字符

j        (等同于方向下键)下移一行

k        (等同于方向上键)上移一行

l        (等同于方向下键)下移一行

$        移至行尾

0        移至行首

H        移至屏幕上端(High)

M        移至屏幕中央(Middle)

L        移至屏幕下端(Low)

:set nu        设置行号        //nu是number的简写

:set nonu      取消行号        //no-number

gg              到第一行

G                到最后一行

nG              到第n行                //n是自己输入的行号

:n              到第n行                //与nG作用一样

***删除***

x                  删除光标所在处字符

nx                删除光标所在处后n个字符

dd                删除光标所在行

ndd                删除光标后的n行                //注:光标所在的行也算一行

D                  删除光标所在处到行尾

dG                删除光标所在行到末尾的内容

:n1,n2d          删除指定范围的行,将n1行到n2行删除

eg,:12,15d        //作用是删除12到15行

***复制/剪切***

yy              复制当前光标所在行

nyy                复制当前光标所在以下n行

dd                剪切当前光标所在行(也可以用作删除)

ndd              剪切当前光标所在行以下n行        //注:光标所在的行也算一行

p                粘贴在当前光标所在行下

***替换/取消***

u              返回上一次操作(无限制的返回,前提没有在中途保存)

r                取代光标所在处字符

R                从光标所在处开始替换字符,按Esc结束,不然一直替换后面的字符

***搜索/替换***

/字符串                        从光标处开始搜索要查找的字符串

n                              (next)搜索指定字符串时,按n键跳到下一个符合的字符串

:%s/old/new/g                全文中的字符串old全部替换成new,注意格式,只需改old,new,其他一样

:n1,n2s/old/new/g        将n1行到n2行中所有的old都替换成new

:s/old/new/g                将光标所在行的所有old都替换成new

3.5        保存/退出 :        在命令模式下-->输入  :w                保存(不退出)

:w + 文件路径    另存为

eg::w /work/dir/newfile    注:把当前文件另存为newfile

:wq                保存并退出

:q                退出(用于没有未更改)

:q!              退出不保存(用于文件已更改)

4、常用快捷键

shift + zz        保存并退出        (在命令行模式下)

5、小技巧

:r + 要导入的文件路径                                作用:可以把文件导入到该文件所指光标处

:! + 进行一些非Vi指令的操作。 如:ls查看其他目录,date查看日期,等一系列文件操作命令

:r + !+ 进行一些非Vi指令的操作结果                作用:其他指令的操作结果写入到当前文件所指光标处 (不错!)

eg:r !date        //把当前查询的日期写入到当前文件

6、多文件编辑

使用命令vim name1 name2 name3...(各个文件名之间用空格隔开)可以同时打开多个文件。

:n                编辑下一个文件;

:N                编辑上一个文件;

:files          列出目前vim打开的所有文件

7、块选择

选取部分内容进行复制粘贴删除很方便(不是以行为单位操作)

v        字符选择(输入v后,下面窗口提示"可视",也即选中了第一个字符,按方向左右键继续选择)

V        行选择

y        复制选中的内容

p      粘贴选中的内容

d        删除选中的内容

8、Vim/Vi的配置(一)(让其显示行号,tab键=4)

方法:1)在用户目录下(cd/或者cd~都能进到用户目录)/home/usr

2)建立一个vimrc的文件(最好隐藏)

vi .vimrc

3)进行编辑,输入内容

set nu                        //作用:让Vi/Vim打开的文件都能显示行号

set tabstop=4                //作用:在Vi/Vim编辑器,让tab跳至4个间距

4)保存退出

Vim/Vi的配置(二)(若方向键、Backspace键使用时出现乱码)

需编辑:/etc/vim/下的vimrc.tiny文件(在root账户下)

方法:1) 用vi打开vimrc.tiny

将"compatible"改成"nocompatible"非兼容模式就可以解决方向键变ABCD的问题了

2)解决Backspace键问题:

补充一句: set backspace=2

3)保存退出,之后无论哪个用户都可以正常使用

注:如果只想改动该用户下的配置,同上可以在该用户目录下建一个.vimrc

加下面两句语句:set nocompatible          //以非兼容模式工作

set backspace=2

保存退出

--------------------------------------分割线 --------------------------------------

把VIM打造成一个简单实用的IDE

Vim学习指南

快速学会 Vi编辑器

强大的Vim 编辑器

在CentOS 6.2上搭建Vim开发环境

CentOS 5.4 安装高亮Vim编辑工具

Vim技巧分享:C语言设置

Ubuntu中设置Vim的行号

Vim编辑器使用基础教程

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址:

相关内容