Linux vi入门必备

  

1、vi、vim介绍
 
文本编辑器分为:
(1)基于图形界面,如gedit、geany等;
(2)基于命令行,如nano、vi、joe等;
每一个命令行界面的文本编辑器都有各自不一样的快捷键,好比nano的保存为CTRL+W,vim的保存为:w;
基于命令行的文本编辑器是必要的,由于Linux的tty1~tty6都是命令行界面,是打不开图形界面的文本编辑器的;
 
vi是每一个Linux Distribution都默认安装的文本编辑器,而且不少软件的默认编辑器都是vi,所以学习vi是很必要的;
vim是vi的高级版本,vi是文本编辑器,而vim应该说是程序编辑器,由于可以像通常的IDE同样,根据文件名载入不一样的语法高亮,即颜色区分,好比java文件会遵循java的语法高亮;
下面咱们就编写一个"hello world"的java程序来看看vim的语法高亮;
 
 
能够看出vim有很好的语法检查功能,由于关键字都使用了不一样的颜色标出;
 
 
vi有三种模式:
(1)通常模式:进入vi的默认模式,可以进行复制、黏贴、删除等操做;
(2)编辑模式:从通常模式按下‘i’便可进入;
(3)命令行模式:从通常模式按下“:”、'?'、'/'便可进入;
 
注意:若是安装了vim后,输入vi后也是使用vim编辑器,咱们输入alias后看到“alias vi='vim'”;
 
 
2、vi/vim按键
 
 

“通常模式”的经常使用按键html

hjava

向左vim

Jwindows

向下编辑器

K学习

向上编码

lspa

向右操作系统

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

重作前一个操做

.

重复前一个操做

 

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

: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的环境配置

 
3、vim的恢复机制
 
 
vim正在编辑某个文件时都会同时存在 .file.swp,此文件用来暂存,帮助恢复文件内容,当vim正常关闭此文件时,.filename.swp文件会消失;
 
 
 
咱们看到图中说明了出现此界面的两个缘由:
(1)多人同时编辑此文件:由于Linux是多用户的操做系统,所以可能两我的同时登录并编辑此文件,若是A进入系统开始编辑1.txt文件,则会出现.1.txt.swp,当A还没编辑完但B也想进去编辑时,由于此文件的目录中存在.1.txt.swp,则就会出现上图的界面;
(2)非正常关闭文件;
 
图中最后一行说明了咱们此时能够采起的几个动做:
(1)o:以只读方式打开;
(2)R:恢复,即从swp文件中恢复,可是swp文件不会随着vim关闭而删除,须要手动删除;
(3)d:删除swp文件;
(4)q:退出vim;
 
4、vim记录及默认配置文件
 
 
/etc/vimrc文件为全局vim配置文件;
 
1.若是咱们用xiazdong帐户使用vim后,在/home/xiazdong就会出现.viminfo文件,此文件用来做为vim的日志,记录用户使用vim打开了什么文件,作了什么操做;
2.若是xiazdong帐户想要配置vim的默认环境,则能够在/home/xiazdong建立.vimrc,而且配置一些特征,好比显示行号,语法检查等;
通常使用以下配置:

set hlsearch
set backspace=2
set autoindent
set nu
set ruler
set showmode
set bg=dark
syntax on

 
 
5、Visual Block功能
 
能够用于块复制;
(1)CTRL+v:开始复制块;
(3)y:复制块;
(4)p:黏贴块;
(5)d:删除块;
 
 
 
 
6、同时编辑多个文件
 
多文件编辑的好处是可以将一个文件的某些内容yy后,p到另外一个文件中;
 
vim file1 file2 便可同时编辑两个文件,可是屏幕中同时只会出现一个文件内容,须要进行切换;
(1):n:向下切换;
(2):N:向上切换;
(3):files:列出当前编辑的全部文件;
 
7、多窗口编辑
 
以下图:一个界面可以显示多个文件内容;
 
 

 
(1) :sp :打开当前文件;
(2) :sp filename:打开filename文件;
 
(1)CTRL+w+↓:光标切换到下一个窗口;
(2)CTRL+w+↑:光标切换到上一个窗口;
(3):q:关闭光标所在的窗口;
 
 
8、编码问题
 
 
可能会出现乱码问题,解决方法:保持终端的字符编码与文件的字符编码一致!
tty1~tty6不支持显示中文,所以在tty1~tty6中显示中文必出现乱码;
设置终端的字符编码:
 
 
编码转换命令:iconv
iconv -f 文件的本来编码 -t 文件的新编码 filename -o newfilename
好比有一个big5编码的文件:1.big5,要转换成utf8的文件:2.utf8,则: iconv -f big5 -t utf8 1.big5 -o 2.utf8
 
 
来源:http://www.cnblogs.com/iqian/articles/5243005.html
相关文章
相关标签/搜索