vim基本操作及常用命令

目录

[一、1. 普通模式(Normal Mode)](#一、1. 普通模式(Normal Mode))

[二、插入模式(Insert Mode)](#二、插入模式(Insert Mode))

[三、命令模式(Command Mode)](#三、命令模式(Command Mode))

四、模式切换

五、多文件编辑

六、多窗口编辑

七、配置文件


一、1. 普通模式(Normal Mode)

  • 进入方式 :启动Vim时默认进入普通模式,或者在其他模式下按Esc键返回。
  • 功能

    • 用于移动光标、删除文本、复制粘贴等操作。
    • 不能直接输入文本。
  • 常用命令

    • hjkl:分别向左、下、上、右移动光标。
    • dd:删除当前行。
    • yy:复制当前行。
    • p:粘贴剪贴板内容。
    • u:撤销操作。
    • Ctrl + r:重做操作。
    • :w:保存文件。
    • :q:退出Vim
    • :wq:保存并退出。
    • :q! 不保存强制退出

    二、插入模式(Insert Mode)

  • 进入方式 :在普通模式下按iao等键进入插入模式。

  • 功能

    • 用于输入和编辑文本。
    • 可以直接输入字符。
  • 常用命令

    • i:在当前光标位置进入插入模式。
    • a:在当前光标后进入插入模式。
    • o:在当前行下方插入新行并进入插入模式。
    • I:在当前行首进入插入模式。
    • A:在当前行尾进入插入模式。
    • O:在当前行上方插入新行并进入插入模式。

    三、命令模式(Command Mode)

  • 进入方式 :在普通模式下按:(冒号)进入命令模式。

  • 功能

    • 用于执行保存、退出、搜索、替换等高级操作。
  • 常用命令

    • :w:保存文件。
    • :q:退出Vim
    • :wq:保存并退出。
    • :q!:强制退出,不保存修改。
    • :set nu:显示行号。
    • :set nonu:隐藏行号。
    • :/keyword:搜索关键词。
    • :s/old/new:替换当前行的第一个匹配项。
    • :%s/old/new/gc:替换全文中的所有匹配项,含确认选项。

    g表示global, 一行内所有都会被替换, ccomfirm, 要去确认替换

    • 全字匹配, /\<word\> 常用

    • 全文格式化: gg=G

    四、模式切换

  • 普通模式 → 插入模式 :按iao等键。
  • 插入模式 → 普通模式 :按Esc键。
  • 普通模式 → 命令模式 :按:键。
  • 命令模式 → 普通模式 :按Esc键。

五、多文件编辑

**vim file1 file2 file3**打开

会显示第一个文件, 之后使用:n:N切换

:n 下一个文件,**:N**上一个文件

六、多窗口编辑

  1. 先用vim file1打开第一个文件,

  2. 再用**:sp file2** 或者:vs file2打开第二个文件

    1. :sp [filename] side panel纵向新窗口打开文件

    2. :vs [filename]横向新窗口打开文件

  3. 使用ctrl+w在多个窗口之间切换

  4. 使用ctrl+w+q关闭当前窗口

  5. 只有最后一个窗口关闭时才会询问保存问题

七、配置文件

linux的配置文件机制:

同一个软件有不同的配置文件 一般/etc里有一套全局配置, ~有一套用户配置

加载的时候. 先加载全局, 再加载用户配置, 越后加载的优先级越高

  • 在vim中输入底线命令::set number可以临时显示行号 简写set nu

  • ~/.vimrc中添加一行set number 可以永久显示行号

简单的.vimrc文件示例

cs 复制代码
" 显示行号
set number

" 启用鼠标支持
set mouse=a

" 设置补全菜单的最大高度
set pumheight=10

" 显示光标位置信息
set ruler

" 启用语法高亮
syntax on

" 设置缩进
set tabstop=4
set shiftwidth=4
set expandtab

" 启用自动缩进
set autoindent

" 搜索时忽略大小写
set ignorecase

" 搜索时高亮匹配项
set hlsearch

" 设置配色方案
colorscheme desert

" 定义快捷键
nnoremap <C-s> :w<CR>  " Ctrl+S 保存文件
nnoremap <C-q> :q<CR>  " Ctrl+Q 退出
相关推荐
dualven_in_csdn1 小时前
搞了两天的win7批处理脚本问题
java·linux·前端
晨曦backend2 小时前
Vim 匹配跳转与搜索命令完整学习笔记
linux·编辑器·vim
爬呀爬的水滴4 小时前
解决Ubuntu24.04版本,右键没有共享选项的问题
linux·服务器·ubuntu·samba·共享文件夹
IT coke4 小时前
centos7部署AWStats日志分析系统
linux·运维·centos
雾岛心情5 小时前
【黑客与安全】Linux的常用命令之系统架构信息获取系列命令
linux·运维·服务器
杯莫停丶5 小时前
Linux基础指令大全
linux·运维·chrome
flushddd6 小时前
GOOUUU ESP32-S3-CAM 果云科技开发板开发指南(一)(超详细!)Vscode+espidf 通过摄像头拍摄照片并存取到SD卡中,文末附源码
ide·vscode·编辑器·esp32
卫生纸不够用6 小时前
(三)Linux性能优化-CPU-CPU 使用率
linux·运维·服务器
程序猿小D7 小时前
第25节 Node.js 断言测试
后端·node.js·log4j·编辑器·vim·apache·restful
Clownseven7 小时前
Ubuntu 24.04 LTS 长期支持版发布:对服务器用户意味着什么?新特性、升级建议与性能影响初探
linux·服务器·ubuntu