Linux学习笔记:使用Vim编辑器

Vi编辑器是Unix系统上早先的编辑器,在GNU项目将Vi编辑器移植到开源世界时,他们决定对其作一些改进。
于它不再是以前Unix中的那个原始的Vi编辑器了,开发人员也就将它重命名为Vi improved,或Vim
为了方便使用,几乎所有Linux发行版都创建了一个名为vi的别名,指向vim程序。

Vim基础

Vim编辑器在内存缓冲区处理数据。只要键入vim命令和你要编辑的文件的名字,即可启动Vim编辑器
如在启动Vim时未指定文件名,或者这个文件不存在,Vim会新开一段缓冲区域来编辑;如果命令指定了一个已有的文件的命令,Vim会将文件的整个内容都读到一块缓冲区域来准备编辑。

Vim编辑器有两种操作模式:

普通模式;

插入模式

当打开要编辑的文件时,Vim编辑器会进入普通模式。在普通模式下,Vim编辑器会将按键解释成命令;
在编辑模式中,按下i键,进入插入模式。插入模式下,每个按键都将输入到光标位置的缓冲区。按Esc键即可退出插入模式;

在普通模式中,可以用方向键来在文本区域移动光标,如果是在一个没有定义方向键的终端上,还可以使用如下按键移动:

按键光标移动方式(普通模式下)
h   左移一个字符  
j   下移一行  
k   上移一行  
l   右移一个字符  

在大的文本文件中一行一行的移动会特别麻烦。幸而Vim提供了一些命令来帮助提高速度:

按键光标移动方式(普通模式下)
PageDown(或Ctrl+F)   下翻一屏数据  
PageUp(或Ctrl+B)   上翻一屏数据  
G   移动到缓冲区的最后一行  
num G   移动到缓冲区的第num行  
gg   移动缓冲区的第1行  

Vim编辑器在普通模式下有个特别的功能叫命令模式。命令模式提供了一个可供输入额外命令来控制Vim中行为的交互式命令行。要进入命令模式,在普通模式下按下冒号键。光标会移动到消息行,冒号出现,等号输入命令。
在命令模式下有几个命令来将缓冲区的数据保存到文件中并退出Vim:

命令描述(命令模式下命令)
q   如果未修改缓冲区的数据,退出  
q!   取消所有对缓冲区数据的的修改并退出  
w filename   将文件保存到另一个文件filename下  
wq   将缓冲区数据保存到文件中并退出  
编辑数据

在普通模式下,Vim编辑器提供了一些命令来编辑缓冲区中的数据。常用号命令有:

命令描述(普通模式下命令)
x   删除当前光标所在位置的字符  
dd   删除当前光标所在行  
dw   删除当前光标所在位置的单词  
d$   删除当前光标所在位置至行尾的内容  
J   删除当前光标所在行行尾的换行符  
u   撤销前一个编辑命令  
a   在当前光标后追加数据  
A   在当前光标所在行行尾追加数据  
r char   用char替换当前光标所在位置的单个字符  
R text   用text覆盖当前光标所在位置的数据,直到按下ESC键  

有些编辑命令允许使用数据修饰来指定重复该命令多少次。比如,命令2x会删除从光标当前位置开始的两个字符,命令5dd会删除从光标当前所在行开始的向下5行。

复制和粘贴

现代编辑器的标准功能之一就是剪切或复制数据,Vim中剪切复制相对容易些。

上面已经有了删除数据的操作,Vim删除数据时,实际上它会将数据保存在单独的一个寄存器中。可以同p命令来取回数据。

简而言之,用dd删除一行文本,然后把光标移动到某个要放置该行文本的位置,之后用p命令。p命令会将文本插入到当前光标所在行之后。p命令可以和任何删除文本的命令一起搭配使用。

Vim中复制命令是y(代表yank)。y命令和d命令有相同的第二字符(如yw表示复制单词,y$表示复制到行尾)。在复制文本后,输入p命令表示粘贴。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14867.html