使用vim文本编辑器的几条小技巧
想成为一个高效的Coder,离不开熟练使用vi编辑器。另外,在Linux系统中,通过鼠标左键选中的文字,再通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧。接触Linux几年后,该技巧也是通过一次偶然在别人的博客得知的。
配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式。vi是一个功能强大的全屏幕文本编辑工具,vim是vi编辑器的增强版本,在vi编辑器的基础上扩展了很多实用的功能,但是习惯上也将vim称作vi。
- 一、vi编辑器的工作模式
- 二、vi打开编辑文件
- 三、模式切换
- 四、vi编辑指令
- 五、vi查找、保存和退出
- 六、打开新文件或读入其它文件内容
- 七、vim编辑器有用的参数
- 八、查找和替换
- 九、配置文件位置
- 十、脚注
一、vi编辑器的工作模式
命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成光标移动、字符串查找、以及删除、复制、粘贴文件内容等操作。
输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件进行修改,或者添加新的内容。出于输入模式时,编辑器最后一行会出现“–insert–”的状态提示信息。
末行模式:该模式可以设置vi编辑环境、保存文件、退出编辑器,以及对文件女儿进行查找、替换等操作。出于末行模式,最后一行会出现”:”提示符。
二、vi打开编辑文件
vi (示例:vi test.conf, vi /tmp/test.conf,…)
如果指定的filePathAndName存在则会自动载入该文件内容,如果不存在则会自动创建。注:每行前显示波浪符号的表示该行为空行。
三、模式切换
在命令模式中,使用a、A、i、I、o、O等按键快速切入输入模式,返回命令模式按Esc按键即可。进入末行模式在命令模式按”:”即可。
四、vi编辑指令
4.1 屏幕翻页
指令 | 功能 |
---|---|
Ctrl+u | 向上翻半屏 |
Ctrl+f | 向上翻一屏 |
Ctrl+d | 向下翻半屏 |
Ctrl+b | 向下翻一屏 |
4.2 移动光标指令
移动光标普遍使用的是方向键,考虑兼容问题,vi定义太多的方向指令,当然这些指令是在命令模式下进行的啰,下面只是一小小部分(常用的几个):
指令 | 功能 |
---|---|
space | 光标右移一个字符 |
Backspace | 光标左移一个字符 |
Enter | 光标下移一行 |
nG | 光标移至第n行首 |
n+ | 光标下移n行 |
n- | 光标上移n行 |
n$ | 光标移至第n行尾 |
0 | 光标移至当前行首 |
$ | 光标移至当前行尾 |
4.3 插入删除指令
-
常用的插入、删除指令如下:
-
i:在当前光标前插入,光标后文本向后移
-
a:从当前光标后插入,光标后文本后移
-
I:在光标所在行首插入(第一个非空白字符前)
-
A:从光标所在行末插入
-
o:在光标所在行下面新增一行(并进入输入模式)
-
O:在光标所在行上方新增一行(并进入输入模式)
-
x:删除光标所在字符,等同于[Delete]功能键
-
X:删除光标前字符,相当与[Backspace]
-
dd:删除光标所在的行
-
yy:复制当前行正行内容到剪切板
-
#yy:#是具体数字,可以复制从光标处开始的#行内容
-
p:粘贴剪切板中的内容到当前光标位置之后
-
P(大写):粘贴剪切板中的内容到当前光标位置之前
-
r:修改光标所在字符
-
R:替换当前字符及其后的字符,直到按 [ESC]
-
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
-
S:删除指定数目的行,并以所输入文本代替之
-
do:删至行首
-
d$:删至行尾
五、vi查找、保存和退出
-
退出输入模式,先按一下[ESC]键(有时要多按两下),然后执行:
-
按/键——输入指定的字符串,从当前光标处向下查找。
-
按?键——输入指定的字符串,从当前光标处向上查找。
查找完按n、N键在不同的查找结果中进行选择。
-
按u——取消最近一次操作,可按多次,类似撤销。
-
按U——取消当前行所做的所有编辑。:w ——保存当前文件
-
:wq —— 存盘退出(与指令 :x 功能相同)
-
:q —— 直接退出,如已修改会提示是否保存
-
:q! ——不保存直接退出
六、打开新文件或读入其他文件内容
在当前vi编辑器中,执行”:e 新的文件”形式的末行命令可以编辑新文件。
在当前vi编辑器中,执行”:r 其他文件”形式的末行命令读入其他文件的内容,将其复制到当前光标的所在位置。
在当前vi编辑器中,执行”:r !命令”形式的莫行模式,可以将其他命令的输出粘贴至文本文件光标所在位置。
在末行模式执行”set number”命令可显示行号,执行”set nonu”取消显示行号。
七、查找和替换
? / n N
:s/old/new/
:N,M s/old/new/
:%s/old/new/g %所有行 g全局
-
另存
-
可视化模式:v
d:删除
y:复制
:N,M w file.txt
-
八、vim编辑器有用的参数
-
-o file1 file2;将同时打开两个文件,上下显示,使用ctrl+w切换文件。
-
-O file1 file2;将同时打开两个文件,左右显示,使用ctrl+ww切换文件。
九、配置文件位置
/etc/vimrc
让vimtutor命令显示正常
cd /usr/share/vim/vim72/tutor
mv tutor.zh.euc tutor.zh.euc.bak
iconv -f GBK -t utf-8 tutor.zh.euc.bak -o tutor.zh.euc
vimtutor
十、脚注
把VIM打造成一个简单实用的IDE[^footnote].
Vim学习指南[^footnote].
快速学会 Vi编辑器[^footnote].
强大的Vim 编辑器[^footnote].
目录
用 [TOC]
来生成目录: