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 退出
相关推荐
花嫁代二娃11 分钟前
Linux:环境变量
linux
前端小超人rui4 小时前
UEditor 对接 秀米 手机编辑器流程与问题
编辑器
l1x1n05 小时前
Vim 编辑器常用操作详解(新手快速上手指南)
linux·编辑器·vim
ajassi20007 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
o不ok!7 小时前
Linux面试问题-软件测试
linux·运维·服务器
DaxiaLeeSuper7 小时前
Prometheus+Grafana+node_exporter监控linux服务器资源的方案
linux·grafana·prometheus
尽兴-8 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos
kfepiza8 小时前
Netplan 中 bridges、bonds、ethernets、vlans 之间的关系 笔记250711
linux·tcp/ip·shell
小小不董9 小时前
深入理解oracle ADG和RAC
linux·服务器·数据库·oracle·dba
杰夫贾维斯10 小时前
CentOS Linux 8 的系统部署 Qwen2.5-7B -Instruct-AWQ
linux·运维·人工智能·机器学习·centos