天天看点

VIM的使用方法

一、vi、vim介绍

(1)基于图形界面,如gedit、geany等;

(2)基于命令行,如nano、vi、joe等;

下面我们就编写一个"hello world"的java程序来看看vim的语法高亮;

可以看出vim有很好的语法检查功能,因为关键字都使用了不同的颜色标出;

vi有三种模式:

注意:如果安装了vim后,输入vi后也是使用vim编辑器,我们输入alias后看到“alias vi='vim'”;

二、vi/vim按键

“一般模式”的常用按键:

<b>“一般模式”的常用按键</b>

<b>按键含义</b>

h

向左

J

向下

K

向上

l

向右

20h

向左20个字符

20j

向下20行

20k

向上20行

20l

向右20个字符

Page Up

向上翻页

Page Down

向下翻页

Home

光标移到当前行的最左端

End

光标移到当前航的最右端

n [空格]

光标向右移动n个字符

N[Enter]

光标向下N行

G

光标移到最后一行

nG

光标移动到第n行

gg或1G

光标移动到第一行

/word

向下查找word

?word

向上查找word

n

如果是/word后使用,则表示向下继续查找;

如果是?word后使用,则表示向上继续查找;

N

如果是/word后使用,则表示向上继续查找;

如果是?word后使用,则表示向下继续查找;

:n,m/old/new/g

从第n行到第m行中,将old替换为new

:n,$s/old/new/g

从第n行到最后一行中,将old替换为new

u

类似windows中的CTRL+Z,前一步

x

向后删除一个字符

X

向前删除一个字符

3x

向后删除3个字符

3X

向前删除3个字符

dd

删除当前行

3dd

删除当前行开始的3行

yy

复制当前行

3yy

复制当前行开始的3行

p

黏贴到当前光标的下一行

P

黏贴到当前光标的上一行

CTRL+r

重做前一个操作

“命令行模式”的常用按键:

<b>“命令行模式”的常用按键</b>

:w

保存

:q

退出vim

:wq

保存并退出

:wq!

(在可以转换权限的情况下)强制保存并退出

:q!

直接退出不保存

:w filename

另存为filename

:n,m w filename

将第n行到第m行另存为filename

:set nu

显示行号

:set nonu

不显示行号

:! command

暂时离开vim,并执行command,执行完后再进入vim

:r filename

将filename文件的数据读入当前文件

:set all

显示当前vim的环境配置

三、vim的恢复机制

vim正在编辑某个文件时都会同时存在.file.swp,此文件用来暂存,帮助恢复文件内容,当vim正常关闭此文件时,.filename.swp文件会消失。

我们看到图中说明了出现此界面的两个原因:

图中最后一行说明了我们此时可以采取的几个动作:

四、vim记录及默认配置文件

/etc/vimrc文件为全局vim配置文件。

一般使用如下配置:

五、Visual Block功能

Visual Block功能可以用于块复制。

六、同时编辑多个文件

多文件编辑的好处是能够将一个文件的某些内容yy后,p到另一个文件中。

vim file1 file2 即可同时编辑两个文件,但是屏幕中同时只会出现一个文件内容,需要进行切换。

七、多窗口编辑

如下图:一个界面能够显示多个文件内容。

八、编码问题

可能会出现乱码问题,解决方法:保持终端的字符编码与文件的字符编码一致!tty1~tty6不支持显示中文,因此在tty1~tty6中显示中文必出现乱码,设置终端的字符编码。

比如有一个big5编码的文件:1.big5,要转换成utf8的文件:2.utf8,则iconv -f big5 -t utf8 1.big5 -o 2.utf8

本文转自Linux就该这么学博客园博客,原文链接:http://www.cnblogs.com/linuxprobe/p/5496985.html,如需转载请自行联系原作者