linux的开发工具vim

目录

vim是什么

vim的基本操作

vim正常模式的命令集

vim底行模式命令集


vim是什么

vim是一个高度可配置的文本编辑器,旨在实现高效的文本编辑,它有六种基本模式:普通模式、插入模式、可视模式、选择模式、命令行模式和替换模式。其中,普通模式、插入模式和命令行模式是最常用的。

在这里主要讲解普通模式、插入模式、命令行模式

  • 正常/普通/命令模式

所有按键都是命令,通过控制光标的移动,进行字符、字或行的删除,移动复制某区段及进入插入模式或进入底行模式

  • 插入模式

像普通文本编辑器一样输入文字,按【ESC】键可以回到普通模式,这一模式是我们后面使用最频繁的编辑模式。在命令模式下按i可进入插入模式

  • 命令行模式/底行模式/末行模式

在底部输出命令执行。在这一模式下进行文本的保存或退出,也可以进行文字替换,找字符串等操作。在命令模式下按"shift+;"可进入底行模式。

想要查看所有的模式可以在底行模式输入help vim-modes

vim的基本操作

  • 进入vim,在系统提示符后面输入vim+文件名称后,可进入vim全屏编辑画面(进入vim后,默认出入正常模式,只有进入插入模式才能输入文字)
  • 【正常模式】切换为【插入模式】:输入a/i/o
  • 【正常模式】切换为【底行模式】:shift+;
  • 【插入模式】或【底行模式】切换为【正常模式】:按esc
  • 退出vim及保存文件,这需要进入底行模式进行:'w'(保存当前文件);'wq'(保存并退出vim);'q!(不保存强制退出vim)

vim正常模式的命令集

  • 移动光标
  • vim可以通过键盘中↑↓←→控制光标的移动,但正规的操作则是用小写英文字母'h'、'j'、'k'、'l',分别控制光标左下上右移动
  • 'G(shift+g)':移动到文本的最后
  • 'gg':移动到文本的开始
  • '$(shift+4)':移动到光标所在行的行尾
  • '^(shift+6)':移动到光标所在行的行首
  • 'w':光标移动到下一个字的开头
  • 'e':光标移动到下一个字的字尾
  • 'b':光标移动到上一个字的开头
  • '#|(|是shift+\)':光标移动到当前行的第#个位置,其中#是一个数字
  • 'ctrl+b':屏幕往上移动一页
  • 'ctrl+f':屏幕往下移动一页
  • 'ctrl+u':屏幕往上移动半页
  • 'ctrl+d':屏幕往下移动半页
  • 删除
  • 'x':删除光标所在位置的一个字符
  • '#x':删除光标所在位置及后面的#个字符(包含'自己'在内)
  • 'X':删除光标所在位置的前面的一个字符
  • '#X':删除光标所在位置的前面的#个字符
  • 'dd':删除光标所在行
  • '#dd':从光标所在行开始删除#行
  • 复制
  • 'yw':将光标所在位置到字尾的字符复制到缓冲区
  • '#yw':复制#个字到缓冲区
  • 'yy':复制光标所在行到缓冲区
  • '#yy'复制从光标所在行开始向下数#行文字
  • 'p':将缓冲区内的字符粘贴到光标所在位置
  • 替换
  • 'r':替换光标所在位置的字符
  • 'R':替换光标所到之处的字符,直到按esc结束
  • 撤销上一次操作
  • 'u':可以回到上一个操作,可以多次执行
  • 'ctrl+r':撤销恢复
  • 更改
  • 'cw':更改光标所在之处的字,直到字尾
  • 'c#w':更改#个字
  • 调到指定行
  • 'ctrl+g':列出光标所在行的行号
  • '#G':移动光标至第#行

vim底行模式命令集

  • 列出行号
  • 'set nu':在文件中的每一行前面列出行号
  • 跳到文件中的某一行
  • '#':#表示一个数字,在底行模式下,在:后面输入一个数字后按回车即可跳转至该行
  • 查找字符
  • '/关键字':在底行模式下,先输入/,再输入想要搜索的字符,如果找到的不是你想要的可以按n向后找。/是向下查找
  • '?关键字':在底行模式下,先输入?,再输入想要搜索的字符,如果找到的不是你想要的可以按n向前找。?是向上查找
  • 保存文件
  • 'w':在:后面直接输入字母w即可保存文件
  • 退出vim
  • 'q':在:后面输入q就可以退出vim,如果无法退出,可以再q后面加一个!,强制退出vim。建议退出时搭配'w'使用
相关推荐
陈陈爱java5 小时前
Conda 常用命令行
linux·windows·conda
twdnote5 小时前
dokcer 环境中集成LibreOffice
linux
ChristXlx5 小时前
Linux安装redis(虚拟机适用)
linux·运维·redis
爱装代码的小瓶子5 小时前
【c++进阶】在c++11之前的编译器的努力
开发语言·c++·vscode·visualstudio·编辑器·vim
源文雨5 小时前
PVE实现USB硬盘盒在备份前自动上电/结束后自动断电脚本
linux·运维·服务器·备份·perl·pve·usb硬盘盒
ascarl20105 小时前
准确--CentOS 7 配置用户资源限制(nofile / nproc)
linux·运维·centos
云和数据.ChenGuang5 小时前
运维工程师技术教程之ELK日志监控
运维·服务器·elk·运维技术·数据库运维工程师
m0_738120725 小时前
渗透测试——靶机DC-4详细渗透教程
运维·网络·安全·web安全·php
秋深枫叶红5 小时前
嵌入式第三十六篇——linux系统编程——线程
linux·运维·服务器·学习