常用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工具

相关推荐
莲动渔舟16 小时前
国产编辑器EverEdit - 扩展脚本:让EverEdit支持“批量查找”功能
编辑器·emeditor·notepad·everedit
Liudef0618 小时前
deepseek v3-0324实现SVG 编辑器
开发语言·javascript·编辑器·deepseek
CodeCraft Studio18 小时前
Excel处理控件Spire.XLS系列教程:C# 合并、或取消合并 Excel 单元格
前端·c#·excel
云心雨禅21 小时前
Vim操作指令全解析
编辑器·vim·excel
go_bai21 小时前
Linux环境基础开发工具——(2)vim
linux·开发语言·经验分享·笔记·vim·学习方法
suanday_sunny1 天前
VSCode运行,各类操作缓慢,如何清理
ide·vscode·编辑器
信计小白1 天前
vscode报Module containing this breakpoint has not yet loaded
ide·vscode·编辑器
Kusunoki_D1 天前
使用 VIM 编辑器对文件进行编辑
linux·编辑器·vim
向宇it1 天前
【零基础入门unity游戏开发——2D篇】2D 游戏场景地形编辑器——TileMap的使用介绍
开发语言·游戏·unity·c#·编辑器·游戏引擎
安分小尧1 天前
[特殊字符] 使用 Handsontable 构建一个支持 Excel 公式计算的动态表格
前端·javascript·react.js·typescript·excel