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 退出
相关推荐
休息一下接着来24 分钟前
C++ I/O多路复用
linux·开发语言·c++
舰长11531 分钟前
ubuntu 安装mq
linux·运维·ubuntu
liuyunluoxiao1 小时前
进程间通信--信号量【Linux操作系统】
linux
传知摩尔狮1 小时前
Linux 中断源码性能分析实战:从内核深处榨取每一丝性能
linux·运维·服务器
繁依Fanyi1 小时前
ColorAid —— 一个面向设计师的色盲模拟工具开发记
开发语言·前端·vue.js·编辑器·codebuddy首席试玩官
矿工学编程2 小时前
在宝塔中使用.NET环境管理部署 .NET Core项目
linux·.net
Roc-xb2 小时前
解决Ubuntu22.04 安装vmware tools之后,不能实现文件复制粘贴和拖拽问题
linux·ubuntu22.04·vmvare
JANYI20182 小时前
一文读懂-嵌入式Ubuntu平台
linux·运维·ubuntu
君鼎2 小时前
muduo库TcpServer模块详解
linux·网络·c++
卡戎-caryon3 小时前
【MySQL】02.数据库基础
linux·网络·数据库·mysql·存储引擎