vim文本编辑器

简介

Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
vi编辑器是Linux上面最常用的编辑器,很多Linux发行版都默认安装了vi。其中,vi这个名称是visual interface的缩写。vi拥有非常多的命令,但是正因为有非常多的命令,才使得vi的功能非常灵活和强大。vim是vi编辑器的增加版。
vim有3种使用模式,分别为插入模式(Insert mode)、命令模式(command mode)和末行模式(last line mode)

命令模式(command mode)–执行命令

在该模式中,可以输入命令来执行许多种功能。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
当用户刚刚进入vim编辑器的时候,当前的模式就是命令模式。命令模式是3个模式中功能最为复杂的模式,一般的操作都在该模式下完成。
命令模式提供许多快捷键,分为以下4类:
  光标移动快捷键
  文本操作快捷键
  文本复制和粘贴快捷键
  删除文本快捷键
                      光标移动快捷键

操作快捷键说明
向下移动光标向下方向键,j键或者空格键每按1次键,光标向正下方移动1行
向上移动光标向下方向键,k键或者backspace键每按1次键,光标向正上方移动1行
向左移动光标向左方向键或者h键每按1次键,光标向左移动1个字符
向右移动光标向右方向键或者l键每按1次键,光标向右移动1个字符
移至下一行行首回车键每按1次键,光标会移动到下一行的行首
移至上一行行首-键每按1次键,光标会移动到上一行的行首
移至文件最后一行G键将光标移动到文件最后一行的行首
跳到指定行nG跳转到第n行
H跳转到当前屏幕输出的最上面一行
L跳转到当前屏幕输出的最下面一行
M跳转到当前屏幕输出的中间那一行
$行尾
^行首
w按单词进行移动光标
r替换光标所在的字符

                     文本操作快捷键

操作快捷键说明
右插入a在当前光标所处位置的右边插入文本
左插入i在当前光标所处位置的左边插入文本
行尾追加A在当前行的末尾追加文本
行首插入I(大写i)在当前行的开始处插入文本
删除光标插入s删除光标所在位置的字符并进入插入模式
删除光标行插入s删除光标所在行并进入插入模式
插入行O或者oO键在当前行的上面插入新的一行,o键在当前行的下一行插入新的一行
覆盖文本R覆盖光标所在位置以及后面的若干文本
合并行J将当前光标所在行与下面的1行合并为1行

删除几列

  1. 先ctrl-v进行visual block模式
  2. 移动光标,按列选择你要删除的列
  3. 然后按x命令删除。
                         文本复制和粘贴快捷键
    | 操作 | 快捷键 | 说明 |
    |–|--|–|
    | 复制行 | yy | 将当前行复制到缓冲区,如果想要定义多个缓冲区,则可以使用ayy、byy以及cyy语法。其中yy前面的字符表示缓冲区的名称,可以是任意单个字母。这样的话,可以将多个单独的行复制到多个缓冲区,各个缓冲区相互之间不受影响 |
    | 复制多行 | nyy | 将当前行以及下面n行复制到缓冲区,其中n表示一个整数。与yy命令相似,用户也可以使用anyy或者bnyy等语法来命名缓冲区 |
    | 复制单词 | yw | 复制从光标当前位置到当前单词词尾的字符 |
    | 复制多个单词 | nyw | 其中n是一个整数,表示从光标当前位置开始,复制后面的n个单词 |
    | 复制光标到行首 | y^ | 从当前光标所处的位置开始,复制到当前行的行首 |
    | 复制光标到行尾 | y$ | 从当前光标所处的位置开始,复制到当前行的行尾 |
    | | cc | 剪切当前行 |
    | | ncc | 剪切当前行开始的n行 |
    | 粘贴到光标后面的位置 | p | 将缓冲区中的字符串插入点当前光标所处位置的后面。如果定义了多个缓冲区,则使用ap方式来粘贴,其中字母a表示缓冲区的名称 |
    | 粘贴到光标前面的位置 | P | 将缓冲区中的字符串插入点当前光标所处位置的前面。如果定义了多个缓冲区,则使用aP方式来粘贴,其中字母a表示缓冲区的名称 |
                         删除文本快捷键
    | 操作 | 快捷键 | 说明 |
    |–|--|–|
    | 删除当前字符 | x | 删除光标所在位置的字符 |
    | 删除多个字符 | nx | 删除从光标所在位置开始,后面的n个字符 |
    | | d +enter | 删除 |
    | 删除当前行 | dd | 删除光标所处的整个行 |
    | 删除多个行 | ndd | 删除包括当前行在内的n行 |
    | 删除光标到文档首 | dgg | 删除从光标所在位置到文档首 |
    | 删除光标到文档尾 | dG | 删除从光标所在位置到文档尾部 |
    | | d$ | 删除光标到行尾,包括光标所在位置字符 |
    | | d^ | 删除光标到行首,不包括光标所在位置的字符 |
    | | dw | 按单词删除 |
    | 撤销上一步操作 | u | 撤销刚刚执行的操作 |
    | 撤销多个操作 | U | 撤销针对当前行的所有操作 |

插入模式(Insert mode)–插入文本

vim被运行时,通常处在命令模式下,键入以下命令 可以使vi退出命令模式,进入插入模式:I(i)、A(a)、O(o)。当用户执行了插入或者追加等操作之后,都会使得vi从命令模式切换到插入模式。vim的编辑模式与其他编辑器的编辑模式没有什么太多的区别。在插入模式下,用户可以使用上、下、左和右4个方向键移动光标,使用backspace键和del来删除光标前面的字符,还可以在光标所在的位置插入字符。

末行模式(last line mode)–执行待定命令

将文件保存或退出vim,也可以设置编辑环境,如寻找字符串、列出行号……等。不过一般我们在使用时把vi简化成两个模式,就是将末行模式(last line mode)也算入命令行模式command mode)。

操作命令说明
跳至指定行:n、:n+或者:n-:n表示调到行号为n的行,:n+表示向下跳n行,:n-表示向上跳n行
显示或者隐藏行号:set nu或者:set nonu:set nu表示在每行前面显示行号,:set nonu表示隐藏行号
替换字符串?/old/new、?/old/new/g、:n,ms/old/new/g或者:%s/old/new/g?/old/new表示用字符串new替换当前行中首次出现的字符串old;?/old/new/g表示用字符串new替换当前行中所有的字符串old;:n,ms/old/new/g表示用字符串new替换从n行到m行所有的字符串old;:%s/old/new/g表示用字符串new替换当前文件中所有的字符串old
设置文件格式:set fileformat=unix将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。其中fileformat可以取unix或者dos等值
打开文件:e打开另外一个文件,将文件名作为参数
保存文件:w保存文件,即将文件的改动写入磁盘。如果将文件另存为其他的文件名,则可以将新的文件名作为参数
退出编辑器:q退出vi编辑器
直接退出编辑器:q!不保存修改,直接退出vi编辑器
退出并保存文件:wq将文件保存后退出vi编辑器
查找/stringstring为查找的字符串
n查找到字符串后,使用n跳转到查到的下一个字符串
N查找到字符串后,使用n跳转到查到的下一个字符串
取消高亮:noh取消高亮显示
:r /filename读取指定文件的内容到当前文件
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值