一、简介
可以直接在终端下采用纯键盘操作的一款文本编辑器,号称编辑器之神,可以二次升级、扩展。
二、基础用法
1.新建/打开:输入vim file.c,文件存在则打开,否则新建并打开
2.输入i:进入编辑模式,编写代码
3.保存退出:Esc键,输入大写的ZZ进入保存并退出
三、 Vim的三大模式
1.正常模式:(打开文件时的默认模式)
一般用于阅读文件,或者用于快捷键对文本快速修改
2.编辑模式:(插入模式)
一般用于输入内容、编辑文件
3.行底模式:
一般用于对vim的临时配置或执行高级操作 set nu出现行号
模式间切换:
正常模式 输入i -> 插入模式 按ESC -> 正常模式
正常模式 输入: -> 行底模式 按ESC -> 正常模式
四、正常模式下的常用操作:
光标移动:
| 命令 | 说明 | 命令 | 说明 |
| h | 左 | j | 下 |
| k | 上 | l | 右 |
| gg | 光标跳到第一行 | G | 光标跳到最后行 |
| n回车 | 光标向下跳n行 | n- | 光标向上跳n行 |
| nG | 光标跳到第n行 | vim filename +n | 从第n行进入文件 |
删除操作:
| 命令 | 说明 | 命令 | 说明 |
| x | 快速删一个 | nx | 删除n个字符 |
| dw | 删除一个连续字符串,删除空格 | de | 删除一个连续字符串,不删除空格 |
| dd | 删除整行 | ndd | 删除n行 |
| d^ | 从当前光标删除到行首 | d$ | 从当前光标删除到行尾 |
| dgg | 从光标处山到第一行 | dG | 从光标处删到最后一行 |
复制代码:
| 命令 | 说明 | 命令 | 说明 |
| yy | 复制一行代码 | nyy | 复制n行代码 |
| p | 粘贴到当前光标下方 | P | 粘贴到当前光标上方 |
|
特殊的 移动代码 |
删除内容还存储在粘贴板上,使用p可以粘贴出来从而达到移动效果 xp 交换两个字符 | ||
替换代码:
| 命令 | 说明 | 命令 | 说明 |
| r | 替换光标所在的一个字符 | cw | 替换一个连续字符串,进入编辑模式 |
| R | 进入替换模式(insert键切换替换和插入模式) |
撤销操作:
| 命令 | 说明 | 命令 | 说明 |
| u | 撤销上一次操作 | I | 光标跳转到行首 |
| Ctrl+r | 取消上次撤销操作 | a | 光标后面进入插入模式 |
| A | 光标跳到当前行尾 | o |
在当前行的下方插入一行空白行 进入插入模式 |
| O |
在当前行的上方插入一行空白行 进入插入模式 |
插入模式下的常用操作:
| 命令 | 说明命令说明 | ||
| Ctrl+p/n | 自动补全,变量名\函数名\宏 | ||
| Ctrl+i | 相当于TAB | ||
| Ctrl+j | 相当于回车 | ||
| Ctrl+c | 相当于ESC | ||
行底模式下操作:临时生效,长期生效需改vim配置文件(~/.vimrc)
| 命令 | 说明 | 命令 | 说明 |
| :w | 写入 | :x | 保存退出 |
| :q | 退出 修改不保存 | :X | 加密 |
| :q! | 强制退出 | :set key= |
删除密码取消密码 必须:wq才生效 |
| :wq | 保存退出 | :!cmd | 能够临时在vim中执行cmd系统命令 |
| :/key | 查找关键值key n下一个 N上一个 | :%s/old/new | 把old关键词替换为new |
| :set nu | 显示行号 | :set nonu | 取消显示 |
| :>n | n行代码向右缩进一次 | :<n | n行代码向左缩进一次 |
五、如何配置Vim
1.打开终端输入 vim ~/.vimrc
2.写完后返回正常模式,ZZ退出
3.下次打开vim生效
部分Vim配置
"设置行号
set number
"设置TAB键的宽度
set tabstop=4
"自动缩进
set autoindent
"设置自动缩进的宽度
set shiftwidth=4
"智能缩进
set smartindent
"设置不生成临时文件
set noswapfile
"设置不备份
set nobackup
"设置插入模式下快速返回正常模式
imap jj <ESC>
"定义保存并退出函数
func! SaveExit()
exec "wq"
endfunc
"映射ctrl+z键调用保存并退出函数
map <C-z> : call SaveExit()<CR>
imap <C-z> <ESC> : call SaveExit()<CR>
vmap <C-z> <ESC> : call SaveExit()<CR>
"定义自动保存并编译执行代码函数
fun! ComplieCode()
exec "w"
if &filetype == "c"
exec "!gcc % -lm -pthread && ./a.out"
elseif &filetype == "cpp"
exec "!g++ -std=c++0x % -lm -pthread && ./a.out"
endif
endfunc
"映射ctrl+x键调用便编译执行函数
map <C-x> : call ComplieCode()<CR>
imap <C-x> <ESC> : call ComplieCode()<CR>
vmap <C-x> <ESC> : call ComplieCode()<CR>
本文介绍了Vim这款强大的文本编辑器,包括其基础用法,如新建/打开文件、编辑模式的进入及保存退出。详细阐述了Vim的正常模式、编辑模式和行底模式,以及在这些模式下的常用操作,如光标移动、删除、复制、替换和撤销。此外,文章还提供了Vim的配置方法,教读者如何定制个人的.vimrc文件以优化编辑体验。
552

被折叠的 条评论
为什么被折叠?



