`

Linux入门:VI/VIM

阅读更多

练习vim按键的小游戏:http://vim-adventures.com/

 
 
一、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'”;
 
 
二、vi/vim按键
 
 

一般模式的常用按键

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

gg1G

光标移动到第一行

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

 
三、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;
 
四、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

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

 
(1) :sp :打开当前文件;
(2) :sp filename:打开filename文件;
 
(1)CTRL+w+↓:光标切换到下一个窗口;
(2)CTRL+w+↑:光标切换到上一个窗口;
(3):q:关闭光标所在的窗口;
 
 
八、编码问题
 
 
可能会出现乱码问题,解决方法:保持终端的字符编码与文件的字符编码一致!
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
分享到:
评论

相关推荐

    vim键位图打印版整理

    本人一开始也是vim菜鸟一个,接触过linux/unix的朋友或者程序猿,都非常希望能用上逼格顶上天的vim,但是因为vim各种模式,各种高级快捷操作,入门很难。我自己也是过来人,但是我搞到了高效的使用和增强记忆的vim...

    vi vim入门简明实例教程

    vi(vim)入门简明实例教程---总览全局 快速入门 本文旨在帮助学习vim的新手快速掌握vim的基本操作。本文整理自《The Linux Command Line》中《A Gentle Introduction To vi》一章。

    Ubuntu_Linux从入门到精通

    第2部分介绍Ubuntu的进阶应用,包括X-Window的配置、桌面环境、桌面应用软件、软件包管理、Shell环境和Vi/Vim。第3部分介绍Ubuntu的日常管理,包括文件和目录结构管理、权限管理、压缩和查找、磁盘管理、用户管理、...

    Linux文件编辑器命令详解

    Linux文件编辑器命令详解 Linux文件编辑器 Vi(Vim) 关键字: vim ...我们有必要介绍一下vi(vim)最简单的用法,以让Linux入门级用户在最短的时间内学会使用它。 nano 工具和DOS操作系统下的edit操作相似,

    保姆级教学!Linux操作3天快速入门系列 第一天【篇一】(不看真的错过了..)

    写在前面: 这是我学习的Linux入门笔记,我会分三篇写出,最后我还会总结Linux的常用命令,这个系列可以让你入门学会Linux命令,手写笔记。本套笔记使用了:xshell,xftp,Vm,CentOS6 (分三篇) 若你喜欢点赞支持^ _...

    Linux入门之Vim编辑器及vim命令的应用(Ubuntu)

    相比vi编辑器,vim编辑器拥有更强大的功能,如果将vi编辑器比作是Windows系统里的记事本,那么vim编辑器就是Windows里的Word。因为程序简单,编辑速度相当快速。 vim会依据文件扩展名或者是文件内的开头信息, 判断...

    Learning.the.Vi.and.VIm.Editors英文版

    关于Vi和Vim很实用的入门书籍,从最基础的概念和用法到高级的功能,从技术问题到Unix,GNU\linux文化,深入浅出,通俗易懂,内容翔实,值得一读。

    Linux运维-操作系统 教程 从入门到精通101课-43-43文件系统命令-vim与vi最常见的错误ATTENTION.mp4

    Linux运维-操作系统 教程 从入门到精通101课-43-43文件系统命令-vim与vi最常见的错误

    linux 中vim的用法讲解

    Vim 是 Linux 系统上的最著名的文本/代码编辑器,也是早年的 Vi 编辑器的加强版,而 gVim 则是其 Windows 版。它的最大特色是完全使用键盘命令进行编辑,脱离了鼠标操作虽然使得入门变得困难,但上手之后键盘流的...

    VIM中文手册 清晰版

    Vim 是 Linux 系统上的最著名的文本/代码编辑器,也是早年的 Vi 编辑器的加强版,而 gVim 则是其 Windows 版。它的最大特色是完全使用键盘命令进行编辑,脱离了鼠标操作虽然使得入门变得困难,但上手之后键盘流的...

    Linux vim编辑器--使用手册

    vim编辑器的用法,入门必备。 兄弟连Linux集群架构师课件(如有侵权请联系我删除)

    Linux 操作系统开发手册.CHM

    5、Vi和Vim编辑器的使用 6、Linux用户管理相关操作 7、Linux运行级别和帮助指令 8、Linux指令之文件目录、时间日期、搜索查找、压缩和解压 9、Linux组管理和权限管理 10、Linux任务调度 11、Linux磁盘操作 12...

    Linux基础入门教程视频.zip

    目录网盘文件永久链接 01.Linux开山篇_内容介绍 .avi 02.Linux开山篇_学习方向 .avi 03.Linux开山篇_应用...15.Linux实操篇_vi和vim的使用[vxia.net].avi 16.Linux实操篇_关机重启注销.avi 17.......................

    Emacs的可扩展vi层。-Linux开发

    作为快速入门,您可以将以下代码添加到Emacs初始化文件中。 ;; 设置package.el以使用MELPA(要求'package)(添加到列表'package-archives'(“ melpa”。“ https://melpa.org/packages/”))(pa

    零基础学习Linux+Ubuntu培训PPT.rar

    2.4vi与vim入门.pd 2.5Make工程管理.pdf 3.1什么是环境变量.pdf 3.2文件系统管理pdf 3.3用户账户管理pdf 3.4文件访问权限.pdf 3.5进程管理.pdf 3.6软件安装及卸载.pdf 3.7使用dpkg安装软件包.pdf 3.8使用apt安装...

    vi 经典入门教材--新手入门必备

    vi 最经典入门教材,详细、易懂!新手入门必备

    小白一周学会Linux视频.zip

    16_016vi_vim快速入门 17_017vi_vim快捷键 18_018vi_vim内容梳理 19_019关机重启 20_020登录注销 21_021用户管理_1_ 22_022用户管理_2_ 23_023用户管理_3_ 24_024用户管理_4_ 25_025运行级别 26_026找回root密码 27_...

    vim编辑器入门1

    vim编辑入门么是编辑存储缓冲区vi编辑基本的vi编辑命令工具软件、用于创建新文件或修改旧文本文件编辑对象:文本文件相对简化的字处分类编辑全屏编辑每次修改只能在

    鸟哥的linux私家菜

    本书是最具知名度的Linux入门书《鸟哥的 Linux私房菜基础学习篇》的最新版,全面而详细地介绍了Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的...

    Linux从入门到实战学习教程-3文本编辑器.pptx

    内容概要: 3.1 Vi编辑器 3.2 Vim编辑器 3.3 其它编辑器

Global site tag (gtag.js) - Google Analytics