vim/vi编辑器使用
vi/vim工具是一个上古神器了,经久不衰,最nb编辑器
vi/vim的三种模式
- 命令行模式:就是我们进入vi/vim的时候就是命令行模式
- 插入模式:在文件文件的时候就是插入模式
- 替换模式
常用
移动操作
| 键盘 | 作用 |
|---|---|
| 数字在按方向键 | 比如我们向上4跳行就可以输入4在按向上的键 |
| w | 移动到单个单词的末尾 |
| b | 移动到单个单词的末前面 |
| gg | 文件最上方 |
| GG | 文件最下方 |
| Ctrl+u/Pgdp | 向上翻页 |
| Ctrl+d/Pgdn | 向下翻页 |
| f+要移动的地方 | 例如background-alt = #444 , 我按一下fa他就是移动到a,background-alt = #444 |
| $ | 到当前行的末尾 |
| 0 | 到当前行的前面 |
删除、恢复字符或行
| 键盘 | 意思 |
|---|---|
| x和del是一样的 | 删除当前光标所在处的字符 |
| nx | 删除从光标开始的n个字符 |
| u | 撤销上一步操作 |
| U | 撤销对当前行的所有操作 |
插入模式
| 键盘 | 意思 |
|---|---|
| i | 是在光标所在的字符之前插入 |
| I | 是在光标所在行的行首插入 |
| a | 是在光标所在的字符之后插入 |
| A | 是在光标所在行的行尾插入 |
| o | 是光标所在行的下一行行首插入 |
| O | 是光标所在行的上一行行首插入 |
| s | 删除光标所在处的字符然后插入 |
| S | 删除光标所在行,在当前行的行首开始插入 |
查询
/下搜索、n下N上?上搜索,n下N上
替换
1 | :s/old/new //用new替换行中首次出现的old |
复制/剪切/粘贴
| 键盘 | 作用 |
|---|---|
| y | 复制 |
| p | 粘贴 |
| d | 剪切 |
复制
| 键盘 | 作用 |
|---|---|
| yy | 复制一行 |
| yaw | 复制一个单词 |
| y数字方向键 | 例如y3方向键上,复制上三行 |
| yG | 从当前行复制到文件结束 |
| yw | 复制当前单词 |
| Y | 等同于yy |
| 2yy | 复制两行 |
| ggyG | 全部复制,gg是最上面,yG是从当前行复制到文件结束 |
剪切
| 键盘 | 作用 |
|---|---|
| dd | 剪切一行 |
| daw | 剪切一个单词 |
| d数字方向键, | 例如d3方向键上,剪切上三行 |
| dG | 从当前行剪切到文件结束 |
| yw | 剪切当前单词 |
| D | 等同于dd |
| 2dd | 剪切两行 |
| ggdG | 全部剪切,gg是最上面,dG是从当前行剪切到文件结束 |
vim复制到系统剪切板
检查是否支持
1 | vim --version | grep "clipboard" |
查看支持clipboard
-是不支持

不支持
可以让他支,需要安装一些插件来解决
1 | sudo apt-get install vim vim-scripts vim-gtk |

vim复制到系统剪贴板
"+y复制到系统剪切板中"*y
"*和"+有什么差别呢?
"* 是在系统剪切板中表示选择的内容"+ 是在系统剪切板中表示选择后Ctrl+c复制的内容
vim剪切到系统剪贴板
"+dd– 剪切一行
从系统剪贴板粘贴到vim
"+p"*p
设置vim默认使用系统剪贴板
1 | vim .vim/vimrc |
添加下面这个
1 | set clipboard^=unnamed,unnamedplus |
配置
用户配置文件vim ~/.vim/vimrc
系统配置文件vim /etc/vim/vimrc
| 配置 | 作用 |
|---|---|
| set number | 显示行号,默认显示绝对行号 |
| set relativenumber | 开启相对行号 |
| set cursorline | 开启光亮光标行 |
| syntax on | 代码高亮 |
| set wrap | 代码换行,比如一个代码很长他会往下显示 |
| set wildmenu | 命令补全 |
| set hlsearch | 搜索高亮,用的是/搜索 |
代码高亮设置前后
设置前

设置后

选择主题
vim默认也有很多主题
在命令行下输入
1 | colorscheme 按一下tab键查看主题 # 注意有添加 set wildmenu 命令补全 |

安装插件
安装插件管理器
这个我用的是vim-plug
项目地址https://github.com/junegunn/vim-plug
安装
1 | curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ |
用法
配置文件里面添加vim ~/.vim/vimrc
1 | call plug#begin('~/.vim/plugged') |
插件名

安装常用的插件
插件搜索推荐网站https://vimawesome.com/
vim-airline插件

配置文件vim ~/.vim/vimrc
1 | call plug#begin('~/.vim/plugged') |

在进入命令行模式输入

1 | PlugInstall |

按完毕

vim-startify插件
打开vim最近打开的文件

配置文件vim ~/.vim/vimrc
1 | call plug#begin('~/.vim/plugged') |
安装
在进入命令行模式输入

1 | PlugInstall |
vim-snazzy主题插件
项目地址https://github.com/connorholyday/vim-snazzy
配置文件vim ~/.vim/vimrc
1 | call plug#begin('~/.vim/plugged') |
安装

自启动主题
在配置文件里面添加vim ~/.vim/vimrc
1 | colorscheme snazzy |

cursorword单词增加下划线
项目地址https://github.com/itchyny/vim-cursorword

配置文件vim ~/.vim/vimrc
安装
1 | call plug#begin('~/.vim/plugged') |
安装好后他默认是自动启动的
vim-nerdtree文件管理器
项目地址https://github.com/preservim/nerdtree

配置文件vim ~/.vim/vimrc
安装
1 | call plug#begin('~/.vim/plugged') |
nerdcommenter代码注释
项目地址(https://github.com/preservim/nerdcommenter)[https://github.com/preservim/nerdcommenter]
配置文件vim ~/.vim/vimrc
安装
1 | call plug#begin('~/.vim/plugged') |
默认自动启动的
- \cc :注释一行
- 3\cc:注释下面三行
- \cu:取消注释一行
- 3\cu:注释注释下面三行
下面演示
markdown-preview预览插件
项目地址https://github.com/iamcco/markdown-preview.nvim
配置文件vim ~/.vim/vimrc
安装
1 | call plug#begin('~/.vim/plugged') |
下载插件
1 | :PluginInstall |
使用
1 | :MarkdownPreview #启动预览 |
coc.nvim插件
这个插件里面多插件
安装
1 | call plug#begin('~/.vim/plugged') |
安装搜索插件的插件


