目录
[一、1. 普通模式(Normal Mode)](#一、1. 普通模式(Normal Mode))
[二、插入模式(Insert Mode)](#二、插入模式(Insert Mode))
[三、命令模式(Command Mode)](#三、命令模式(Command Mode))
一、1. 普通模式(Normal Mode)
- 进入方式 :启动
Vim时默认进入普通模式,或者在其他模式下按Esc键返回。
-
功能 :
- 用于移动光标、删除文本、复制粘贴等操作。
- 不能直接输入文本。
-
常用命令 :
h、j、k、l:分别向左、下、上、右移动光标。dd:删除当前行。yy:复制当前行。p:粘贴剪贴板内容。u:撤销操作。Ctrl + r:重做操作。:w:保存文件。:q:退出Vim。:wq:保存并退出。- :q! 不保存强制退出
二、插入模式(Insert Mode)
-
进入方式 :在普通模式下按
i、a、o等键进入插入模式。 -
功能 :
- 用于输入和编辑文本。
- 可以直接输入字符。
-
常用命令 :
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
四、模式切换
- 普通模式 → 插入模式 :按
i、a、o等键。- 插入模式 → 普通模式 :按
Esc键。- 普通模式 → 命令模式 :按
:键。- 命令模式 → 普通模式 :按
Esc键。
五、多文件编辑
**
vim file1 file2 file3**打开会显示第一个文件, 之后使用
:n和:N切换
:n下一个文件,**:N**上一个文件
六、多窗口编辑
先用
vim file1打开第一个文件,再用**:sp file2**
或者:vs file2打开第二个文件
:sp [filename]side panel纵向新窗口打开文件
:vs [filename]横向新窗口打开文件使用
ctrl+w在多个窗口之间切换使用
ctrl+w+q关闭当前窗口只有最后一个窗口关闭时才会询问保存问题
七、配置文件
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 退出