阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

VIM的使用方法

37次阅读
没有评论

共计 2671 个字符,预计需要花费 7 分钟才能阅读完成。

导读 Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和 Emacs 并列成为类 Unix 系统用户最喜欢的文本编辑器。
一、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 的使用方法
可以看出 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 行
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 的环境配置
三、vim 的恢复机制

vim 正在编辑某个文件时都会同时存在.file.swp,此文件用来暂存,帮助恢复文件内容,当 vim 正常关闭此文件时,.filename.swp 文件会消失。
VIM 的使用方法
我们看到图中说明了出现此界面的两个原因:

(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 功能

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

(1)CTRL+v:开始复制块;(3)y:复制块;(4)p:黏贴块;(5)d:删除块 

VIM 的使用方法

六、同时编辑多个文件

多文件编辑的好处是能够将一个文件的某些内容 yy 后,p 到另一个文件中。
vim file1 file2 即可同时编辑两个文件,但是屏幕中同时只会出现一个文件内容,需要进行切换。

(1):n:向下切换;(2):N:向上切换;(3):files:列出当前编辑的所有文件;
七、多窗口编辑

如下图:一个界面能够显示多个文件内容。
VIM 的使用方法

(1):sp:打开当前文件;(2):sp filename:打开 filename 文件;(3)CTRL+w+↓:光标切换到下一个窗口;(4)CTRL+w+↑:光标切换到上一个窗口;(5):q:关闭光标所在的窗口;
八、编码问题

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

 编码转换命令:iconv
iconv - f 文件的原本编码 - t 文件的新编码 filename -o newfilename
比如有一个 big5 编码的文件:1.big5,要转换成 utf8 的文件:2.utf8,则 iconv -f big5 -t utf8 1.big5 -o 2.utf8

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计2671字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中