Linux vim命令使用教程

技术文档网 2021-04-16

vim使用

参考链接

vim4种模式:

  • 普通模式
  • 插入模式
  • 可视模式
  • 命令行模式
  1. 进入vim,按下i或a进入插入模式 按ESC进入普通模式 在该模式下可以使用方向键

    h向左 j向下 k向上 l向右 w下一个单词 b上一个单词

  2. 移动 进入插入模式

    i I a A o O cw

  3. 保存文档 普通模式输入 :进入命令行模式输入w回车保存文档

  • 命令行模式下退出vim 普通模式输入 :进入命令行模式输入wq回车保存编辑退出

    :q! 强制退出不保存 :q 退出 :wq! 强制保存并退出 :w 文件路径 另存为 :wq保存退出

  • 普通模式下退出 输入shift + zz 即可保存退出
  1. 删除文本
  • 1普通模式删除

    x delete删除游标所在字符 X 删除游标所在前一个字符 dd删除整行 dw 删除一个单词 不适用中文 d^ 删除到行首 dG 删除到文档结尾处 dlG删到文档首部 2dd 表示一次删除两行

    二:Vim文档编辑

    一、vim重复命令

  1. 重复执行上次命令

在普通模式下.(小数点)表示重复上一次的命令操作 普通模式下输入x,删除第一个字符,输入.(小数点)会再次删除一个字符,除此之外也可以重复dd的删除操作 2. 执行指定次数相同的命令

输入10x,删除10个连续字符 输入3dd,将会删除3行文本 在普通模式下,你还可以使用dw或者daw(delete a word)删除一个单词,所以你可以很容易的联想到dnw(n替换为相应数字)表示删除n个单词

二、游标的快速跳转

普通模式下,下列命令可以让光标快速调转到指定位置,我们分别讨论快速实现行间跳转和行内跳转

  1. 行间跳转 nG 游标移动到第n行 (如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号) gg 鼠标移动到第一行 G 到最后一行

小技巧:你在完成依次跳转后,可以使用Ctrl+o快速回到上一次(跳转前)光标所在位置 2. 行内跳转 普通模式下使用下列命令在行内按照单词为单位进行跳转 w 到下一个单词的开头 e 到下一个单词的结尾 b 到前一个单词的开头 ge 到前一个单词的结尾0或^ 到行头 $ 到行尾 f<字母> 向后搜索字母并调到第一个匹配的位置(非常实用) F<字母> 向前搜索字母并调到第一个匹配的位置

三、复制粘贴和剪切

普通模式中使用y复制 普通模式中,yy复制游标所在的整行(3yy表示复制3行) y^ 复制至行首,或y0。不含光标所在处字符 y$ 复制至行尾。含光所在处字符 yw 复制一个单词 y2w 复制两个单词 yG 复制至文本末 y1G 复制至文本开头 普通模式中使用p粘贴 普通模式中,p(小写)代表粘贴至光标后(下) 普通模式中,P(大写)代表粘贴至光标前(上) 剪切及粘贴

其实前面讲得dd删除命令就是剪切,你每次dd删除文档内容后,便可以使用p来粘贴,也这一点可以让我们实现一个很爽快的功能——交换上下行: ddp,就这么简单,即实现了快速交换光标所在行与它下面的行

三:查找替换

替换和Undo都是普通模式下的操作 命令 说明 r+<待替换字母> 将游标所在字母替换为指定字母 R 连续替换,直到按下Esc cc 替换整行,即删除游标所在行,并进入插入模式 cw 替换一个单词,即删除一个单词,并进入插入模式 C(大写) 替换游标以后至行末 ~ 反转游标所在字母大小写 u{n} 撤销一次或n次操作 U(大写) 撤销当前行的所有修改 Ctrl+r redo,即撤销undo的操作

二、快速缩进

  1. 使用命令进行快速调整缩进操作

这一小节学习如何在vim中进行快速缩进,缩进操作均在普通模式下有效 打开文件进行编辑 普通模式下输入15G,跳转到15行 普通模式下输入>> 整行将向右缩进(使用,用于格式化代码超爽) 普通模式下输入<< 整行向左回退 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 2. shiftwidth命令

shiftwidth命令是指上一节>>命令产生的缩进(可以简写成sw) 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 获取目前的设定值 :set shiftwidth? 设置缩进为10个字符 :set shiftwidth=10 输入ESC回到普通模式,再次尝试>>看缩进量是否变化 3. 调整文本位置

命令行模式下输入:ce(center)命令使本行内容居中 :ce 命令行模式下输入:ri(right)命令使本行文本靠右 :ri 命令行模式下输入:le(left)命令使本行内容靠左 :le

三、查找

普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以继续查找 n表示继续查找,N反向查找

  1. 快速查找练习

使用vim打开文件进行编辑

$ vim protocols

普通模式下输入/icmp查找字符串icmp

普通模式下输入n查找下一个icmp

普通模式下输入?tcp向上查找字符串tcp

普通模式下输入N查找上一个出现的tcp

  1. 高级查找

普通模式下输入*寻找游标所在处的单词

普通模式下输入#同上,但 * 是向前(上)找,#则是向后(下)找

普通模式下输入g*同* ,但部分符合该单词即可

普通模式下输入g#同# ,但部分符合该单词即可

以上查找n,N 的继续查找命令依然可以用

四:高级功能入门

  1. 使用vim编辑多个文件 编辑多个文件有两种形式,一种是在进入vim前使用的参数就是多个文件。另一种就是进入vim后再编辑其他的文件。 同时创建两个新文件并编辑 vim 1.txt 2.txt 默认进入1.txt文件的编辑界面 命令行模式下输入:n编辑2.txt文件,可以加!即:n!强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件 命令行模式下输入:N编辑1.txt文件,可以加!即:N!强制切换,之前文件内的输入没有保存,仅仅是切换到另一个文件
  2. 进入vim后打开新文件

命令行模式下输入:e 3.txt 打开新文件3.txt 命令行模式下输入:e# 回到前一个文件 命令行模式下输入:ls可以列出以前编辑过的文档 命令行模式下输入:b 2.txt(或者编号)可以直接进入文件2.txt编辑 命令行模式下输入:bd 2.txt(或者编号)可以删除以前编辑过的列表中的文件项目 命令行模式下输入:e! 4.txt,新打开文件4.txt,放弃正在编辑的文件 命令行模式下输入:f 显示正在编辑的文件名 命令行模式下输入:f new.txt,改变正在编辑的文件名字为new.txt

二、可视模式

在普通模式下输入v(小写),进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下v会后就会取消选取 在普通模式下输入Shift+v(小写),进入行选择模式,按下V之后就会把整行选取,您可以上下移动光标选更多的行,同样,再按一次Shift+v就可以取消选取 在普通模式下输入d删除选取区域内容 在普通模式下输入y复制选取区域内容 2. 可视模式命令练习

拷贝练习文件到当前目录 $ cp /etc/protocols . 打开练习文件 $ vim protocols 在普通模式下9G跳转到第9行,输入Shift+v(小写V),进入可视模式进行行选择,选中5行,按下>>缩进,将5行整体缩进一个shiftwidth 在普通模式下输入 Ctrl+v(小写v),进入可视模式进行矩形区域选择,选中第一列字符然后x删除整列

相关文章

  1. Linux iptables学习笔记

    最近工作需要跟firewall打交道,在这里写下自己的使用心得。 firewall主要的特性有: 1.支持区域设置 2.运行时跟持久化的配置是分离的 3.能够动态管理 iptables 不管是从

  2. Linux vim命令使用教程

    vim使用 参考链接 vim4种模式: 普通模式 插入模式 可视模式 命令行模式 进入vim,按下i或a进入插入模式 按ESC进入普通模式 在该模式下可以使用方向键 h向左 j向下 k向上

  3. 校准linux系统时间

    服务器的时间对于记录请求和数据库操作时间具有重要意义,对于一些如数据库备份的操作,时间尤为重要,需要避开白天业务繁忙时间进行。 修改时区 # cp /etc/localtime /etc/localt

  4. yum与rpm使用说明

    rpm 命令 rpm 命令是 RPM 软件包的管理工具。 语法 rpm (选项)(参数) 选项 -h:安装时列出标记;-i:安装时显示套件的相关信息;-v:安装时显示指令执行过程;-e:卸载已安

  5. service与chkconfig的替代者systemctl

    在安装 redis 时,看到将 redis 配置成 service 系统服务后,采用 service redisd start 命令启动;在安装 mariadb 时,看到利用 systemctl st

随机推荐

  1. Linux iptables学习笔记

    最近工作需要跟firewall打交道,在这里写下自己的使用心得。 firewall主要的特性有: 1.支持区域设置 2.运行时跟持久化的配置是分离的 3.能够动态管理 iptables 不管是从

  2. Linux vim命令使用教程

    vim使用 参考链接 vim4种模式: 普通模式 插入模式 可视模式 命令行模式 进入vim,按下i或a进入插入模式 按ESC进入普通模式 在该模式下可以使用方向键 h向左 j向下 k向上

  3. 校准linux系统时间

    服务器的时间对于记录请求和数据库操作时间具有重要意义,对于一些如数据库备份的操作,时间尤为重要,需要避开白天业务繁忙时间进行。 修改时区 # cp /etc/localtime /etc/localt

  4. yum与rpm使用说明

    rpm 命令 rpm 命令是 RPM 软件包的管理工具。 语法 rpm (选项)(参数) 选项 -h:安装时列出标记;-i:安装时显示套件的相关信息;-v:安装时显示指令执行过程;-e:卸载已安

  5. service与chkconfig的替代者systemctl

    在安装 redis 时,看到将 redis 配置成 service 系统服务后,采用 service redisd start 命令启动;在安装 mariadb 时,看到利用 systemctl st