常用vim命令行-linux008

Vim 是一款功能强大的文本编辑器,广泛应用于编程、配置文件编辑以及日常文本处理。Vim 在其命令行模式下提供了丰富的操作命令,这些命令能够大幅提升编辑效率。以下是 Vim 中常用的命令及操作的总结,覆盖了 Vim 中的基本操作、查找、替换、文件操作、窗口管理、宏操作等多个方面。

一、Vim 模式

Vim 的操作方式基于多种模式,最常见的包括:

  • 普通模式(Normal Mode):用于浏览、删除、复制和粘贴等操作。

  • 插入模式(Insert Mode):用于文本的输入。

  • 命令模式(Command-line Mode):用于输入执行命令,如保存、退出等。

  • 可视模式(Visual Mode):用于文本选择和操作。

二、基本操作命令

1. 启动和退出

  • 启动 Vim:vim filenamevi filename

  • 退出 Vim:

    • :q:退出当前文件(如果文件已保存)。

    • :q!:强制退出当前文件,不保存更改。

    • :wqZZ:保存并退出。

    • :x:保存并退出(类似 :wq)。

    • :w filename:保存文件为新名称。

2. 模式切换

  • 从普通模式切换到插入模式:i(当前光标位置),I(行首),a(光标后),A(行尾)。

  • 从插入模式切换到普通模式:Esc

  • 从普通模式切换到可视模式:v(字符选择),V(行选择),Ctrl+v(块选择)。

3. 移动光标

1. 按字符、单词、行和页面移动
  • 左、右、上、下移动:hjkl

  • 移动单词:w(跳到下一个单词的开头),b(跳到上一个单词的开头),e(跳到单词的结尾)。

  • 移动到行首或行尾:0(行首),$(行尾)。

  • 移动到特定行:<number>G(跳转到第 number 行),gg(跳到文件开头),G(跳到文件末尾)。

2. 页面操作
  • 向上/向下滚动页面:Ctrl+u(向上),Ctrl+d(向下)。

  • 跳转到屏幕顶部/底部:H(顶部),M(中部),L(底部)。

4. 文本插入和删除

  • 删除单个字符:x(删除光标处字符)。

  • 删除单词:dw(删除光标所在单词),daw(删除光标所在单词及前后的空格)。

  • 删除行:dd(删除当前行)。

  • 删除直到行尾:D(删除光标到行尾的内容)。

  • 删除到指定字符:d<char>(删除到指定字符 <char> 为止)。

  • 删除到指定位置:d<number>G(删除到指定行)。

5. 剪切、复制和粘贴

  • 剪切:d + 移动命令(例如 dwdd)。

  • 复制:y(复制) + 移动命令(例如 ywyy)。

  • 粘贴:p(光标后粘贴),P(光标前粘贴)。

6. 撤销与重做

  • 撤销:u(撤销上一个操作),Ctrl+r(重做)。

三、查找和替换

1. 查找

  • 查找字符串:/pattern(查找下一个匹配 pattern 的字符串),?pattern(向上查找)。

  • 查找下一个:n(查找下一个匹配的字符串)。

  • 查找上一个:N(查找上一个匹配的字符串)。

2. 替换

  • 替换当前行的第一个匹配项::s/old/new/

  • 替换当前行所有匹配项::s/old/new/g

  • 替换全文件范围::%s/old/new/g

  • 在替换时确认::%s/old/new/gcc 表示每次替换时询问确认)。

3. 高级查找和替换

  • 使用正则表达式:/pattern:s/old/new/g 支持基本的正则表达式,可以使用如 \d\w 等。

  • 查找并替换区间::'<,'>s/old/new/g(区间替换)。

四、文件操作

1. 打开和切换文件

  • 打开新文件::e filename

  • 保存文件::w

  • 保存并退出::wq

  • 切换到最近编辑的文件::e #

  • 切换文件标签::bnext(下一个文件),:bprev(上一个文件)。

2. 文件浏览

  • 查看文件信息::ls(列出缓冲区中的所有文件),:file(显示当前文件的路径和状态)。

  • 切换文件::b <buffer number>(切换到指定编号的缓冲区)。

五、窗口和标签页管理

1. 分屏显示

  • 垂直分屏::vsp filename(垂直分屏打开文件)。

  • 水平分屏::sp filename(水平分屏打开文件)。

  • 切换分屏:Ctrl+w + h(左侧分屏),Ctrl+w + j(下侧分屏),Ctrl+w + k(上侧分屏),Ctrl+w + l(右侧分屏)。

  • 关闭分屏::q(关闭当前分屏)。

2. 标签页管理

  • 新建标签页::tabnew

  • 切换标签页::tabnext(下一个标签页),:tabprev(上一个标签页)。

  • 关闭标签页::tabclose

六、宏操作

1. 录制宏

  • 开始录制宏:q<char>(开始录制到寄存器 char)。

  • 执行宏:@char(执行寄存器 char 中的宏命令)。

  • 以指定次数重复执行宏:<number>@char

2. 退出宏录制

  • 停止录制宏:q(停止录制并退出)。

七、文本操作和格式化

1. 缩进

  • 增加缩进:>>(增加当前行缩进),3>>(增加接下来的三行缩进)。

  • 减少缩进:<<(减少当前行缩进),3<<(减少接下来的三行缩进)。

2. 复制与移动

  • 复制到系统剪贴板:"+y(复制),"+p(粘贴)。

  • 剪切到系统剪贴板:"+d(剪切)。

  • 从剪贴板粘贴:"+p(粘贴内容)。

3. 自动缩进

  • 启用自动缩进::set autoindent:set smartindent:set tabstop=4(设置制表符宽度为4)。

  • 禁用自动缩进::set noautoindent

八、Vim 高级操作

1. 跳转和标记

  • 设置标记:m<char>(设置标记 char,例如 ma)。

  • 跳转到标记:'<char>(跳转到标记位置)。

2. 自定义快捷键

  • 映射快捷键::map(映射一个快捷键),nmap(普通模式映射),imap(插入模式映射)。

  • 示例::nmap <F5> :w<CR>(将 F5 键映射为保存文件)。

九、Vim 插件管理

1. 使用插件管理器

  • 使用 Vundle 安装插件:

    • 安装插件管理器:git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

    • 配置插件:在 .vimrc 文件中添加插件,例如:Plugin 'tpope/vim-fugitive'

    • 安装插件::PluginInstall

2. 使用其他插件管理器

  • vim-plugPlug 'junegunn/fzf.vim'

  • 安装插件:PlugInstall

总结

Vim 提供了非常丰富的命令和操作方式,掌握这些命令可以极大地提高编辑效率。对于日常的编辑任务,了解基本的移动、复制、粘贴、查找和替换命令是必不可少的;而对于高级用户,掌握窗口管理、宏录制以及插件管理等功能,将能更好地发挥 Vim 的强大功能。

当然也可传输到本地用typora或者其他txt工具

相关推荐
北冥有鱼被烹4 小时前
【微知】vscode如何开启markdown的review模式?
ide·vscode·编辑器
会飞的小菠菜7 小时前
如何根据Excel数据表生成多个合同、工作证、录取通知书等word文件?
word·excel·模板·数据表·生成文件
Access开发易登软件14 小时前
Access开发导出PDF的N种姿势,你get了吗?
后端·低代码·pdf·excel·vba·access·access开发
課代表14 小时前
VBA 中的 Excel 工作表函数
excel·vba·函数·对象·属性·range·静态变量
虫无涯17 小时前
【分享】基于百度脑图,并使用Vue二次开发的用例脑图编辑器组件
前端·vue.js·编辑器
程序员的世界你不懂17 小时前
【Flask】测试平台中,记一次在vue2中集成编辑器组件tinymce
编辑器
susu108301891118 小时前
如何选择文件夹然后用vscode直接打开
ide·vscode·编辑器
非得登录才能看吗?18 小时前
开发环境 之 编辑器、编译器、IDE梳理
ide·编辑器
UrbanJazzerati19 小时前
掌握 xlwings 的 used_range:高效处理 Excel 数据区域
python·面试·excel
m0_555762901 天前
Excel ——INDEX + MATCH 组合
excel