首页 > 代码库 > vim程序编辑器使用总结

vim程序编辑器使用总结

VIM程序编辑器

     vi与vim

              vi:是一种文字处理器

                                     所有的unix like系统都会内置vi文本编辑器

                                     很多软件的编辑接口都会主动调用vi

              vim:vi的高级版。是一个程序开发工具

                                     会依据文件的扩展名或者文件内的开头信息判断文件内容,自动调用该程序的语法判断式,用颜色来显示程序代码

     vi的使用

              三种模式

一般模式

搜索与替换、删除字符、删除/复制/粘贴整行

编辑模式

编辑文件内容

命令行模式

即退出VI

              一般模式常用按钮

光标移动

G

移动到文件最后一行

n+G

移动到文件第n行

n+↑

上移n行

n+↓

下移n行

[ctrl]+[f]

下翻页

[ctrl]+[b]

上翻页

0或[home]

移动到行首

$或[end]

移动到行尾

查找与替换

/word

向下查询word

?word

向上查询word

n

重复前一个查询

N

反向重复前一个查询

:n1,n2s/word1/word2/g

在n1与n2行之间,将word1替换为word2,且不询问

:1,$s/word1/word2/g

从第一行到最后一行,,将word1替换为word2,且不询问

:1,$s/word1/word2/gc

从第一行到最后一行,,将word1替换为word2,询问

行号

:set nu

显示行号

:set nonu

不显示行号

              一般模式--->编辑模式

i

在光标所在处插入

I

在光标所在行第一个非空格符处插入

a

在光标所在处的下一个字符处插入

A

在光标所在行的最后一个字符处插入

o

在光标所行的下一行插入新的一行

O

在光标所在行的上一行插入新的一行

r

只会替换光标所在的那个字符一次

R

一直替换,直到[esc]

              一般模式--->命令行模式

:q!

不保存退出

:wq

保存退出

:w[filename]

另存为filename

:r[filename]

读入filename的文件数据,加到光标所在行后面

:n1,n2 w [filename]

n1到n2行保存为filename

:! command

暂时离开vi到命令行模式,并执行command

              .swp文件

多人同时编辑

找到对应人协商

不明原因

不确定是否有用

Recover

打开.swp文件,自行选择是否保存

注:.swp文件不会自动删除,需手动删除

确定无用

Delete

 

     vim的功能

              块选择

v

字符选择,将经过的字符反白选择

V

行选择,将经过的行反白选择

[ctrl]+v

块选择,以快的方式选择,如左图

y

复制反白区域

d

删除反白区域

              多文件编辑

前提:

同时打开多个文件

vi file1 file2

一般模式下切换文件

:n

编译下一个文件

:N

编辑上一个文件

:files

列出这个vim目前打开的所有文件

              多窗口功能

:sp [filename]

打开新窗口,如果没有filename参数,则两个窗口为同一个文件

[ctrl]+w+↑

按法:先按[ctrl]和w,然后都松开,再按↑

 

移动到下方的窗口

[ctrl]+w+↓

移动到上方的窗口

[ctrl]+w+q

关闭该窗口

              vim环境设置与记录

~/.viminfo

vim会主动将以前的操作记录下来

:set all

查阅目前的所有环境设置值

:set

显示自己变动过得参数

:set nu

显示行号

:set nonu

 

:set hlsearch

查找的字符串高亮

:set nohlsearch

 

:set autoindent

自动缩排

:set noautoindent

 

:set backup

自动保存备份文件.默认不自动保存

:set nobackup

 

:set ruler

是否显示右下角的状态说明

:set noruler

 

:set showmode

是否显示左下角状态说明

:set backspace=(012)

是否允许退格删除。
0/1--删除刚输入的字符,无法删除原本存在的文字;
2--可删除任意字符

:syntax on

根据语法显示颜色

:syntax off

 

:set bg=dark

设置基本色调

:set bg=light

 

     其他vim使用注意事项

              中文编码

linux默认支持的语系数据

/etc/sysconfig/i18n

查看当前bash语系编码

echo %LANG

修改语系编码

LANG=zh_CN.big5

              DOS与Linux的断行字符

DOS(Windows)中断行字符为^M$,CR与LF

Linux下只有$,即只有LF

dos2UNIX [-kn] file [new file]

-k

保留文件原本的mtime(文件内容modification)时间

-n

保留旧文件,制定新文件

 

 

              文件语系编码转换

iconv -f 原本编码 -t 新编码  filename [-o newfile]

--list

列出iconv支持的语系数据

-f

原本的编码

-t

新编码

-o

保留旧文件,制定新文件

vim程序编辑器使用总结