文章目录
前言
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、
一、vim的基本概念
vim是一种多模式的纯粹的编辑器,命令模式是vim的精华所在,熟练运用命令会大幅度提高编辑速度。
vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
- 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
- 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
- 末行模式(last line mode) 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes
二、vim模式命令解析
1. 命令模式
vim 默认打开就是命令模式,任何模式按Esc都会退回到命令模式,命令模式也可以到其他模式。
1)命令模式到其他模式的转换:
(1)其余模式——>命令模式 :Eax
(2)命令模式——>插入模式 :a(光标到下一个位置),i(光标到当前位置),o(光标到下一行)
(3)命令模式——>替换模式 : Shift + r = R
(4)命令模式——>视图模式 : Ctrl + v
2)光标定位:
(1)gg 光标定位到开头,n + gg 光标定位到指定行开头
(2)Shift + G 光标定位到结尾行,Shift + G 光标定位到指定行开头
(3)Shift + ^ 光标定位到行首
(4)Shift + $ 光标定位到行尾
(5)h,j,k,l(左,下,上,右),也可以用↑↓←→
(6)w : 光标以单词为单位向前移动,n + w :移动 n 个
(7)b : 光标以单词为单位向后移动,n + b :移动 n 个
3)其他命令:
(1)yy : 复制当前行,n + yy : 复制 n 行
(2)p : 粘贴到下一行,n + p : 粘贴 n 次
(3)dd : 剪切当前行,n + dd :剪切n行
(4)x : 删除当前位置,n + x : 删除 n 个
(5)Shift + ~ : 快速大小写转化
(6)r : 小范围文本替换,n + r : 替换 n 个
(7)u : 撤销
(8)Ctrl + r : 撤销撤销
(9)Shift + zz : 保存并退出vim
2. 插入模式
a/i/o进入:
就是正常的编译,即可。
3. 底行模式
:进入
(1)w : 保存
(2)q : 退出
(3)! : 强制
(4)wq 保存并退出,wq! 强制保存并退出了
(5)set nu : 调出行号
(6)set nonu : 取消行号
(7)/XXX : 查找XXX, n : 到下一个匹配项
(8)!command : 在底行模式下查看外部 shell 命令
(9)!命令 : 在底行模式下执行外部命令
(10)vs other
(11)!命令 : 在底行模式下执行外部命令
(12)vs other : 分屏打开其他
(13)Ctrl + ww :光标在分屏中切换
(14)%s/XXX/XXX/g :所有后者替换为前者
4. 替换模式
Shift + r = R 进入:
进入替换模式输入就会替换光标的东西。
5. 视图模式
Ctrl + v 进入:
批量化删除 :
Ctrl -> v -> 选择(hjkl或wb或gg或G) -> d
批量化插入 :
Ctrl -> v -> 选择(hjkl或wb或gg或G) -> Shift + i = I ->插入内容->Esc
6. 外部命令
vim XXX打开
vim vim XXX +n打开光标定位到第n行
!命令,快速调出上次命令
三、vim环境的配置
1. 环境配置语法
首先进入自己的家目录,创建一个文件
.vimrc
,vim打开这个文件,然后利用问文心一言或者chatgpt来生成配置,我们直接复制上去保存退出就行。
下面是我用chatgpt生成的结果:
以下是一个适用于 CentOS 的
vim
配置示例,可用于优化编码体验,将其内容保存为
~/.vimrc
文件即可生效:
" 基础设置
set number " 显示行号
set relativenumber " 显示相对行号
set cursorline " 高亮当前行
set tabstop=4 " Tab 键宽度设为 4 个空格
set shiftwidth=4 " 缩进宽度为 4 个空格
set expandtab " 用空格替代 Tab 键
set autoindent " 自动缩进
set smartindent " 智能缩进
set wrap " 自动换行
set showmatch " 高亮匹配的括号
set ignorecase " 搜索忽略大小写
set smartcase " 智能大小写匹配
set incsearch " 增量搜索
set hlsearch " 高亮搜索结果
" 界面优化
syntax on " 启用语法高亮
set background=dark " 适合深色背景
set showcmd " 显示命令输入
set wildmenu " 自动补全菜单
set laststatus=2 " 总是显示状态栏
set ruler " 显示光标位置
set scrolloff=8 " 光标上方和下方留出 8 行
set cmdheight=2 " 命令行高度设为 2
" 备份和撤销
set backup " 启用备份文件
set undofile " 启用撤销文件
set undodir=~/.vim/undo " 撤销文件保存路径
set backupdir=~/.vim/backup " 备份文件保存路径
" 可视化配置
set visualbell " 用视觉提示代替蜂鸣
set t_Co=256 " 启用 256 色支持
" 键位映射
nnoremap <C-s> :w<CR> " Ctrl+S 快捷键保存文件
inoremap <C-c> <Esc> " 使用 Ctrl+C 进入普通模式
nnoremap <C-j> :cnext<CR> " 快速跳转到下一个错误
nnoremap <C-k> :cprev<CR> " 快速跳转到上一个错误
" 插件管理(需要 vim-plug)
" if filereadable(expand("~/.vim/autoload/plug.vim"))
" call plug#begin('~/.vim/plugged')
" Plug 'scrooloose/nerdtree' " 文件浏览插件
" Plug 'junegunn/fzf', { 'do': './install --bin' } " 模糊搜索插件
" call plug#end()
" endif
2. vim完善的环境配置包
还有一种方法,可以用配置好的包:
首先保证在当前自己家目录下,
然后输入:
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
然后输入这个执行:
source ~/.bashrc
最后,这里缩进是两格,要改缩进就打开.vimrm,搜索2,全部改为4就可以了。
四、sudo添加信任用户
一定要用root账号,vim /ect/sudoers。
来到这里:
root后面行,加入想要被信任的用户,和上面一样就行。
总结
到这里,vim的内容就结束啦,熟练运用命令可以明显提高编辑速度~~~
如果感到有帮助的话,求求各位三连支持一波🥳🥳🥳
版权归原作者 小柯J桑_ 所有, 如有侵权,请联系我们删除。