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 退出
相关推荐
123过去1 小时前
trufflehog使用教程
linux·测试工具·安全
代码AC不AC1 小时前
【Linux】System V 通信方式
linux·消息队列·共享内存·信号量·system v
vortex51 小时前
vmware虚拟机设置启动时进入live cd
linux·网络安全
Lugas Luo1 小时前
Ascend 310B 定制 SDHCI 主机控制器源码深层次劫持与优化解析
linux·嵌入式硬件
钟智强1 小时前
Linux SSH密码爆破脚本,从原理到实践
linux·运维·ssh
逆向编程1 小时前
如何在Ubuntu虚拟机中使用Vim编辑器?
ubuntu·编辑器·vim
wangjialelele2 小时前
一文读懂 Redis 持久化与事务
linux·数据库·redis·bootstrap
golang学习记2 小时前
VSCode 官宣:全新默认主题!
ide·vscode·编辑器
Linux蓝魔2 小时前
麒麟官方yum源配置V10SP2-V10SP3-V10SP3-2403
大数据·linux·运维
helloliyh2 小时前
linux 删除指定日期目录(包括目录下文件)
linux·运维·服务器